Прошу перекомпилировать mo_ssl
с openssl 1.0.2 в SuseSE11SP3. Однако я новичок в Suse, но знаю немного Linux.Как обновить openssl 0.9.8 до 1.0.2 с mod_ssl в Apache 2.2.9
- ОС: Suse SE11SP3
- Openssl: 0.9.8j < -Какой поставляется с оригинальной SUSE Linux
- Веб-сервер: Apache HTTPD 2.2.9
Вот ограничение у меня есть. Я не могу использовать zypper
или rpm
, потому что политика безопасности компании не позволяет мне это делать. Это абсурдно, так оно и происходит. Другое ограничение, которое у меня есть, это эта система используется другими веб-серверами, на которых у меня нет разрешения. Я должен сделать это как можно более локально.
Я хочу, чтобы это произошло, когда я перекомпилирую сервер Apache, мне нравится видеть, что mod_ssl
связан с новой версией библиотеки Openssl.
Итак, я скачал OpenSSL источник 1.0.2h файл:
./confgiure --prefix=//PREFIX/openssl --opendir=/PREFIX/openssl
make test
make install
успешно, я установил OpenSSL на локальный каталог.
, а затем я попытался перекомпилировать httpd2.2.9, который уже существует. поэтому я пошел в исходный файл в HTTPD 2.2.9
make clean
export LIBS=-ldl
export LD_LIBRARY_PATH="/PREFIX/openssl"
export LIBS="-L/PREFIX/openssl"
export CPPFLAGS="-I/PREFIX/include/openssl"
./configure --prefix=/PREFIX/apache22 --enable-so --enable-ssl=ssl -with-ssl=/PREFIX/openssl --enable-module=shared CC=/usr/bin/gcc
make install
Были некоторые ошибки, но я вроде понял, и сделать его компиляции. Однако окончательный результат для mod_ssl
по-прежнему связан со старым Openssl 0.9.8 вместо более новой версии 1.0.2h
Что я пропустил в этих шагах? Или где я ошибся?
//openssl install
./config -fPIC shared --prefix=/PREFIX/openssl --openssldir=/PREFIX/openssl
make
make test
make install
// install apache2
//recompiling after apache2 is installed with openssl
export LIBS=-ldl
export LD_LIBRARY_PATH="/PREFIX/openssl/lib"
export LDFLAGS="-L/PREFIX/openssl"
export CPPFLAGS="-I/PREFIX/openssl/include/openssl"
export CFLAGS="-Wl,-rpath=/PREFIX/openssl:/usr/lib -I/PREFIX/openssl/include/openssl"
./configure --prefix=/PREFIX/apache22 --enable-so --enable-ssl=shared -with-ssl=/PREFIX/openssl --enable-module=shared CC=/usr/bin/gcc
make
make install
Приведенная выше команда создает mod_ssl.so под "apache22/модулей", но когда я LDD mod_ssl.so он вышел, как следующий
linux-vdso.so.1 => (0x00007fffef8f2000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffe6a48d000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffe6a116000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffe6a913000)
libssl.so, libcrypto .so не связан. Я не знаю, что я могу сделать здесь, чтобы связать mod_ssl.so с другой версией openssl.
, пожалуйста, помогите мне.
Вы пытались установить 'LDFLAGS = -L/PREFIX/openssl'? – alvits
Благодарим за быстрый ответ. Да. Я пытался. это не сработало. – CharlieSiNB
Сообщите компоновщику, что у вас есть предпочтительный путь. Попробуйте «export CPPFLAGS =» - Wl, -rpath =/PREFIX/openssl:/usr/lib -I/PREFIX/include/openssl ". – alvits