Назад | Перейти на главную страницу

Не могу скомпилировать nginx с поддержкой SSL, OpenSSL не найден

Я пытаюсь скомпилировать nginx из исходников с включенным модулем SSL. Когда я запускаю эту команду:

./configure --with-http_ssl_module

он выполняет свои обычные проверки, чтобы убедиться, что все установлено правильно, а затем появляется следующее:

проверка библиотеки OpenSSL ... не найден

./configure: error: для модулей SSL требуется библиотека OpenSSL. Вы можете либо не включать модули, либо установить библиотеку OpenSSL в систему, либо построить библиотеку OpenSSL статически из исходного кода с помощью nginx, используя параметр --with-openssl =.

Я точно знаю, что OpenSSL установлен, потому что когда я openssl version я получил OpenSSL 1.0.1 14 Mar 2012

Так что я очень озадачен. Я подумал, может быть, OpenSSL не установлен в месте по умолчанию, поэтому nginx не может его найти, но я понятия не имею, где это, поскольку он был предустановлен с сервером. Как я могу узнать, где это?

На сервере работает Ubuntu 12.04 LTS.

Спасибо.

Скорее всего, вам не хватает libssl-dev пакет.

Но почему бы не избавить себя от всех проблем и просто использовать PPA для nginx?

Я использовал следующее, чтобы получить openssl для nginx:

https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/

Все остальные попытки либо не увенчались успехом, либо были слишком неуклюжими.

Надеюсь, это поможет другому ...

Если вы хотите проверить, что libssl установлен в нужном месте, вы можете ввести which openssl а потом ldd /path/to/openssl.

Даже если OpenSSL уже установлен (brew install openssl), сам configure предлагает обходной путь, который у меня сработал:

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master--with-openssl=~/GitHub/openssl/openssl

Если кто-то все еще сталкивается с проблемой компиляции nginx из исходного кода с ошибкой, связанной с pcre, выполните компиляцию с атрибутом "--with-pcre". И для предоставления пути pcre не указывайте установленный путь. Укажите путь к программному обеспечению pcre.

  1. Установите pcre с помощью

./configure

делать

sudo make install

Затем укажите путь к исходному пути 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

В моем случае,

./configure --prefix=/opt/nginx-1.16.0/ --with-openssl=/opt/openssl-1.1.1b/ --with-pcre=/media/username/personal/Software/pcre-8.42

Спасибо.