conoha VPS サーバーで redmine が簡単にインストールできることを知ったので、今まで AWS で redmine を運用していたのですが、バージョンアップ(2→3)もしたかったので、最初っから構築し直すことにしました。
インストールは非常に簡単であっという間に出来たのですが、SSL(HTTPS) 化は自分で設定しないといけません。自動で出来なかったので、ちょっと苦慮したので、ここで備忘録までに留めておきます。
SSL 化は、あんまりコストを掛けたくなかったので、Let’s Encrypt を利用するようにします。入力項目もあるので、やはり SSL は必須かなと思うので、conoha のインストールの中で自動化したら良いのになあ〜と思うのですが。


Firewall の設定
https でのアクセスが許可されていないので、Firewall の設定で有効にし、リロードします。
# firewall-cmd --list-all
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd reload
SSL ライブラリの追加
インストールされている Web サーバ (Apache) には SSL ライブラリが入っていないためインストールして設定します。
# yum install mod_ssl
https アクセス時の DocumentRoot の設定
# vi /etc/httpd/conf.d/ssl.conf
最初の方に以下のコードを記入するか、あることを確認します。
DocumentRoot "/var/lib/redmine/public"
リスタートします。
# systemctl restart httpd
この状態で https でのアクセスは可能ですが、証明書が自己証明なので、通常のブラウザアクセスではアラートが出てしまうので、 Let’s Encrypt の証明書を発行して設定します。
Let’s Encrypt の証明書発行と設定
# yum install epel-release
# yum install certbot python-certbot-apache
まず、上記の2つをインストールします。次にドメインの指定をします。「ドメイン名」の部分に設定したいドメインを入力してください。
# certbot certonly --webroot -w /var/lib/redmine/public -d ドメイン名
上記を実行すると、以下のフォルダに秘密鍵や証明書が作成されます。
/etc/letsencrypt/live/ドメイン名/
ssl.conf を設定する。
# vi /etc/httpd/conf.d/ssl.conf
以下の項目を入力します。
SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem
systemctl をリスタートします。
# systemctl restart httpd
https:// でアクセスしてアラートなどが出ないことを確認します。
問題なければ、これで SSL 化は完了です。