UnixマシンにApacheサーバーがあります。
Apache/2.2.29 (Unix) OpenSSL/0.9.8zg
OpenSSLバージョンを1.0.2にアップグレードしたいのですが、これは現在システムにインストールされているバージョンです。
machine:/ user$ openssl version
OpenSSL 1.0.2d 9 Jul 2015
サーバー全体を再コンパイルせずにそれを行うことはできますか? LoadModule
を使用してmod_ssl
内にロードされる場合にのみ、httpd.conf
を再コンパイルする必要がありますか?
LoadModule ssl_module modules/mod_ssl.so
どうやってやるの?
mod_ssl.so
ライブラリはOpenSSLに動的にリンクされています:
$ ldd mod_ssl.so | egrep 'lib(ssl|crypto)'
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f23f7209000)
libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f23f6e26000)
OpenSSLをアップグレードしてもライブラリへのパスが変更されない限り、OpenSSLをアップグレードしてからApacheを再起動するだけで、新しいOpenSSLライブラリがロードされます。 OpenSSLが最後にライブラリパスを変更したのは1.0.0だったと思うので、1.0.0以降から更新する場合は問題ないはずです。古いバージョン(0.9.8など)からアップグレードする場合は、OpenSSLを再構築した後にmod_sslを再構築する必要があります。
ディストリビューションをアップグレードすることを強くお勧めします。Apache2.2とOpenSSL 0.9はどちらも非常に古く、非常に古く、サポートされなくなっています。
これがオプションでない場合は、インストールされているOpenSSLバージョンのdevヘッダーをインストールし、それらに対してmod_ssl
を再コンパイルする必要があります。つまり、Gentooや他の「自分でやる」といったディストリビューションを使用している場合です。
それ以外の場合は、ただ起動してアップグレードします。あなたの場合、それは非常に遅れています。