redmineはプロジェクトごとに機能の増減やアクセス権を増やせるものの、諸般の事情で「全く別のドメインで新たにredmineを構築する」必要がありました。
以下の手順でうまくいったので、メモとして残します。
環境
- Ubunut 20.04 (AWS Lightsailインスタンス上)
- 既に以下のredmineを立ち上げ済み
- redmine 4.2
- ruby 2.7
- mysql 8.0.31
rubyのバージョンの関係で4.2系をインストールすることにします。また、既に動いている環境なのでapacheやmysqlの初期設定は行っていません。
立ち上げ手順
前提
- 新たなドメインを取得しているものとします。
- mysqlは同一サーバ上にあり、管理者権限を持っているものとします。
- この段階ではhttpsを行わないので、グローバル環境で実施する際は早急にSSL化を行ってください。
- また、筆者が使いたいプラグインの関係上、4.2をインストールします。
さっくりとした概要
次の内容を実施します。
- 新たなredmine用のデータベースを新規で作る。
- 現行とは別のディレクトリ上にredmineのプログラムを展開する。
- apacheのバーチャルホスト機能で新規redmineの機能を
注意事項
- 現行のredmineをredmine.sample.com/redmine
- 新しいredmineをredmine2.sample.com/redmine2
で稼働させます。
現行稼働している時に新しいものを立ち上げる場合は、現行環境のバックアップを取るなどの施策を行ってください。
以下、管理者権限で行います。
redmine用DB/ユーザ作成
mysql -uroot -p
CREATE DATABASE redmine2 character set utf8mb4;
CREATE USER 'redmine2'@'localhost' IDENTIFIED BY 'パスワード';
GRANT ALL ON redmine2.* TO 'redmine2'@'localhost';
flush privileges;
exit
redmine取得
ソースダウンロード
mkdir /var/lib/redmine2
chown -R www-data:www-data /var/lib/redmine2
sudo -u www-data svn co https://svn.redmine.org/redmine/branches/4.2-stable /var/lib/redmine2
configファイル編集
cp -pi /var/lib/redmine2/config/database.yml.example /var/lib/redmine2/config/database.yml
vi /var/lib/redmine2/config/database.yml
編集ファイル内容
productionの部分を以下のように変更します。
production:
adapter: mysql2
database: redmine2
host: localhost
username: redmine2
password: "パスワード"
encoding: utf8mb4
redmineインストール
cd /var/lib/redmine2
sudo -u www-data bundle install --without development test --path vendor/bundle
sudo -u www-data bundle exec rake generate_secret_token
sudo -u www-data RAILS_ENV=production bundle exec rake db:migrate
sudo -u www-data RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
設定ファイル編集
vi /etc/apache2/sites-available/redmine2.conf
設定ファイル内容
<VirtualHost *:80>
ServerName redmine2.sample.com
Alias /redmine2 /var/lib/redmine2/public
<Location /redmine2>
PassengerBaseURI /redmine2
PassengerAppRoot /var/lib/redmine2
Require all granted
</Location>
ErrorLog /var/log/apache2/redmine2.sample.com_error.log
CustomLog /var/log/apache2/redmine2.sample.com_access.log combined
</VirtualHost>
リダイレクトなどで軽くハマり、この設定に落ち着きました。この後、SSL化の手順を実施します。
設定ファイル有効化
a2ensite redmine2.conf
apache2ctl configtest
# Syntax OKを確認します。
systemctl reload apache2.service
アクセス確認
http://redmine2.sample.com/redmine2
でログインします。