CentOSでサーバーを立ててWordPressを動かし、無料のプラグインでなんとか簡易予約システムを動かせないかと悪戦苦闘している管理人です。
なかなかうまくいきません。
さて、今回は自己証明書(オレオレ)証明書でとりあえず・・・
SSL化にトライしてみまたので忘備録として掲載しておきます。
必要なファイルをダウンロードして解凍
まずは必要なファイルをダウンロードします。
サギョウディレクトリの異動(どこでも良いと思う?)
cd /etc/httpd/conf
とりあえず面倒なので、このディレクトリにしました。
openssl-1.1.1gをダウンロード
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
その他必要なモジュールをダウンロード
yum -y install perl perl-Test-Simple perl-Test-Harness gcc
解凍
tar -zxf openssl-1.1.1g.tar.gz
ディレクトリを移動
cd /etc/httpd/conf/openssl-1.1.1g
スクリプトの実行・コンパイル
スクリプトを実行します。
./config --openssldir=/etc/httpd/conf/ssl
コンパイルしてインストールします。
make depend
make
make test 'エラーが無いことを確認
make install
yum -y install openssl
インストール状況を確認します。
ls -l /etc/httpd/conf/openssl-1.1.1g/
ライブラリを確認します。
ldconfig -p | grep -i libssl
特にエラーが出なければOKです。
エラーが出る場合はやり直してください。
mod_sslをインストールする
mod_sslをインストールします。
yum- y install mod_ssl
ファイルを作って確認する
winscpで次のファイル作ります。
/etc/ld.so.conf.d/openssl-1.1.1g.conf
ファイルの中身は次のとおりです。
/etc/httpd/conf/openssl-1.1.1g/
ライブラリを確認します。
ldconfig
ldconfig -p | grep -i libssl
ライブラに次の行が表示されればOKです。
/etc/httpd/conf/openssl-1.1.1g/
opensslのバージョンを確認します。
openssl version
バージョンが表示されればOKです。
証明書(鍵ペア・CSR)の作成
証明書(鍵ペアとCSR)を作成します。
ディレクトリを移動
cd /etc/httpd/conf
umaskコマンドで数字を確認する(表示された番号をメモっておくこと)
管理人の環境では【0022】でした
umask
鍵ペアを作成する
openssl genrsa -des3 -out servername.key 2048
パスワードを求められるので入力する(忘れないこと)
ディレクトリ内に【servername.key】ができる
鍵ペアのパスフレーズを解除する場合は次のコマンド
openssl rsa -in <パスフレーズ付き秘密鍵> -out <出力先ファイル名>
CSRを作成する
openssl req -new -key servername.key -out servername.csr -sha256
対話形式で質問されるので入力する
- countryname → JP
- State of Province Name → 都道府県名(*** pref)など
- Locality Name → 市区町村(*** shi)など
- Organaization name → 企業名
- Common name → サーバーのURL(FQDN)
- 以降は空白でもOK
ディレクトリ内に【servername.csr】ができる
次のコマンドでオレオレ証明書を作成する
openssl x509 -req -signkey servername.key < servername.csr > servername.crt
証明書をインストール
apacheのインストール先を確認する
ps aux | grep httpd
ディクレトリを移動(管理人のテスト環境の場合)
cd /usr/sbin
apacheの動作を確認
apachectl -t
エラーが表示されなければよい
/etc/httpd/conf/httpd.confの設定変更
# LoadModule foo_module modules/mod_foo.so
の下に次の行を追加
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule ssl_module modules/mod_ssl.so
/etc/httpd/conf.d/ssl.confの設定変更
SSLCertificateFile /etc/httpd/conf/servername.crt 'サーバー証明書
SSLCertificateKeyFile /etc/httpd/conf/servername.key '鍵ペア
/etc/httpd/conf/httpd.conf に次の行を追加
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
apacheの再起動
apacheのディレクトリに移動
cd /usr/sbin
apacheの再起動
apachectl stop
apachectl start
httpd.confの確認
cd /usr/sbin
apachectl configtest
【Syntax OK】が表示されればよい
ファイアウオールのポートを開ける
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
httpsでアクセスできればOK
コメント