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 化は完了です。