Apache2.4でSSL設定をする手順
前提条件
vagrantのcentos8イメージで仮想環境を構築し、その環境上で実施しています。
Apache2.4にSSLを設定する手順
開発環境でSSLを使えるようにするときにいつも手順を忘れてしまうのでまとめました。
1.firewallの設定
httpとhttps用のポートを開けておきます。
firewall-cmd --add-service=http --zone=public --permanent
success
firewall-cmd --add-service=https --zone=public --permanent
success
firewall-cmd --reload
success
2.SSLモジュールインストール
SSL用のモジュールをインストールします。
dnf -y install mod_ssl
〜省略〜
Installed:
mod_ssl-1:2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
Complete!
次にSSLの自己証明書を作っていきます。
3.SSL自己証明書作成
まず秘密鍵を作成します。
cd /etc/httpd
mkdir ssl
cd ssl
openssl genrsa > ssl.key //←SSL秘密鍵の作成
秘密鍵をもとにCSRを作成します。
対話形式で国や市区町村を聞かれるので適切なものを入力していきます。開発環境などであれば全てデフォルトでも生成できるので全てEnterでもOKです。
openssl req -new -key ssl.key > ssl.csr
自己証明書なので自分で署名します。
openssl x509 -req -signkey ssl.key < ssl.csr > ssl.crt
秘密鍵と自己証明書が作成できました。
CSRはもう不要なので削除します。
rm ssl.csr
秘密鍵と自己証明書はパーミッションを変更しておきます。
cd ../
chmod -R 400 ssl
作成した秘密鍵と証明書を、設定ファイルに反映します。
vi /etc/httpd/conf.d/ssl.conf
変更箇所は以下の2つです。
証明書のパス
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
→SSLCertificateFile /etc/httpd/conf/ssl/ssl.crt
秘密鍵のパス
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
→SSLCertificateKeyFile /etc/httpd/conf/ssl/ssl.key
ここまでできたらApacheを再起動します。
systemctl restart httpd
最後にブラウザで「https://〜」アクセスできればOKです。