FIREを目指す30代OLトラみです🤍
トラみは今年からブログ運営を行なっていますが、AWSの無料枠をフルに活用しています✨
その為、ブログ運営費はほぼ無料です🤍
前回の記事では、Wordpressのインストールが完了しWebブラウザから管理画面へアクセスすることができました🤗今回でAWSで無料ブログを構築編は終わり✨最後はSSL化の設定方法をシェアします。
AWSでもドメイン名取得で利用しますが、ブログの運営を安くしてくれるお名前.comのサービス✨
ブログに必要なドメインを最安で取得できます🤗
ブログ運営したいけどAWSはハードル高いという方は、是非お名前.comのレンタルサーバーも検討してみてください🤗
はじめに(SSL化について)
昨今のWebサイトはSSL化(Web通信の暗号化)は当然対応が必須となっており、「当たり前品質」に該当するため、SEOへの影響も非常に大きいので自身でサーバーを構築したら確実に対応できていることを確認してください🤗
では、肝心なSSL証明書の取得先ですが、AWSのサービスACMなどありますが、
ACMの場合、ALBをセットで利用する必要があり費用が結構発生してしまいます。
(月額2,000円程度)
個人ブログで収益を得る目的であれば、無料の「Let’s Encrypt」が十分役割を果たせます🤗
Let’t Encryptでの手順を紹介します✨
- ①AWSでHTTS(443ポート)通信の許可
- ②Let’s EncryptによるSSL化
- ③SSL証明書の自動更新(Cron利用)
- ④Wordpressのデータベースの設定変更
以下は本日のBefore→Afterです✨


①AWSでHTTPS通信の許可設定
まず、事前準備としてAWSのWebサーバのセキュリティグループでHTTPS通信の許可設定を行います。

Let’s EncryptからSSL証明書をダウンロードしますが、
証明書のダウンロードにHTTPとHTTPS両方の通信を利用する為、
この時点ではHTTP通信のポートを削除しないよう注意ください。

②Let’s Encryptで常時SSL化
SSL証明証のダウンロード
ターミナル(Teraterm)からWebサーバにログインください。
ログインしたら以下コマンドを入力してLet’s EncryptからSSL証明書のダウンロードをしましょう🤗
sudo amazon-linux-extras install epel Installing epel-release
インストール中、確認を求められるため、2回「y」を入力ください。
続けて、証明書のインストールです。
sudo yum install certbot python-certbot-apache
こちらも2回確認が求められるので、2回「y」を入力ください。
続いて、SSL証明書の取得です。
- certbot certonlyコマンドで証明書を取得します。
- “certonly” は証明書の取得だけ行い、Webサーバーへの配置は手動で行うコマンドです
- -wでルートディレクトリを指定し、-dでドメイン名に変更ください
sudo certbot certonly --webroot -w /var/www/html/ -d www.toramiinvestment.com
続いて以下を確認されるため、入力してください。
- メールアドレス →「自身のメールアドレス」
- 利用規約 →「y」
- キャンペーン情報や広告の送付 →「n」(必要であればy)
以下のように「Congratulations!」が出たらインストール完了です🤗

以下のコマンドを実行して、「etc/letsencrypt/live」フォルダの配下に「.pem」と鍵ファイルが格納されていることを確認してください。
sudo ls -l /etc/letsencrypt/live/ドメイン名/
Apacheに証明書と秘密鍵の関連付け
- /etc/httpd/conf.d/ssl.conf に証明書および秘密鍵を指定します
- ssl.conf にサーバー証明書、秘密鍵、証明書チェーン(中間証明書)を指定しています。
cd /etc/httpd/conf.d
sudo vi ssl.conf

上画像の通り、「SSLCertificatefile」「SSLCertificateKeyFile」にLet’sEncryptから入手した鍵のパスを登録します。(下のコードを利用してください🤗)
SSLCertificateFile /etc/letsencrypt/live/www.tabisuruneko.net/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.tabisuruneko.net/privkey.pem
ssl.confを修正後、以下で文法チェックを行い、
syntax OKと出力されることを確認してください。
sudo httpd -t
最後にApacheを再起動させてください✨
sudo systemctl restart httpd
以上でssl.confの設定は終了です。
③SSL証明書の自動更新
Let’s Encrypt唯一の弱点ですが、3ヶ月で証明書の有効期限が切れてしまう為、3ヶ月毎に更新する必要があります💦
Linuxの機能でCronというコマンドを自動実行を行う機能がありますので、これで毎月更新するコマンドを自動で行なってもらいます。
まず、自動実行するコマンドをテストしましょう🤗
以下は、–dry-runオプションを含めている為、SSL証明書の更新は行いませんが、
直前までテストを行うコマンドです。
–post-hookオプションで更新後にApacheの再起動もおこなっています。
sudo certbot renew --force-renew --dry-run --webroot-path /var/www/html/ --post-hook "systemctl reload httpd”
SSL証明書の取得時同様、エラーがなく「Congratulation!」が出力すれば成功です🤗
(http,hpptsポートが開いていることを確認ください)
続いて、実際にCronに登録していきます🤗
「crontab -e」コマンドで、打ちたいコマンドを直接記載する方法もありますが、
「crontab -r」と打ち間違うと、登録したcron全て消去されてしまいます・・・
打ち間違いは怖い為、以下のように登録することをお勧めします。
個人のブログ運営程度であれば被害は少ないですが、
エンジニアにとっては怖い事象ですよね
sudo vi /etc/cron.d/letsencrypt
0 2 1 * * sudo certbot renew --force-renew --webroot-path /var/www/html/ --post-hook "systemctl reload httpd"
上記は、毎月1日2時にSSL証明書を更新するコマンドです。
–dry-runオプションを外しています。
④Wordpressのデータベースの設定変更
最後に、DBサーバにログインしてWordpressのデータベース内の設定を変更します。
WordPressのデータベース内に旧ドメインやIPアドレスが登録されている場合、
SSL化により画像や画面が崩れて表示されることがあります。
前回DBサーバの構築の際に紹介した以下のコマンドでDBサーバへログインしてください。
mysql -u admin -p -h [AWS RDSのエンドポイント名]
WordPress用に作成したデータベース「wordpress」に切り替えます。
use wordpress;
以下の2つのコマンドで、WordPressのデータベースに設定しているURLの照会をしてください。
select option_name,option_value from wp_options where option_name = 'siteurl';
select option_name,option_value from wp_options where option_name = 'home';

上画像の通り、データベースへの登録が「http」アドレスとなっています。
この値を以下のコマンドで「https」に変更します。
update wp_options set option_value = 'https://ドメイン名' where option_name = 'siteurl';
update wp_options set option_value = 'https://ドメイン名' where option_name = 'home';

⑤リダイレクト設定
リダイレクト設定とは、折角SSL通信を設定してhttps化したにも関わらず、http通信を行えば元のサイトにアクセス出来てしまいます。
リダイレクト設定を行うことで全てのhttp通信をhttpsに勝手に変換してくれるだけでなく、ドメインのSEOの評価も引き継げます🐯
では、手順です🤗
cd /var/www/html
sudo vi .htaccess
以下の画面の通り、1行リダイレクトルールをこの場所に挿入します。
RewriteRule ^http://www.tabikabe.jp$ https://www.tabikabe.jp/ [R=301,L]

最後にhttpdデーモンを再起動して終わりです🐯
sudo systemctl restart httpd
まとめ
以上でWordPressのサイトのSSL化は終了です🤗お疲れ様でした🐯
Webブラウザで「https://ドメイン名」にアクセスすると鍵マークがついているはずです🤗
以上全7話に渡り連載させていただいた、
AWS無料枠をフル活用した、初期投資ゼロ、ランニング費用月額100円の収益ブログ作成は終わりとなります🤗
実際にWordpressの管理画面から初期設定を行い、
ブログを記載していき収益化を一緒に目指しましょう🤗
トラみの激安ブログ運営を見て、ブログに興味を持ったら、
お名前.comでドメイン名の取得を是非検討してみてください🤗

また見てもん🐯
コメント