Estoy tratando de compilar nginx desde la fuente con el módulo SSL habilitado. Cuando ejecuto este comando:
./configure --with-http_ssl_module
realiza sus comprobaciones habituales para ver si todo está instalado correctamente, y luego aparece esto:
comprobando la biblioteca OpenSSL ... no encontrado
./configure: error: los módulos SSL requieren la biblioteca OpenSSL. No puede habilitar los módulos, o instalar la biblioteca OpenSSL en el sistema, o construir la biblioteca OpenSSL estáticamente desde el origen con nginx usando la opción --with-openssl =.
Sé a ciencia cierta que OpenSSL está instalado, porque cuando lo hago openssl version
me saleOpenSSL 1.0.1 14 Mar 2012
Así que estoy bastante perplejo. Pensé que tal vez OpenSSL no está instalado en su ubicación predeterminada, por lo que nginx no puede encontrarlo, pero no tengo idea de dónde está, ya que viene preinstalado con el servidor. ¿Cómo puedo saber dónde está esto?
El servidor ejecuta Ubuntu 12.04 LTS.
Gracias.
Respuestas:
Lo más probable es que te falte el
libssl-dev
paquete.Pero, ¿por qué no ahorrarse todos los problemas y simplemente usar un PPA para nginx ?
fuente
apt-get
? Pensé que la mejor manera de asegurarme de que siempre obtenía la última versión del software era compilarlo desde la fuente del sitio web.libssl-dev
funcionó. :)Usé lo siguiente para obtener openssl para nginx:
https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/
Todos los demás intentos no funcionaron o fueron torpes.
Espero que esto ayude a otro ...
fuente
--with-openssl=
bandera es señalar los archivos de origen . Si desea vincular contra un OpenSSL ya compilado / sistema que nginx./configure
no puede encontrar, vea esta publicación del foro :--with-cc-opt="-I /usr/local/include" --with-ld-opt="-L/usr/local/lib64 -ldl -Wl,-rpath,/usr/local/lib64"
(YMMV).En caso de que desee verificar que libssl esté instalado en el lugar correcto, puede escribir
which openssl
y luegoldd /path/to/openssl
.fuente
Incluso cuando OpenSSL ya está instalado (
brew install openssl
), configurarlo sugiere una solución alternativa, que funcionó para mí:./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
--with-openssl=~/GitHub/openssl/openssl
fuente
--with-openssl=
apunta a un repositorio clonado de openssl github? Puede considerar editar su respuesta para reflejar esto, ya que podría ser confuso para las personas sin una comprensión suficiente.Si alguien aún tiene problemas compilando nginx desde la fuente con el error relacionado con pcre, compile con el atributo "--with-pcre". Y para proporcionar la ruta pcre, no proporcione la ruta instalada. Proporcionar ruta de software pcre.
Luego, proporcione la ruta de la fuente de pcre.
En mi caso,
Gracias.
fuente