Estou tentando compilar nginx da fonte com o módulo SSL ativado. Quando executo este comando:
./configure --with-http_ssl_module
ele faz suas verificações habituais para ver se tudo está instalado corretamente e, em seguida, é exibido:
verificando a biblioteca OpenSSL ... não encontrada
./configure: error: os módulos SSL requerem a biblioteca OpenSSL. Você pode não ativar os módulos, instalar a biblioteca OpenSSL no sistema ou criar a biblioteca OpenSSL estaticamente a partir da fonte com nginx, usando a opção --with-openssl =.
Eu sei que o OpenSSL está instalado, porque quando openssl version
eu receboOpenSSL 1.0.1 14 Mar 2012
Então, eu estou bem perplexo. Eu pensei que talvez o OpenSSL não esteja instalado em seu local padrão, e é por isso que o nginx não consegue encontrá-lo, mas não tenho idéia de onde está, pois ele veio pré-instalado com o servidor. Como posso descobrir onde é isso?
O servidor está executando o Ubuntu 12.04 LTS.
Obrigado.
Respostas:
Provavelmente você está perdendo o
libssl-dev
pacote.Mas por que não salvar todos os problemas e usar apenas um PPA para nginx ?
fonte
apt-get
? Eu pensei que a melhor maneira de garantir que eu estava sempre recebendo a versão mais recente do software era compilá-lo da fonte do site.libssl-dev
funcionou. :)Usei o seguinte para obter o openssl para o nginx:
https://ethitter.com/2016/06/nginx-openssl-1-0-2-http-2-alpn/
Todas as outras tentativas não funcionaram ou foram desajeitadas.
Espero que isso ajude outro ...
fonte
--with-openssl=
bandeira é apontar para os arquivos de origem . Se você deseja vincular um OpenSSL já compilado / de sistema que o nginx./configure
não consegue encontrar, consulte esta postagem no fórum :--with-cc-opt="-I /usr/local/include" --with-ld-opt="-L/usr/local/lib64 -ldl -Wl,-rpath,/usr/local/lib64"
(YMMV).Caso você queira verificar se o libssl está instalado no lugar certo, digite
which openssl
e depoisldd /path/to/openssl
.fonte
Mesmo quando o OpenSSL já está instalado (
brew install openssl
), o próprio configure sugere uma solução alternativa, que funcionou para mim:./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
--with-openssl=~/GitHub/openssl/openssl
fonte
--with-openssl=
apontando para um repositório clonado do openssl github? Você pode editar sua resposta para refletir isso, pois pode ser confuso para pessoas sem entendimento suficiente.Se alguém ainda estiver enfrentando um problema ao compilar o nginx da fonte com o erro relacionado ao pcre, compile com o atributo "--with-pcre". E para fornecer o caminho do pcre, não forneça o caminho instalado. Forneça o caminho do software pcre.
Em seguida, forneça o caminho do caminho de origem pcre.
No meu caso,
Obrigado.
fonte