2022 Lightsailで常時SSLでWordPress動かす方法 AWS

追記,2022/05.30

今は下記の方法でコマンド一発で出来るようになってる。すごい。

下記のような方法は全て不要になってます。てか、今下記の行程をやるとバグりますw

 

ーーーーーーーーーー

追記,2022/02.13

下記の方法で出来なくなった。下記の記事を参考にしたらできた

2021 Lightsailで常時SSLでWordPress動かす方法 AWS

#Lightsail #WordPress #SSL #https #AWS

 

これまでLightsailで作ったWordPressで常時SSL(https)するとき、下記のQiitaの記事を参考にしていました。

 

 

 

しかし、2021年現在、多少やり方が変わってるため更新の記事を書きます。

 

上記の記事で言うところの、コマンドラインからの手順までは同じなので、コマンドを打つところから始めます。

 

bitnami banner 削除

 

https://lebh.net/ というところをあなたのドメインに変えてください。

 

$ sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1
$ sudo /opt/bitnami/ctlscript.sh restart apache

 

gitをインストール

 

$ sudo apt-get install git

 

 

snapdをインストール

 

 

$ sudo apt install snapd

 

 

Lightsailのサーバーのosを確認してください

 

$ cat /etc/issue
Debian GNU/Linux 10 \n \l

 

 

coreとcertbotをインストール

 

$ sudo snap install core; sudo snap refresh core
$ sudo snap install --classic certbot

 

certbot確認

 

$ /snap/bin/certbot --version
certbot 1.11.0

 

一応パスを通す

 

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

 

 

LetsencryptによるSSL化

 

$ sudo certbot certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d lebh.net
$ sudo cp /etc/letsencrypt/live/lebh.net/fullchain.pem /opt/bitnami/apache2/conf/server.crt
$ sudo cp /etc/letsencrypt/live/lebh.net/privkey.pem /opt/bitnami/apache2/conf/server.key
$ sudo /opt/bitnami/ctlscript.sh restart apache

もしスナップでエラーが出る場合

ここら辺を試してみてください。

$ sudo snap install core

$ sudo apt install snapd

httpsにリダイレクトする

 

ApacheとWordpressのconfigにそれぞれリダイレクトのための設定を書き込む。

vi /opt/bitnami/apps/wordpress/conf/httpd-prefix.conf

- RewriteCond "%{HTTP_HOST}" ^ec2-([0-9]{1,3})-([0-9]{1,3})-([0-9]{1,3})-([0-9]{1,3})\..*\.amazonaws.com(:[0-9]*)?$
- RewriteRule "^/?(.*)" "%{REQUEST_SCHEME}://%1.%2.%3.%4%5/$1" [L,R=302,NE]
+ RewriteCond %{HTTPS} !=on
+ RewriteRule ^/(.*) https://lebh.net/$1 [R,L]
vi /opt/bitnami/apps/wordpress/htdocs/wp-config.php

define('WP_SITEURL', 'https://lebh.net/');
define('WP_HOME', 'https://lebh.net/');

 

証明書更新のシェルを準備してCron実行を仕掛ける
letsencryptを使った証明書更新のためのシェルを書いて、Cron実行の設定を追加する。


sudo vi /etc/letsencrypt/renew-certificate.sh

#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop apache
sudo /usr/local/certbot/certbot-auto --email="vaaaval@gmail.com" --domains="lebh.net" renew
sudo cp /etc/letsencrypt/live/lebh.net/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo cp /etc/letsencrypt/live/lebh.net/privkey.pem /opt/bitnami/apache2/conf/server.key
sudo /opt/bitnami/ctlscript.sh start apache
# crontab -e (root実行、取扱注意)
0 0 1 * * /etc/letsencrypt/renew-certificate.sh 2> /dev/null

 

 

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です