LoginSignup
1
2

More than 3 years have passed since last update.

Amazon Linux 2 AMI  OpenSSL1.1.1kソースからビルドしてインストールする

Last updated at Posted at 2021-05-02

linux初心者の為、勉強の為にソースからビルドしてインストールしてみました。

参考記事

https://qiita.com/DQNEO/items/3613cc1d87c01121a9e2
https://qiita.com/knutpb1205/items/24326ff0e7b886354898

環境

Amazon Linux 2 AMI
OpenSSL1.1.1k
(最新バージョン確認 https://www.openssl.org/)
/opt/openssl/ にopensslをインストールする

手順

コンパイルとビルドに必要なパッケージをインストール

# yum install -y gcc make
# yum install perl zlib-devel

OpenSSLのソースをビルドしてインストール

URLを指定してファイルをダウンロード
# wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

解凍して展開
# tar xvfz openssl-1.1.1k.tar.gz

openssl-1.1.1kディレクトリに移動
# cd openssl-1.1.1k/

/opt/opensslディレクトリにインストール、シェアードライブラリとしてビルド、zlib使用
# ./config --prefix=/opt/openssl shared zlib

ビルド
# make

インストール
# make install

ちゃんと出来たか、バージョン確認してみる

# /opt/openssl/bin/openssl version

エラーが出るw

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

対策

まず「libssl.so.1.1」があるか確認

find -name "libssl.so.1.1"
./home/ec2-user/openssl-1.1.1k/libssl.so.1.1
./opt/openssl/lib/libssl.so.1

/opt/openssl/lib/にちゃんといてくれたので、以下を実行
★(2021/5/5追記)/etc/ld.so.conf.d/lib64.confに/opt/openssl/lib/のパスを記述し、OSにldconfigで情報を伝える

echo "/opt/openssl/lib/" > /etc/ld.so.conf.d/lib64.conf
ldconfig

★(2021/5/5追記)/etc/ld.so.conf.d/のlib64.confに「/opt/openssl/lib/」のパスが記述されたか確認

cd /etc/ld.so.conf.d/
cat lib64.conf
/opt/openssl/lib/

今度こそ!バージョン確認

/opt/openssl/bin/openssl version
OpenSSL 1.1.1k  25 Mar 2021

♡できたみたい♡

libsslが/opt/openssl/lib/libssl.so.1.1にあるものとリンクしている
libcryptが/opt/openssl/lib/libcrypto.so.1.1にあるものとリンクしている
libzがリンクしていることを確認

ldd /opt/openssl/bin/openssl
        linux-vdso.so.1 (0x00007ffec31cb000)
        libssl.so.1.1 => /opt/openssl/lib/libssl.so.1.1 (0x00007f6f2f1c7000)
        libcrypto.so.1.1 => /opt/openssl/lib/libcrypto.so.1.1 (0x00007f6f2ece7000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f6f2ead2000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f6f2e8ce000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6f2e6b0000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f6f2e305000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6f2f456000)

できてるみたい

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2