無料SSL証明書「Let’s Encrypt」をCentOS7にインストールする方法

環境

2018年くらいからgoogle chromeがHTTPSでないと「安全ではありません」というメッセージを出すようになってからHTTPS対応が一気に進みましたよね。
ここでは、無料で使えるSSL証明書の「Let’s Encrypt」をCentOS7にインストール方法を紹介します。

1. ファイアウォールにHTTPSの許可をいれる

#ファイアウォールを設定
firewall-cmd –add-service=https –zone=public –permanent
#設定を反映
systemctl restart firewalld

2. Apacheの設定ファイルにポート80を記述

ポート80がないと下記のインストールじにエラーが出るので、httpd.confに追加する。

Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.

vi /etc/httpd/conf/httpd.conf

NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName example.com
</VirtualHost>

3. Let’s Encryptのインストール

#yumコマンドでインストール
yum install certbot python2-certbot-apache

4. 証明書をインストール

#certbotコマンドを使う
certbot –apache -d <コモンネーム wwwありとなしを統一したい場合は、wwwありなしの両方をインストールします>

#質問に回答します。
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c’ to
cancel):<自分のメールアドレス>

(A)gree/(C)ancel:A(規約の同意)

(Y)es/(N)o:N(Let’s EncryptパートナーにEmailを公開する?)

Select the appropriate number [1-2] then [enter] (press 'c’ to cancel):1 (httpアクセスをhttpsにリダイレクトする)

successfullyが出たら成功

5. Apacheの再起動

systemctl restart httpd

6. 自動更新を設定する

Let’s Encryptは3ヶ月で切れるので自動更新を設定する。

vi /etc/crontab
0 3 * * * root /bin/certbot renew

参考サイト

https://knowledge.sakura.ad.jp/10534/?_ga=2.7073329.2066716097.1576676262-1894187325.1574689295