MENU

IT導入のヒントブログ IT BLOG

AWSのAmazon Lightsailでredmineを構築しました(その3)(HTTPS設定編)

こんにちは、スミリオンの長嶋です。
 
「AWSのAmazon Lightsailで、redmineを構築した」の続編です。
過去に掲載したブログは下記をご覧ください。
AWSのAmazon Lightsailでredmineを構築しました(その1)
AWSのAmazon Lightsailでredmineを構築しました(その2)(DNS設定編)
 
今回の手順は、
・SSLを使ってhttpsアクセスを実施する
・常にhttpsアクセスにする
・Let’s Encryptの証明書更新をcrontabで自動更新する
を説明したいと思います。
 
SSL証明書は、無料でSSL証明書を発行してくれるLet’s Encryptを利用します
Let’s Encryptについては下記のサイトを参照ください
https://letsencrypt.org/ja/

 
 
では、さっそく手順です。
 

SSLを使ってhttpsアクセスを実施する

今回は、Amazon Lightsailにログインしてコマンドラインで作業していきます。
 
①Teratermなどを使用し、Amazon Lightsailのredmine環境にSSH接続します。

 
②auto-botをダウンロードします。

コマンド結果

 
③auto-botのパーミッションを変更します。

コマンド結果

 
④auto-botを実行し、証明書を取得します。

コマンド結果

 
⑤証明書をコピーします。

 
⑥Apacheを再起動します。

「SSLを使ってhttpsアクセスを実施する」の手順は以上です。
 
 
ここまでで、httpsアクセスは可能となっています。
以下の手順は必要に応じて、実施してください
 
 

常にhttpsアクセスにする

現在の設定では、httpでもアクセス出来てしまうため、httpでアクセスされた場合にhttpsにリダイレクトする設定を追加します。
 
①/opt/bitnami/apache2/conf/bitnami/bitnami.conf ファイルをエディタで開きます。

 
② の内容を以下のように修正します。

DocumentRoot “/opt/bitnami/apache2/htdocs”
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

 
修正前と修正後差分

③Apacheを再起動します。

 
「常にhttpsアクセスにする」の手順は以上です。
 
 

Let’s Encryptの証明書更新をcrontabで自動更新する

Let’s Encryptの証明書は、3ケ月で期限が切れてしまうため、常に証明書を更新しないといけません。
そこで更新スクリプトを作成し、crontabで1ケ月毎にそのスクリプトを実行する設定を行います。
①任意のスクリプトを作成し、以下の内容を記載します。

 
②①で作成したスクリプトをrootユーザのカレントディレクトリにコピーします。

 
③crontab -e コマンドでcrontabを編集します。

crontabの編集イメージは以下です。

 
「Let’s Encryptの証明書更新をcrontabで自動更新する」の手順は以上です。
 

では、また
 
■参考サイト
【WordPress】Amazon LightsailとCertbotでHTTPS化に挑戦してみた
https://tech-blog.s-yoshiki.com/2018/02/27/
AWS Lightsail & Bitnami環境でLet’s Encryptを使用しHTTPS設定を行う
https://raizzinya.net/2018/08/02/aws-lightsail-bitnami%E7%92%B0%E5%A2%83%E3%81%A7let-s-encrypt%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97https%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A1%8C%E3%81%86/
Amazon Lightsail サーバ構築のSSL化(Let’s Encrypt利用)
https://blog.miminoinu.net/archives/270/