Redmine 5.0 を Ubuntu 22.04 LTS にインストールして、TLS 対応させる
TL;DR
- Ubuntu Server 22.04 に Redmine 5.0 をインストールする
- TLS にも対応させる
- なんかとても古臭い方法になったので、徐々に改善していきたい
Redmine 5.0 のインストール
とりあえず Redmine 5.0 をUbuntu 22.04 LTSにインストールする手順 に沿って進めていくだけ。
make
とかしててとりあえずマジかよという感じ、時間がかかります。
途中の選択肢は パターン1: webサーバをRedmine専用として使用 を選んでいます。
TLS 対応させる
証明書は Acmebot で Azure Key Vault に保管された証明書を apache2 で利用する を参考に作成しておきます。
/etc/apache2/ssl/
に certificate.crt
と key.pem
を配置しておきます。
Mozilla SSL Configuration Generator を利用して sapmle config を作ります。
こちらは自動生成させたそのものなのでしまっておきます
# generated 2023-10-05, Mozilla Guideline v5.7, Apache 2.4.52, OpenSSL 3.0.2, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.52&config=intermediate&openssl=3.0.2&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
# curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
SSLCertificateFile /path/to/signed_cert_and_intermediate_certs_and_dhparams
SSLCertificateKeyFile /path/to/private_key
# enable HTTP/2, if available
Protocols h2 http/1.1
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
で、こちらをもとにこんな感じのファイルを /etc/apache2/sites-available/redmine.conf
に作成します。
先ほどのとの違いは、SSLCertificateFile
や SSLCertificateKeyFile
がいい感じになっているのと、DocumentRoot
が追加されているところです。
# generated 2023-10-05, Mozilla Guideline v5.7, Apache 2.4.52, OpenSSL 3.0.2, intermediate configuration
# https://ssl-config.mozilla.org/#server=apache&version=2.4.52&config=intermediate&openssl=3.0.2&guideline=5.7
# this configuration requires mod_ssl, mod_socache_shmcb, mod_rewrite, and mod_headers
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/lib/redmine/public
SSLEngine on
# curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
SSLCertificateFile /etc/apache2/ssl/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/key.pem
# enable HTTP/2, if available
Protocols h2 http/1.1
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"
</VirtualHost>
# intermediate configuration
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
SSLHonorCipherOrder off
SSLSessionTickets off
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
で、そうすると既定の sites と設定がかぶるので、000-default
を無効化します。
sudo a2dissite 000-default
で、redmine.conf
を有効化します。
sudo a2ensite redmine
/etc/apache2/sites-enabled/
のフォルダの中には、redmine.conf
へのシンボリックリンクのみがある状態になるはずです。
$ ls -l /etc/apache2/sites-enabled/
total 0
lrwxrwxrwx 1 root root 31 Oct 5 09:10 redmine.conf -> ../sites-available/redmine.conf
sample config の冒頭に必要となる module が書いてあるのですが、規定では module が足りずに怒られるので、追加しておきます。
a2enmod ssl socache_shmcb rewrite headers
設定反映のため、apache2
を再起動します。
sudo systemctl restart apache2
Redmine にアクセスする
すくしょが無くても問題ないと思いますが、https 付きで Web サイトにアクセスして、Redmine が表示されれば成功です。
初期設定とか
Redmineを使い始めるための初期設定 を参考に初期設定を済ませる。
特に、デフォルトデータのロード をしておかないとチケットの起票すらできないプロジェクトが作成される。。
参考
- Redmine 5.0 をUbuntu 22.04 LTSにインストールする手順
- Mozilla SSL Configuration Generator
- UbuntuのApache設定ファイル、どうやるんだっけ?
- Redmineを使い始めるための初期設定
Discussion