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çoisOpenSSL 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.
Réponses:
Vous manquez probablement le
libssl-dev
paquet.Mais pourquoi ne pas vous épargner tous les ennuis et simplement utiliser un PPA pour nginx ?
la source
apt-get
? J'ai pensé que la meilleure façon de m'assurer d'obtenir toujours la dernière version du logiciel était de la compiler à partir de la source du site Web.libssl-dev
fonctionné. :)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 ...
la source
--with-openssl=
drapeau est de pointer vers les fichiers source . Si vous souhaitez établir un lien avec un OpenSSL / système déjà compilé que nginx ne./configure
peut pas trouver, consultez ce message sur le forum :--with-cc-opt="-I /usr/local/include" --with-ld-opt="-L/usr/local/lib64 -ldl -Wl,-rpath,/usr/local/lib64"
(YMMV).Si vous voulez vérifier que libssl est installé au bon endroit, vous pouvez taper
which openssl
puisldd /path/to/openssl
.la source
Même lorsque 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
la source
--with-openssl=
pointe-t-elle sur un dépôt github OpenSL cloné? Vous pourriez envisager de modifier votre réponse pour refléter cela, car cela pourrait être source de confusion pour les personnes sans compréhension suffisante.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.
Ensuite, indiquez le chemin du chemin source pcre.
Dans mon cas,
Je vous remercie.
la source