前提
- bitnamiのVMイメージを使ってRedmineを構築していること
Let's Encryptの証明書を取得
bash
#install
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto #注意:関連するyumやaptのパッケージが実行時にアップデートされる
#証明書の取得
./certbot-auto certonly --webroot -w /var/www/html -d <your domain ex. www.example.com>
# E-Mailアドレスの入力
# 80ポートのオープンが必要
./certbot-auto certonly --webroot -w /opt/bitnami/apps/redmine/htdocs/public -d <your domain ex. www.example.com>
#取得した証明書の確認 (liveは最新の証明書へのシンボリックリンク)
sudo ls /etc/letsencrypt/archive/
sudo ls /etc/letsencrypt/live/
参考: Let's encrypt運用のベストプラクティス - Qiita
参考:Let's Encrypt の使い方 - Let's Encrypt 総合ポータル
Apacheに証明書を設定する
bash
sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
bitnami.conf
SSLCertificateFile “/etc/letsencrypt/live/<your domain nane>/fullchain.pem”
SSLCertificateKeyFile “/etc/letsencrypt/live/<your domain name>/privkey.pem”
bash
sudo /opt/bitnami/ctlscript.sh restart apache
httpアクセスをhttpsへリダイレクトする
bash
sudo vi /opt/bitnami/apps/redmine/conf/httpd-prefix.conf
httpd-prefix.conf
#先頭に追記
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
bash
sudo /opt/bitnami/ctlscript.sh restart apache
証明書を更新する
Let’s Encrypt の証明書は3ヶ月で切れるので更新する
bash
#Redmine関連のサービスを全て止める
sudo /opt/bitnami/ctlscript.sh stop
80ポートへインターネットからアクセスできるようにNSGやファイアウォールをオープンする
bash
./certbot-auto renew --standalone
./certbot-auto renew --standalone --force-renewal
再度NSGやファイアウォールを閉じる
bash
#Redmine関連のサービスを全て再開
sudo /opt/bitnami/ctlscript.sh start