Я работаю 10.04LTE сервер, где я действительно хочу обновить openssl для апача.
Поэтому я загрузил openssl 1.0.2c и апачские 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
Я скомпилировал апача с:
./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 веб-сайт это только доступно для апача 1.x
Не уверенный, что идет не так, как надо здесь. Спасибо за любую справку!
Проблема в том, что ваша установка Apache не может связать разделяемые библиотеки вашей новой установки OpenSSL. Запустите команду ldd /usr/local/apache/modules/mod_ssl.so
(с apporpriate path to your mod_ssl.so). Вы увидите, что mod_ssl.so не линкуются с библиотеками в /usr/local/ssl/lib
У вас есть пара вариантов решения проблемы:
Опция #1 - Линк в библиотеках:
Откройте /etc/ld.so.conf.d/local.conf
для редактирования и добавьте следующую строку: /usr/local/openssl/lib
Перекомпилируйте Apache (не забудьте сделать чистым -
) и он должен работать.
Если это не работает. Вы также можете попробовать указать 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
Option #2 - Upgrade the system OpenSSL:
Re-install OpenSSL with the config line . /config --prefix=/usr --openssldir=/usr/local/openssl shared
Если префикс не указан в вашей строке config, то по умолчанию инсталлятор 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
Загрузите zip-файл 1.0.2k с этого сайта.https://indy.fulgan.com/SSL/ Извлеките файлы. Остановите службу Apache. Сделайте резервную копию этих 3 файлов в C:\xampp\apache\bin ssleay32.dll libeay32.dll openssl.exe Скопируйте те же 3 файла из расположения файлов извлечения в C:\xampp\apache\bin Запустите службу Apache.