como atualizar o openssl para o apache 2.2.29 - ainda usando a antiga versão 0.9.8

1

Estou executando um servidor 10.04LTE onde quero atualizar o openssl para o apache.

Portanto baixei o openssl 1.0.2c e o apache 2.2.29 e compilei os dois. O servidor está iniciando, mas está usando a versão ssl antiga:

curl --head http://localhost
HTTP/1.1 200 OK
Date: Mon, 22 Jun 2015 06:00:06 GMT
Server: Apache/2.2.29 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8k
Last-Modified: Sun, 18 Mar 2012 19:56:07 GMT

No entanto, o Openssl está instalado em uma nova versão:

/usr/local/ssl/bin/openssl version
OpenSSL 1.0.2c 12 Jun 2015

Enquanto a versão original permanece no lugar:

openssl version
OpenSSL 0.9.8k 25 Mar 2009

Eu compilei o apache com:

./configure --with-included-apr --prefix=/usr/local/apache2 --enable-so     
--enable-rewrite --with-ssl=/usr/local/ssl --enable-ssl=shared
--enable-deflate --enable-expires --enable-headers 

O Apache não começou antes de eu incluir:

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

De acordo com o site mod ssl, isso só está disponível para o apache 1.x

Não tenho certeza do que está errado aqui. Obrigado por qualquer ajuda!

    
por merlin 23.06.2015 / 21:10

1 resposta

1

O problema é que a instalação do Apache não consegue vincular as bibliotecas compartilhadas da sua nova instalação do OpenSSL. Execute o comando ldd /usr/local/apache/modules/mod_ssl.so (com o caminho apropriado para o seu mod_ssl.so). Você verá que o mod_ssl.so não está vinculado às bibliotecas em /usr/local/ssl/lib

Você tem algumas opções para corrigir o problema:

Opção nº 1 - Link nas bibliotecas:

Abra /etc/ld.so.conf.d/local.conf para editar e adicione a seguinte linha: /usr/local/openssl/lib

Re-compile o Apache (lembre-se de make clean ) e ele deve funcionar.

Se isso não funcionar. Você também pode tentar especificar LDFLAGS diretamente com seu comando configure :

LDFLAGS=-L/usr/local/ssl/lib \ ./configure --with-included-apr --prefix=/usr/local/apache2 --enable-so     
--enable-rewrite --with-ssl=/usr/local/ssl --enable-ssl=shared
--enable-deflate --enable-expires --enable-headers

Opção nº 2 - Atualizar o sistema OpenSSL:

Reinstale o OpenSSL com a linha de configuração ./config --prefix=/usr --openssldir=/usr/local/openssl shared

Quando o prefixo não estiver especificado na sua linha de configuração, o instalador do OpenSSL será padronizado como /usr/local/ssl .

Instruções de instalação rápida:

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
tar -zxf openssl-1.0.2*
cd openssl-1.0.2*
./config --prefix=/usr --openssldir=/usr/local/openssl shared
make
make test
make install
    
por 23.06.2015 / 21:29