以前ご紹介したLetsEncryptのLinux(CentOS7)へのインストール方法をご紹介します。WindowsへLetsEncryptをインストールする方法はこちら ->無料のSSL Let’s Encrypt をWindowsサーバに使ってみる
ホスティング会社によってはワンクリックでLetsEnctyptベースのSSLを無料で提供しているところもありますが、
本投稿ではSSHでログインしてコマンドベースでインストールしていく手順をご紹介します。
ちなみにLetsEncryptを使用するにはドメインが必要で、LetsEncryptのサーバから見える必要があります。つまりインターネットに公開されている必要があります。
OS: Linux(CentOS7)
Webサーバ: Apache2.4.6
1. Certbotをインストール
LetsEncryptのSSLをインストールするためにはcertbotというクライアントが必要です。
このクライアントがLetsEncryptサーバと通信をして証明書を発行します
当記事はApache環境下での使用を想定しているので python-certbot-apacheもインストールします
[crayon]yum install epel-release
yum install certbot python-certbot-apache[/crayon]
2. 証明書を作成
certbot クライアントを実行して証明書を発行します。
Document rootを設定する必要があります。ここではデフォルトの/var/www/htmlを使用します。
複数のドメインがある場合は -dパラメータを複数セットします
[crayon]certbot certonly --webroot -w /var/www/html -d www.YOURDOMAIN1.com -d www.YOURDOMAIN2.com[/crayon]
※エラーが出る場合
LetsEncryptでSSLを登録するにはインターネット経由でドメイン名にたどり着ける必要があります。
上記のようにwwwつきで登録ができない場合、DNS Aレコードにwww付きでも登録をしてあげてください。
3. Apacheに証明書を登録
2の手順で/etc/letsencrypt/live/DOMAIN名 以下に証明書が生成されます。
これをApache (SSL)のConfigファイルに登録します。
4. Apacheを再起動
[crayon]systemctl start httpd[/crayon]
5. 自動更新
LetsEncryptの証明書は3か月で期限が切れます。そこでCronに更新コマンドを仕込みます。
※期限の30日前までは更新ができません。
※権限などの問題で更新コマンドがこけることがあります。Cronテストを実施するのはもちろんですが、
念のため、初回更新が確実に実施されたかはカレンダーに登録して目視確認することをおススメします!!
[crayon]# SSL auto renew in 1AM every day
00 01 * * * root /usr/bin/certbot renew --post-hook "systemctl restart httpd.service"[/crayon]