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

как обновить openssl для apache 2.2.29 - все еще использую старую версию 0.9.8

Я использую сервер 10.04LTE, на котором я хочу обновить openssl для apache.

Поэтому я скачал openssl 1.0.2c и apache 2.2.29 и скомпилировал оба. Сервер запускается, но использует старую версию ssl:

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

Однако Openssl установлен в новой версии:

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

Пока исходная версия остается на месте:

openssl version
OpenSSL 0.9.8k 25 Mar 2009

Я скомпилировал apache с помощью:

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

Apache не запускался, пока я не включил:

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

Согласно сайту ssl мода, это доступно только для apache 1.x

Не уверен, что здесь не так. Спасибо за любую помощь!

Проблема в том, что ваша установка Apache не может связать разделяемые библиотеки вашей новой установки OpenSSL. Запустите команду ldd /usr/local/apache/modules/mod_ssl.so (с соответствующим путем к вашему mod_ssl.so). Вы увидите, что mod_ssl.so не связывается с библиотеками в /usr/local/ssl/lib

У вас есть несколько вариантов решения проблемы:

Вариант №1 - Ссылка в библиотеках:

открыто /etc/ld.so.conf.d/local.conf для редактирования и добавьте следующую строку: /usr/local/openssl/lib

Перекомпилируйте Apache (не забудьте make clean) и он должен работать.

Если это не сработает. Вы также можете попробовать указать LDFLAGS прямо с вашим 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

Вариант №2 - Обновите систему OpenSSL:

Переустановите OpenSSL со строкой конфигурации ./config --prefix=/usr --openssldir=/usr/local/openssl shared

Если префикс не указан в строке конфигурации, установщик OpenSSL по умолчанию будет использовать /usr/local/ssl.

Инструкции по быстрой установке:

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