bitnamiで作ったredmineもそろそろバージョンアップしてえなぁ、となりました。
一番楽そうな方法を模索した結果、こんな感じではないかと思ったので備忘録がてら書いておきます。
前提
- bitnami-redmine-4.2.1-2-linux-x64-installer.runでインストールしたやつをアップグレード
- Redmineは5.0.5にアップグレード
最初に
bitnamiはmysqlもrubyも全部インストールしてくれます。
それらのパスを最優先させるために、以下のおまじないをします。
$ source /opt/redmine/use_redmine
バックアップ
何かあったら戻すのでまずはバックアップ。
mysqlのパスワードはbitnaminiインストール時に最初に入力したやつ。
$ . /opt/redmine/use_redmine
$ mysqldump -u root -p bitnami_redmine > /tmp/redmine_dump.sql
Redmine4 から 5へアップグレード
最初にredmineのパスへ移動します。
$ cd /opt/redmine/apps/redmine
既存のパスをリネームしてredmine5をダウンロード。
$ mv htdocs htdocs.old
$ wget https://github.com/redmine/redmine/archive/refs/tags/5.0.5.tar.gz
$ tar xvzf 5.0.5.tar.gz
$ mv redmine-5.0.5/ htdocs
あとは依存するものを更新して、セッションストアの秘密鍵を更新。
$ cd htdocs
$ bundle install --without development test
$ bundle exec rake generate_secret_token
$ bundle update
もとの設定ファイルをコピーして マイグレーション。
$ cp -pv ../htdocs.old/config/database.yml config/
$ cp -pv ../htdocs.old/config/configuration.yml config/
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake tmp:cache:clear RAILS_ENV=production
ファイルやテーマをコピー。
$ cp -prv ../htdocs.old/files/* files/
$ cp -prv ../htdocs.old/public/themes/* public/themes/
bitnamiは権限がroot:daemon
なので変更しておく。
$ chown -R root:daemon .
サブディレクトリの場合はconfig/environmet.rbにRedmineApp::Application.routes.default_scope = "/redmine"
を追加
動かないpluginがあったので別の方法で対応。
bitnamiのパッケージはPassengerもついているので/opt/redmine/apps/redmine/conf/httpd-app.conf
にPassengerBaseURI
を追加。
RewriteEngine On
RewriteRule /<none> / [L,R]
<Directory "/opt/redmine/apps/redmine/htdocs/public">
Options -MultiViews
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
PassengerEnabled on
SetEnv RAILS_RELATIVE_URL_ROOT "/redmine"
PassengerAppRoot "/opt/redmine/apps/redmine/htdocs/"
PassengerBaseURI "/redmine"
<IfModule pagespeed_module>
ModPagespeedDisallow "*"
</IfModule>
Include "/opt/redmine/apps/redmine/conf/banner.conf"
</Directory>
再起動
再起動して終わり。
$ /opt/redmine/ctlscript.sh restart