CentOS & Apacheの環境へLet’s Encryptの無料SSL証明書をインストールし、SSL(https)通信を実現する手順をメモします。
環境:CentOS 7.8, Apache/2.4.6
1. Apacheの設定ファイルを編集する。
# vi /etc/httpd/conf/httpd.conf
viインサートモードでファイルの任意の箇所へ以下の内容を追記する。
(hoge.comの箇所へ実際のドメイン名を入力してください)
<VirtualHost *:80> ServerAdmin root@hoge.com DocumentRoot /var/www/html ServerName hoge.com </VirtualHost>
Apacheを再起動する
# systemctl restart httpd
2. Apacheの拡張モジュール「mod_ssl」をインストールする
# yum -y install mod_ssl
3. Let’s Encrypt証明書をインストールする
cerbotというソフトをインストール
# yum -y install certbot python2-certbot-apache
完了したら、
cerbotコマンドを実行
(hoge.comの箇所へ実際のドメイン名を入力してください)
# certbot --apache -d hoge.cm
以下の項目へそれぞれ入力、Enterを押して実行を進めます。
- Enter email address メールアドレスの入力
- (A)gree/(C)ancel: 規約の同意 (Aを入力)
- (Y)es/(N)o:Let’s Encryptパートナーにメールアドレスを公開 (必要なければNを入力)
以下のメッセージが表示されると証明書のインストール成功です!
Congratulations! You have successfully enabled https://hoge.com
httpsでのサイトアクセスが可能になっているはずです。
(通常のhttpアクセスもhttpsへリダイレクトされるようになります)
ブラウザのアドレスバー隣の鍵マークを開くと、有効な証明書が確認出来ます。
(Let’s Encryptの無料SSL証明書の有効期限は通常3ヶ月です)
「このサイトにアクセスできません」と出た場合
サーバーでファイヤーウォール(firewall)を有効にしている場合、
サービスとしてhttpsが許可されていない可能性があります。
以下の記事を参考に、httpsを許可してください。