web-dev-qa-db-fra.com

Impossible de compiler nginx avec le support SSL, OpenSSL introuvable

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.

19
James Linton

Vous manquez probablement le libssl-dev paquet.

Mais pourquoi ne pas vous épargner tous les ennuis et utiliser simplement un PPA pour nginx ?

29
Michael Hampton

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 ...

1
skidadon

Si vous souhaitez vérifier que libssl est installé au bon endroit, vous pouvez taper which openssl et alors ldd /path/to/openssl.

0
user130370

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

0
Pnemonic

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.

  1. Installer pcre avec

./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.

0
learner