mo_ssl
SuseSE11SP3 で openssl 1.0.2 を使用して再コンパイルするように求められました。ただし、私は Suse の初心者ですが、Linux について少し知っています。
- OS : Suse SE11SP3
- Openssl : 0.9.8j <-オリジナルの Suse Linux に付属
- ウェブサーバー: Apache httpd 2.2.9
ここに私が持っている制限があります。会社のセキュリティ ポリシーで許可されていないため、zypper
またはを使用できません。rpm
ばかげている、これがここでのやり方です。私が持っているもう 1 つの制限は、このシステムが、私が許可していない他の Web サーバーによって使用されていることです。できるだけ現地で作らなければなりません。
私が望んでいるのは、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
は、新しいバージョン 1.0.2h ではなく、古い Openssl 0.9.8 にリンクされています。
これらの手順で見逃したものは何ですか? または、どこで間違ったのですか?
//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
上記のコマンドは「apache22/modules」の下にmod_ssl.soを作成しますが、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 にリンクするためにここで何ができるかわかりません。
私を助けてください。