【環境構築】Apache2.4でSSLを設定する手順

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です。