Apacheで他のOpenSSLを使用する

Apacheで他のOpenSSLを使用する

ソースからApacheをコンパイルし、それを静的にリンクしていますmod_ssl。システムにインストールされているものとは異なるバージョンのOpenSSLを使用したいと思います。パッケージで引き続き使用されるインストールされている他のソフトウェアで使用されるコアシステムのSSLバージョンを変更しないため、システムの残りの部分(CentOSなど)に影響を与えないようにこれを実行したいと思います。マネージャー。

どうすれば正しくできますか?

Apacheをコンパイルしようとしましたが、うまく--with-sslコンパイルされていますが、実行しようとすると見つかりませんでした。

./httpd: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

私はApacheを起動したときに設定できると思いましたが、うまくいきましたが、LD_LIBRARY_PATHそれが適切なアプローチであるかどうかはわかりませんでした。この問題を解決するために推奨される方法は何ですか?代替ライブラリ検索パスにディレクトリを追加するより良い方法はありますか?

ベストアンサー1

まず、あなたは必要なバージョンを入手してくださいOpenSSLそして、システムのバージョンを妨げない場所にインストールしてください/opt。たとえば、次のようになります。

$ ./config \
    --prefix=/opt/openssl-VERSION \
    --openssldir=/opt/openssl-VERSION
$ make
$ sudo make install

次に最新情報を入手してください。Apache 2.4.xAPRおよびAPR-Util図書館。 3つのパッケージをすべて同じソースツリーに展開する必要があり、後者の2つのパッケージはApacheが期待する場所に配置する必要があります。たとえば、

$ tar zxvf httpd-VERSION.tar.gz
$ cd httpd-VERSION/srclib/
$ tar zxvf ../../apr-VERSION.tar.gz
$ ln -s apr-VERSION/ apr
$ tar zxvf ../../apr-util-VERSION.tar.gz
$ ln -s apr-util-VERSION/ apr-util

次に、Apacheを設定してインストールします。このmod_sslモジュールは静的にコンパイルされ、他のすべてのモジュールは次のように動的にコンパイルされます。

$ ./configure \
    --prefix=/opt/httpd \
    --with-included-apr \
    --enable-ssl \
    --with-ssl=/opt/openssl-VERSION \
    --enable-ssl-staticlib-deps \
    --enable-mods-static=ssl
$ make
$ sudo make install

おすすめ記事