Redmineをインストール

Redmine を Ubuntu9.10 へインストールしたときの覚え書き。Redminehttp://rubyforge.org/frs/?group_id=1850 より 0.8.5 をダウンロードした。基本的には公式ページにあるインストール手順に沿っただけ。そこにはには書かれていないが必要だった手順を書く。

RedmineRuby 1.8.7 で構築するが吉

RedmineRuby 1.9.1 に対応していない。問題は rake 時に発生した。

% rake db:migrate RAILS_ENV=production
(in /redmine-0.8.5)
rake aborted!
no such file to load -- test/unit/error
/redmine-0.8.5/Rakefile:10:in `require'
(See full trace by running task with --trace)

Test::Unit::Error を必要としているが、Ruby 1.9.1 の標準添付ライブラリから Test::Unit::Error は消えてしまっている。http://test-unit.rubyforge.org/index.html.ja をインストールすることで回避可能*1

# gem install test-unit

Test::Unit のインストール後 rake を再度実行するも、別のエラーが発生。

% rake  db:migrate RAILS_ENV=production
(in /redmine-0.8.5)
rake aborted!
no such file to load -- soap/rpc/driver

(See full trace by running task with --trace)

Soap のライブラリが require できない。これも 1.8 にはあったが 1.9 では消えた標準添付ライブラリの一つ。これも gem からインストールできる。

# gem install soap4r

三度目の rake を実行。

% rake db:migrate RAILS_ENV=production
(in /redmine-0.8.5)
rake aborted!
invalid multibyte escape: /\A(?:[\x9\xa\xd\x20-\x7F]|(?:[\x8E\xA1-\xFE][\xA1-\xFE])|(?:\x8F[\xA1-\xFE][\xA1-\xFE]))*\z/

(See full trace by running task with --trace)

どうも soap4r が Ruby 1.9 に対応できていないようだ。http://dev.ctor.org/soap4rでは、Ruby 1.9 に対応した soap4r-1.6.x をリリースする予定らしいが、更新は止まっている模様。isitruby19.com - このウェブサイトは販売用です! -&nbspisitruby19 リソースおよび情報を見ると1.9に対応したsoap4rを公開している人がいる。しかし、これを解決しても 1.9 に対応していないライブラリが他にもあるかもしれないので、ここで 1.9 で動作させることは諦め、Ruby 1.8.7 をインストールした。

sqlite3-ruby パッケージのインストールで

sqlite3-ruby のインストールでエラー

# gem1.8 install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
	ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
	from extconf.rb:1

mkmf がないとのこと。ruby1.8-devパッケージを入れることで解決。

# apt-get install ruby1.8-dev
passenger-install-apache2-module で

passenger-install-apache2-moduleを実行すると

 * OpenSSL support for Ruby... not found

と表示される。以下ので順でパッケージをインストールしてくれとある。

 * To install OpenSSL support for Ruby:
   Please run apt-get install libopenssl-ruby as root.

が、インストールするパッケージはバージョンまで指定しないといけない。

# apt-get install libopenssl-ruby1.8
Apache の設定
# cd /etc/apache2/mods-available
# echo "PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.5
dquote> PassengerRuby /usr/bin/ruby1.8" > passenger.conf
# echo "LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.5/ext/apache2/mod_passenger.so" > passenger.load

# cd /etc/apache2/sites-available
# echo "<VirtualHost *:80>
dquote>   ServerName local.redmine.example.jp
dquote>   DocumentRoot /redmine-0.8.5/public
dquote>   RailsEnv production
dquote> </VirtualHost>" > redmine

# a2enmod rewrite
# a2enmod passenger
# a2ensite redmine
# /etc/init.d/apache2 reload

以上

*1:rakeは通るようになるという意味で。実際に動作まではさせていない。