Let’s Encryptサービスを利用し、無料でhttps化する方法の紹介です。環境はFedora26、apache2.4です。apacheはdnfコマンドでインストールしました。

certbotのインストールと設定

[root@localhost ~]# dnf install certbot
[root@localhost ~]# dnf install python3-certbot-apache

certbotのバージョンの確認です。
[root@localhost ~]# certbot –version
certbot 0.22.0

ファイアウォールの開放

ポート443のポートを開放します。開いている場合は、スキップしてください。

一時解放
[root@localhost ~]# firewall-cmd –zone=public –add-service=https

永続解放
[root@localhost ~]# firewall-cmd –zone=public –add-service=https –permanent

certbotの設定

certbotの設定はコマンドで行います。稼働しているapacheを停止します。そして、コマンドを入れるだけです。途中、手動OR自動設定を聞かれますが、自動で問題ありませんでした。

[root@localhost ~]# systemctl stop httpd.service
[root@localhost ~]# certbot –apache

証明書の自動更新

証明書の有効期限は3か月です。3ヶ月を越えるとエラーになるので自動更新が必要です。cronで定期的に証明書の自動更新を行います。

[root@localhost ~]# crontab -u root -e
0 0 1 * * root /usr/bin/certbot renew –force-renewal && /usr/bin/systemctl reload httpd
↑毎月1日の0時に更新、apacheの再起動

cronの再起動
[root@localhost ~]# systemctl restart crond.service

手動更新は
[root@localhost ~]# /usr/bin/certbot renew

設定ファイル

下記のフォルダー内に自動で「*-le-ssl.conf」ファイルが生成されてます。
[root@localhost ~]# vi /etc/httpd/conf.d/*-le-ssl.conf