J'essaie de compiler nginx à partir de la source avec le module SSL activé. Lorsque j'exécute cette commande:
./configure --with-http_ssl_module
il fait ses vérifications habituelles pour voir si tout est installé correctement, puis cela apparaît:
vérification de la bibliothèque OpenSSL ... introuvable
./configure: erreur: les modules SSL nécessitent la bibliothèque OpenSSL. Vous pouvez soit ne pas activer les modules, soit installer la bibliothèque OpenSSL dans le système, soit créer la bibliothèque OpenSSL de manière statique à partir de la source avec nginx en utilisant l'option --with-openssl =.
Je sais pertinemment qu'OpenSSL est installé, car quand je le fais openssl version
Je reçois OpenSSL 1.0.1 14 Mar 2012
Je suis donc assez perplexe. Je pensais que peut-être OpenSSL n'était pas installé à son emplacement par défaut, c'est pourquoi nginx ne peut pas le trouver, mais je n'ai aucune idée de l'endroit où il se trouve car il est pré-installé avec le serveur. Comment puis-je savoir où cela se trouve?
Le serveur exécute Ubuntu 12.04 LTS.
Merci.
Vous manquez probablement le libssl-dev
paquet.
Mais pourquoi ne pas vous épargner tous les ennuis et utiliser simplement un PPA pour nginx ?
J'ai utilisé ce qui suit pour obtenir openssl pour nginx:
https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/
Toutes les autres tentatives n'ont pas fonctionné ou ont été maladroites.
J'espère que cela aide un autre ...
Si vous souhaitez vérifier que libssl est installé au bon endroit, vous pouvez taper which openssl
et alors ldd /path/to/openssl
.
Même si OpenSSL est déjà installé (brew install openssl
), la configuration elle-même suggère une solution de contournement, qui a fonctionné pour moi:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
--with-openssl=~/GitHub/openssl/openssl
Si quelqu'un est toujours confronté à un problème de compilation de nginx à partir de la source avec l'erreur liée à pcre, compilez avec l'attribut "--with-pcre". Et pour fournir un chemin d'accès pcre, ne fournissez pas de chemin installé. Fournissez le chemin du logiciel pcre.
./configure
make
Sudo make install
Ensuite, indiquez le chemin du chemin source pcre.
./configure --prefix=/path/to/nginxToBeInstalled/mayBeInOpt/nginx-1.16.0/ --with-openssl=/path/to/installed/openssl-1.1.1b/ --with-pcre=/path/to/your/downloaded/extracted/pcre-8.42
Dans mon cas,
./configure --prefix=/opt/nginx-1.16.0/ --with-openssl=/opt/openssl-1.1.1b/ --with-pcre=/media/username/personal/Software/pcre-8.42
Je vous remercie.