メモ書きブログ

日々の覚書

Bitnami Redmineを更新した話

新しいバージョンのインストール

新しいバージョンのBitnami Redmineをインストールすると、古いバージョンと共存することが出来る。
その際にポートなどは競合するので、自動的に競合しないポート番号などが指定してくれる。
ポート番号を指定して新しいバージョンが動作しているか、ブラウザで確認。

http://hogehoge/redmine/ → 現行バージョン http://hogehoge:82/redmine/ → 新しいバージョン

dbの移行

SQLフォルダがmariaDBというmySQLの姉妹プロジェクトになっていたが、使い方は一緒。

cd C:\Bitnami\redmine-4.0.5-0\mysql\bin
mysqldump -u root -phogehoge --databases bitnami_redmine --add-drop-database > C:\temp\bitnami_redmine.sql

cd C:\Bitnami\redmine-5.0.2-2\mariadb\bin
mysql -u root -phogehoge < C:\temp\bitnami_redmine.sql

cd C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs
bundle exec rake db:migrate RAILS_ENV="production"
bundle exec rake tmp:cache:clear

ファイルとプラグインの移動

古いバージョンのフォルダ C:\Bitnami\redmine-4.0.5-0\apps\redmine\htdocs

新しいバージョンのフォルダ C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs

この中にあるfilesとpluginsを、にコピーする

migration

C:\Bitnami\redmine-5.0.2-2にあるuse_redmine.batを実行。
これをするとコマンドプロンプトが起動するが、これはrubyへのPATHが通っており、migrationはこのプロンプトで行う。

cd apps\redmine\htdocs

set http_proxy=http://proxy.xxx.co.jp:8080
set https_proxy=http://proxy.xxx.co.jp:8080
bundle install --without development test --no-deployment
rake redmine:plugins:migrate RAILS_ENV=production

Redmine_Thin1とThin2を起動すると、新しいバージョンに移行したデータが見れるようになる。

古いバージョンの削除

C:\Bitnami\redmine-4.0.5-0\manager-windows.exeのConfigでApacheMySQLのポート番号を控える。

C:\Bitnami\redmine-4.0.5-0\uninstall.exeを実行する。

ポートの変更

C:\Bitnami\redmine-5.0.2-2\manager-windows.exeのConfigでApacheMySQLのポートを元通りにする。

Tomcatとの連携

どうやら、RedmineApacheTomcatと連携するという不可思議なことをしていたようで、Tomcatのサービスが動かなくなった。

C:\Bitnami\redmine-5.0.2-2\apache2\conf\httpd.conf

に対して、以下のように追加する。

<Location /aaaa/>
ProxyPass ajp://localhost:8009/aaaa/
</Location>

<IfModule proxy_module>
<IfModule proxy_ajp_module>
  AllowEncodedSlashes NoDecode
  ProxyPreserveHost On
  ProxyPass /bbbb ajp://localhost:8009/bbbb
  ProxyPassReverse /bbbb ajp://localhost:8009/bbbb
</IfModule>
</IfModule>

ついでに看板をインストール

まずpluginを削除

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

インストール

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

Redmine_Thin1とThin2を起動すると、Agileプラグインを認識しているが、
Agileのページを開くと、Internal Errorが起きている

Redmineのinternal errorはここをみる。
C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs\log

どうやら Mysql2::Error: Table 'issue_status_orders' already exists のように怒られている。

issue_status_ordersを削除して、もう一度実行する。

mysql -u bitnami -p bitnami_redmine
Enter password: (ここはdatabase.ymlに記述されているパスワードを入力)
drop table issue_status_orders;
exit

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

これで無事に移行が成功した。