Windows XP に Redmine をインストールする

結論。
Redmine Cloud Hosting, Redmine Installer, Docker Container and VM でインストールするのが手っ取り早い。
何はともあれインストール出来たので、自分の作業管理に使っていく予定。
以下は結論にいたるまでの軌跡。

最初はプロジェクト管理ツール「Redmine」をWindows XP上で(多分)最小手順で構築する - P-SQUARE MIDI Siteを参考に XAMPP → RubyRailsRedmine と入れていったのだけれども、Redmine の設定のエラーが解決できなかった。

XAMPP のインストール

http://www.apachefriends.org/jp/xampp-windows.htmlからダウンロードしてインストール。
インストール完了後に起動する XAMPP Controll Panel から ApacheMysql の起動を確認。
Mysql は起動したけど、どうも Apache が起動しない。
サービスから直接起動させてみると、以下のエラーメッセージ。

ローカル コンピュータ で Apache2.2 を開始できません。詳細については、システム イベント ログを確認してください。これが Microsoft 以外のサービスである場合は、サービスの製造元に問い合わせてサービス固有のエラー コード 1 を参照してください。

ポート80が既に使われていると出るエラーとのこと。
Skype の設定を見てみると見事にポート80を使っていたので、以下の手順で変更。
Skype の[設定]→[詳細]→[接続]の「上記ポートに代わり、ポート80を使用」のチェックを外す。

Ruby のインストール

RubyInstaller for Windowsからダウンロードしてインストール。
特に問題なくインストール完了。

Rails のインストール

>gem install rails --include-dependencies

で特に問題なくインストール完了。

Redmine のインストール

データベースの作成

mysqladmin ->「新規データベースを作成する」項目に「redmine」と入力し「作成」をクリック。
照合順序とかインターフェースとかはいじらないでやった。

Redmine の設定

>rake db:migrate RAILS_ENV="production"

を実行。
ここで問題発生。

RubyGem version error: rack(1.1.0 not ~> 1.0.1)

というエラーが出た
1.1.0 はお気に召さないらしい。

>gem install rack --version "~> 1.0.1"

で要求されているバージョンにして再度実行するも、やっぱりエラーが出る。

ERROR:  While executing gem ... (NoMethodError)
undefined method `[]' for false:FalseClass

インストールに失敗していたか?と思い最初からやり直してみる。
Rails は --include-dependencies なしで入れてみた。

>gem install rails
>gem install rack --version "~> 1.0.1"
>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

mysqlのインストールがされていないようなので、インストール。

>gem install mysql
Successfully installed mysql-2.8.1-x86-mingw32
1 gem installed
Installing ri documentation for mysql-2.8.1-x86-mingw32...
Installing RDoc documentation for mysql-2.8.1-x86-mingw32...

再び Redmine の設定。

>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
126: 指定されたモジュールが見つかりません。   - C:/Ruby191/lib/ruby/gems/1.9.1/gems/mysql 2.8.1-x86-mingw32/lib/1.9/mysql_api.so
(See full trace by running task with --trace)

えー。
mysqlのインストールディレクトリのbin/libmysql.dllを、Rubyインストールディレクトリのbin/にコピーして再実行。

>rake db:migrate RAILS_ENV="production"
(in C:/redmine)
rake aborted!
undefined method `each' for false:FalseClass

(See full trace by running task with --trace)
: [BUG] Segmentation fault ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32] -- control frame ---------- c:0001 p:0000 s:0002 b:0002 l:001234 d:001234 TOP --------------------------- -- Ruby level backtrace information----------------------------------------- [NOTE] You may encounter a bug of Ruby interpreter. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

どうにもならん。

調べてみると、Ruby1.9 + Rails、MySQL5.1 + Rails は相性が悪いようで。
というわけで、Redmine Cloud Hosting, Redmine Installer, Docker Container and VM でインストールしてめでたしめでたし、というわけでした。