ヘルスステータス画面で「サイトでHTTPSを使用していません」とエラーが出た場合は、通信が暗号化されておらず、SSL化対応を行う必要があります。SSL対応していないと検索順位が下がり、SEO対策が不利になります。
SSL化手順は以下の通りです
1.ApacheのSSLモジュール追加
yumコマンドでインストール後、Apacheを再起動すれば、追加できます。追加されているか確認したい場合は「httpd -M」コマンドで「ssl_module (shared)」が表示されていれば、追加できています。
yum install mod_ssl systemctl restart httpd httpd -M
2.ファイアウォール設定
https通信用の443番ポートを開放します。確認は「firewall-cmd –list-all」コマンドを使い、「services:」に httpsが追加されていることを確認します。
sudo firewall-cmd --add-service=https --zone=public --permanent sudo systemctl restart firewalld firewall-cmd --list-all
3.Let’s Encryptインストール
無料でSSL証明書が発行できるLet’s Encryptをyumコマンドでインストールし、各種設定を行います。
yum install certbot python2-certbot-apache certbot --apache -d example.com
example.comは各自のドメイン名になります。3つ質問が出てくるので、回答を入力します。
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): (メールアドレスを入力する) (A)gree/(C)ancel:A (規約に同意します) (Y)es/(N)o: Y (メールアドレスを公開する。したくない場合はNに。) SSL証明書設定時のエラー 以下のエラーが出た場合は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.
バーチャルホスト設定
sudo vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin root@example.com DocumentRoot /var/www/wordpress ServerName example.com </VirtualHost>
sudo systemctl restart httpd
最後にサーバ再起動すると、SSL証明書が反映されます。
4.SSL化確認
SSL証明書発行後、自身のサイトのアドレスバー横の鍵マークをクリックします。Google Chromeの場合、「この接続は保護されています」と表示されれば、SSL化対応されています。また「証明書(有効)」のボタンを押すと、証明書の有効期限など詳細情報を見る事ができます。
5.証明書を更新
証明書は3ヶ月で有効期限が切れるので、定期的に更新する必要があります。有効期限30日前から次の更新ができるようになります。また、登録したメールアドレスにも10日前に通知がきます。更新は簡単で「certbot renew」コマンドで実行できます。更新する前に「–dry-run」で試しておくと良いでしょう。
certbot renew --dry-run certbot renew
クーロン設定をしておく事で、有効期限を気にせずに更新ができます。午前3時に更新コマンドを呼ぶようにする設定はこちらです。
sudo crontab -e 0 3 * * * root /usr/bin/certbot renew sudo service crond restart
おまけ
クーロン設定の確認とクーロン実行ログの確認のコマンドはこちらのコマンドで確認できます。
sudo crontab -l sudo vi /var/log/cron
コメント