##概要
OpenSSLをあえて、ソースからコンパイルする方法をメモしておきます。
RockyLinuxで動作か国をしていますが、AlmanLinuxやCentOSでも同じ方法でインストールが可能です。
今回はnginxなど他のソフトウェアからの互換性を保つため、あえて「openssl-1.1.11」を導入します。
なお、OpenSSL1.1.0は、「/usr/local/bin」や「/usr/local/lib64」などの標準ディレクトリ配下にモジュールが配置されますので、意図的にopenssldirを指定して「/usr/local/ssl」に配置します。
##ダウンロード先
ソースは、
https://www.openssl.org/source/
から、ダウンロード可能です。
検証環境バージョン
ソフトウェア | バージョン |
---|---|
OpenSSL | 1.1.1l |
OS | RockyLinux 8.4 |
##インストール
ダウンロードからインストールまで
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar xvzf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config -fPIC shared --prefix=/usr/local/ssl
make
make install
##設定情報は、OS標準の物を利用する。
bash
cd /usr/local/ssl
mv ssl ssl.def
ln -s /etc/pki/tls /usr/local/ssl/ssl
##ライブラリ参照追加設定
既存でrpmでライブラリが入っていると、既存のライブラリを参照することから、ld.so.confにライブラリを追加します。
参照先を追加
vi /etc/ld.so.conf
以下に追加
/usr/local/ssl/lib #←これを追加
include ld.so.conf.d/*.conf
追加終了後は、反映
反映コマンド
ldconfig
※なにもシェルには表示されていませんが、反映されています。
##反映確認
反映確認
ldconfig -p | grep ssl
---
# ldconfig -p | grep ssl
libssl3.so (libc6,x86-64) => /lib64/libssl3.so
libssl.so.10 (libc6,x86-64) => /lib64/libssl.so.10
libssl.so.6 (libc6,x86-64) => /lib64/libssl.so.6
libssl.so.1.0.0 (libc6,x86-64) => /usr/local/ssl/lib/libssl.so.1.0.0 #<-これがあればOK
libssl.so (libc6,x86-64) => /usr/local/ssl/lib/libssl.so
libssl.so (libc6,x86-64) => /lib64/libssl.so
libevent_openssl-2.0.so.5 (libc6,x86-64) => /lib64/libevent_openssl-2.0.so.5
libcrypto.so.1.0.0 (libc6,x86-64) => /usr/local/ssl/lib/libcrypto.so.1.0.0
libcrypto.so (libc6,x86-64) => /usr/local/ssl/lib/libcrypto.so
##バージョン確認
バージョン確認方法
/usr/local/ssl/bin/openssl version
#結果
OpenSSL 1.1.1l 24 Aug 2021 (Library: OpenSSL 1.1.1g FIPS 21 Apr 2020)