GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでソースから最新のOpenSSLバージョンをインストールする方法

OpenSSLは、コンピュータネットワークを介した安全な通信のためにSSLおよびTLSプロトコルを実装する広く使用されている暗号化ライブラリです。 OpenSSLは、Apache Webサーバー、PHP、Postfixなどの多くのプログラムで使用されています。 OpenSSLは、暗号(AES、Blowfish、DES、IDEAなど)、暗号ハッシュ関数(MD5、MD4、SHA-1、SHA-2など)、公開鍵暗号(RSA、DSA、Diffieなど)などのさまざまな暗号アルゴリズムをサポートします。 -ヘルマン鍵交換)。

このチュートリアルでは、Ubuntu18.04およびCentOS7.6サーバーにソースから最新の安定したOpenSSLバージョンをインストールする方法を段階的に説明します。

何をしますか?

  1. 依存関係のインストール
  2. OpenSSLソースコードをダウンロード
  3. OpenSSLをインストールする
    1. OpenSSLをコンパイルしてインストールする
    2. リンクライブラリの構成
    3. OpenSSLバイナリを構成する
  4. テスト
ステップ1-依存関係をインストールする

OpenSSLライブラリをソースからコンパイルする前の最初のステップは、Ubuntuの「build-essential」パッケージやCentOSの「DevelopmentTools」パッケージなど、いくつかのパッケージの依存関係をインストールすることです。

Ubuntuの場合

以下のaptコマンドを使用して、Ubuntuリポジトリを更新し、ソフトウェアコンパイル用のパッケージ依存関係をインストールします。

sudo apt update
sudo apt install build-essential checkinstall zlib1g-dev -y

CentOSの場合

yumコマンドを使用して「開発ツール」といくつかのパッケージライブラリをインストールします。

yum group install 'Development Tools'
yum install perl-core zlib-devel -y

インストールが完了したら、次の手順に進みます。

ステップ2-OpenSSLをダウンロード

このチュートリアルでは、OpenSSLの最新の安定バージョンであるOpenSSL1.0.2oをインストールします。 OpenSSLサイトからソースコードをダウンロードできます。

'/ usr / local / src'ディレクトリに移動し、wgetを使用してOpenSSLソースコードをダウンロードします。

cd /usr/local/src/
wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz

次に、openssl.tar.gzファイルを抽出し、「openssl」ディレクトリに移動します。

tar -xf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o

OpenSSLソースコードがダウンロードされました。

ステップ3-OpenSSLをインストールする

カスタムOpenSSLバージョンをシステムにインストールする前に、以下のコマンドを使用してインストールされたバージョンを確認しましょう。

openssl version -a

以下はUbuntuでの私の結果です:

そしてこれはCentOSにあります:

「1.1.0g」バージョンを最新の安定バージョン1.0.2oに置き換えます。

新しいOpenSSLバージョンを特定のディレクトリ'/usr / local / ssl'にインストールしてから、OpenSSLのリンクライブラリを有効にし、OpenSSLの新しいバイナリPATHを構成します。

OpenSSLのインストールとコンパイル

opensslのダウンロードディレクトリ'/usr / local / src/openssl'に移動します。

cd /usr/local/src/openssl-1.0.2o

以下のコマンドを使用してOpenSSLを構成およびコンパイルします。

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib

make
make test

OpenSSLコンパイルプロセスを待ちます。

注:

  • -prefixおよび--openssldir=OpenSSLの出力パスを設定します。
  • shared=強制的に共有ライブラリを作成します。
  • zlib=zlibライブラリを使用して圧縮を有効にします。

コンパイルプロセスが完了したら、以下のコマンドを使用してOpenSSLをインストールします。

make install

OpenSSLは「/usr/ local/ssl」ディレクトリにインストールされます。

リンクライブラリを構成する

次に、OpenSSLの共有ライブラリを構成します。新しいOpenSSLバイナリは、「/ usr / local / ssl/lib」ディレクトリからライブラリファイルをロードします。

'/etc/ld.so.conf.d'ディレクトリに移動し、新しい構成ファイル'openssl-1.0.2o.conf'を作成します。

cd /etc/ld.so.conf.d/
vim openssl-1.0.2o.conf

opensslライブラリパスディレクトリを貼り付けます。

/usr/local/ssl/lib

保存して終了します。

次に、以下のコマンドを使用して動的リンクをリロードします。

sudo ldconfig -v

また、「/ usr / local / ssl/lib」ディレクトリにあるOpenSSLライブラリがロードされていることがわかります。

Ubuntu:

CentOS:

OpenSSLバイナリを構成する

デフォルトのopensslバイナリ'/usr / bin/opensslまたは/bin/openssl'を新しいバージョン'/usr / local / ssl / bin/openssl'に置き換えます。

Ubuntu18.04LTSの場合

バイナリファイルをバックアップします。

mv /usr/bin/c_rehash /usr/bin/c_rehash.BEKUP
mv /usr/bin/openssl /usr/bin/openssl.BEKUP

vimを使用して「/etc/environment」ファイルを編集します。

vim /etc/environment

次に、新しいOpenSSLバイナリディレクトリを以下のように追加します

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/ssl/bin"

保存して終了します。

環境ファイルをリロードし、新しく更新されたバイナリPATHをテストします。

source /etc/environment
echo $PATH

ここで、OpenSSLバイナリファイルをもう一度確認します。

which openssl

以下のような結果が得られます。

Ubuntu用のOpenSSLのバイナリパスが更新されました。

CentOS7.6の場合

CentOSOpenSSLバイナリファイルをバックアップします。

mv /bin/openssl /bin/openssl.BEKUP

OpenSSL用の新しい環境ファイルを作成します。

vim /etc/profile.d/openssl.sh

以下に構成を貼り付けます。

#Set OPENSSL_PATH
OPENSSL_PATH="/usr/local/ssl/bin"
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH

保存して終了します。

openssl.shファイルを実行可能にします。

chmod +x /etc/profile.d/openssl.sh

OpenSSL環境をロードし、以下のコマンドを使用してPATHbinディレクトリを確認します。

source /etc/profile.d/openssl.sh
echo $PATH

次に、OpenSSLファイルを確認します。

which openssl

以下のような結果が得られます。

CentOS上のOpenSSLのバイナリパスが更新されました。

ステップ4-テスト

次のコマンドを使用して、OpenSSLの新しいバージョンをテストします。

openssl version -a

Ubuntuでの結果。

CentOSでの結果。

OpenSSLの新しい最新の安定バージョンは、LinuxUbuntu18.04およびCentOS7.5のソースからインストールされています。


Linux
  1. Linuxコマンドラインからソフトウェアをインストールする方法

  2. Debian 9StretchLinuxに最新のMesaバージョンをインストールする方法

  3. Linux にソースから Apache 2 をインストールする

  1. 公式MSリポジトリからLinuxにMicrosoftTeamsをインストールする方法

  2. ソースからOpenSSLをインストールしますか?

  3. ソースコードからnanoエディターをインストールする方法

  1. Ubuntuに最新バージョンのHandbrakeをインストールする方法

  2. CentOS7に最新のLinuxカーネルをインストールする方法

  3. Linux でソースから Nginx をインストールして構成する方法