最近、仕事が忙しくて、更新もろくにできない状態でしたが、ようやく時間がとれたので予てからの課題を解決することに。
Windows 7 にインストールした BitNami Redmine Stack 1.3.1-11.4.1.0 に更新することにしたので備忘録。

BitNami Redmine Stackの公式サイトのこちらにアップデートの手法が書かれているが、これは無視。
というのも、この手法で行っても更新がうまくできなかったので…
今回の方法としては、**

  1. 必要なファイルをバックアップ
  2. 既存のBitNami Redmine Stackを一度アンインストール
  3. 新しいBitNami Redmine Stackをインストール
  4. バックアップから復元

**というのが大まかな流れ。
では早速。

(1) 万が一に備えて、インストールした BitNami Redmine Stack をフォルダごとコピー。通常なら C:\Program Files\BitNami Redmine Stack のはず。

(2) Redmine のデータベース、プラグイン、テーマ、添付ファイルをバックアップ。下記はサンプルのバッチ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off

echo *********************************************************
echo.
echo BitNami Redmine Stack のデータベースをバックアップします。
echo MySqlが停止状態ではないか確認してください。
echo.
echo *********************************************************

@set BITNAMI=C:\Program Files\BitNami Redmine Stack
@set BACKUPDIR=E:\Backup\Redmine
@set DATETIME=%DATE:/=%
@set ATTACHMENTS=%BACKUPDIR%\%DATETIME%\files
@set PLUGINS=%BACKUPDIR%\%DATETIME%\plugins
@set THEMES=%BACKUPDIR%\%DATETIME%\themes

@mkdir "%ATTACHMENTS%"
@mkdir "%PLUGINS%"
@mkdir "%THEMES%"

@"%BITNAMI%\mysql\bin\mysqldump.exe" --default-character-set=utf8 -u hoge --password=hogehoge --port=???? --database bitnami_redmine > "%BACKUPDIR%\%DATETIME%\dump_utf8.sql"
@xcopy "%BITNAMI%\apps\redmine\files" "%ATTACHMENTS%" /y /s /q
@xcopy "%BITNAMI%\apps\redmine\vendor\plugins" "%PLUGINS%" /y /s /q
@xcopy "%BITNAMI%\apps\redmine\public\themes" "%THEMES%" /y /s /q
@xcopy "Redmine Restore.bat" "%BACKUPDIR%\%DATETIME%" /y /s /q

echo.
echo 完了しました。
pause > nul

(3) コントロールパネルから BitNami Redmine Stack をアンインストール。何故か、Norton Internet Security Online がアンインストールの邪魔をするので、一時的に Auto Protect を無効にして沈黙させてから実行。

(4) 新しい BitNami Redmine Stack をインストール。インストールは英語で行う。というのも、日本語でインストールを行うと、下記のように一部記述が欠けており、一抹の不安を覚えてしまうので、念のため。

(5) インストールが完了したので、一度ログインしておく(これは必須ではないかも…)

(6) バックアップしたデータベースを復元。下記はサンプルのバッチだが、バックアップ時とはユーザ名、パスワードが異なるので、適宜確認。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off

echo *********************************************************
echo.
echo BitNami Redmine Stack のデータベースをリストアします。
echo MySqlが停止状態ではないか確認してください。
echo.
echo *********************************************************

@set BITNAMI=C:\Program Files\BitNami Redmine Stack
@set ATTACHMENTS=files

@"%BITNAMI%\mysql\bin\mysql" -u hoge --password=hoge --database bitnami_redmine < dump_utf8.sql
@xcopy "%ATTACHMENTS%" "%BITNAMI%\apps\redmine\files" /y /s /q

echo.
echo 完了しました。
pause > nul

(7) 不足しているフィールドがデータベースにあるので、下記のsqlを発行。前項のユーザ名とパスワードでmysqlへログインできるはず。

1
2
3
alter table custom_fields add multiple tinyint(1) default '0';
alter table repositories add identifier varchar(255) default null;
alter table repositories add is_default tinyint(1) default '0';

恐らく、multple は、Redmine 1.4より対応になったリポジトリの複数管理に関するものだと思われる…他は知らない。

(8) 一度、Manager tool から全てのサービスを停止。

(9) C:\Program Files\BitNami Redmine Stack\apps\redmine\config\environments\production.rb に下記の記述を追記し、エラー、警告のみがログに記録されるように修正。

1
2
3
# ログの出力を制限
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::WARN

(10) C:\Program Files\BitNami Redmine Stack\apps\redmine\log 配下のファイルを削除。

(11) Manager tool から全てのサービスを開始。

(12) Redmineにログインし、一通り、確認してエラーがないことを確認。

(13) バックアップで退避した、プラグイン、テーマファイルを復元。既に入っているプラグインやテーマファイルを上書きしないように注意。

(14) 必要に応じてデータベースの再構築やサービスの再起動を実施。プラグインのインストール時に、

1
Please install RDoc 2.4.2+ to generate documentation.

なるメッセージがコマンドプロンプトに表示されるが無視。どうも警告らしいが…

(15) プラグインの動作を確認。

(16) 終了

以上で終了です。
BitNami Redmine Stack は環境の構築は非常に簡単なのですが、更新が面倒極まりありません。
そもそも、公式サイトで紹介されているアップデートの手段も人力。
アップデートのためのソフトウェアを提供していただきたいものです。

私のように、BitNami Redmine Stack をインストールしたけど、アップデートできないよー(><)、と困っている方がいると思いますので、こうして記事にしましたが如何でしたでしょうか?