新しいバージョンのインストール
新しいバージョンの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でApacheをMySQLのポート番号を控える。
C:\Bitnami\redmine-4.0.5-0\uninstall.exeを実行する。
ポートの変更
C:\Bitnami\redmine-5.0.2-2\manager-windows.exeのConfigでApacheをMySQLのポートを元通りにする。
どうやら、RedmineのApacheにTomcatと連携するという不可思議なことをしていたようで、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
これで無事に移行が成功した。