Redmineインストール

人様のまとめた資料を元になんとかしてみます。

Rubyインストール

# yum -y install ruby ruby-devel rpm-build rdoc gcc-c++
# ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]

確か、rpm-build はrubygemsのインストールに、rdocはRailsのインストールに、ruby-develはsqlite3-rubyのインストールに、gcc-c++はpassengerのインストールに、それぞれ必要。

Tracのインストールをする際にsqlitesqlite-develも入れているので、今回は割愛してますが、この2つも無いとインストールに失敗するようです。

RubyGemsインストール

RubyGemsはtarボールしかなさそうなので、checkinstallを入れて、RPMパッケージとして管理する方向で進めてみます。
ただし、普通にやるとcheckinstallyumで落とせないのですが、RPMforgeリポジトリを追加すれば、yumcheckinstallを落とせるようです。

yum に RPMforge リポジトリを追加する

一応バージョンは確認しましたが、2008-10-26時点でまだ最新のようなので、そのまま実行。

# wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uhv rpmforge-release-0.3.6-1.el5.rf.i386.rpm

参考資料の通り、デフォルトで無効(enabled = 0)にしておきます。

# vi /etc/yum.repos.d/rpmforge.repo
# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt
checkinstallインストール
# yum --enablerepo=rpmforge install checkinstall
RubyGemsインストール

基本的には、参考資料3のまんまです。

まず、http://rubyforge.org/frs/?group_id=126でバージョンとURIをチェック。

# wget -c http://rubyforge.org/frs/download.php/43985/rubygems-1.3.0.tgz
# tar zxvf rubygems-1.3.0.tgz
# cd rubygems-1.3.0
# checkinstall -R "ruby setup.rb"
  1. y を入力
  2. Enter
  3. 11 - Provides: [ rubygems ] を指定
  4. "Enter the additional requirements:" で ruby を入力
  5. Enter
# rpm -ivh /usr/src/redhat/RPMS/i386/rubygems-1.3.0-1.i386.rpm
# rm /usr/src/redhat/RPMS/i386/rubygems-1.3.0-1.i386.rpm
# gem -v
1.3.0
必要なパッケージのインストール
# gem install rails --include-dependencies
# rails -v
Rails 2.1.2

# gem install sqlite3-ruby
# gem install rake


2009-04-10:追記
gem 1.3.1だと?--include-dependenciesオプション(= -y)はデフォルトのようです。

INFO:  `gem install -y` is now default and will be removed

2009-04-10:追記
特定のバージョンを入れたい場合は、--version(= -v) "バージョン"で。
gem install rails --version "2.1.2"

Redmineインストール

  1. redmineリポジトリから取得。
  2. ownerをapacheに変更
  3. sgidを付与(グループで共同作業するディレクトリを作る - 総天然色頁を参照)

ディレクトリの設定を変えとかないと、ログ書き込みに失敗したりしてエラーになります。

# svn co http://redmine.rubyforge.org/svn/trunk/ /path/to/redmine
# chown -R apache.apache /path/to/redmine
# chmod -R g+s /path/to/redmine
# cd /path/to/redmine
database.ymlの設定

今回はsqliteでさくっと試してみるのが目的なので、参考資料4の通りに設定。

# vi config/database.yml

production:
  adapter: sqlite3
  dbfile: db/redmine.db
  timeout: 5000
データベースの初期化
# rake db:migrate RAILS_ENV=production
(in /path/to/redmine)
Missing the Rails 2.1.0 gem. Please `gem install -v=2.1.0 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

怒られた(´・ω・`)

エラーメッセージの通りに、redmine/config/environment.rbの内容を修正。

RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION
↓
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION
# rake db:migrate RAILS_ENV=production

今度は成功。

日本語のデータをロード

# rake load_default_data RAILS_ENV=production
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sr, sv, th, tr, uk, zh, zh-tw [en] ja
====================================
Default configuration data loaded.

Note: The rake task load_default_data has been deprecated, please use the replacement version redmine:load_default_data

Passengerのインストール

# gem install passenger
# passenger-install-apache2-module

Apacheの設定

Passengerの設定を見ると、VirtualHostとDocumentRootで何とかするように記述されていますが、既存の設定に追加するので、左記のディレクティブは弄らない方向で。

  1. 既存のDocumentRootの下に、redmine/publicシンボリックリンクを作成
  2. アパッチの設定に、passengerインストール時に出力されたLoadModule, PassengerRoot, PassengerRubyの内容を追加する。
  3. 念のため、RailsAutoDetectディレクティブをoffに設定
  4. RailsBaseURIディレクティブで、シンボリックリンクURIを記述。例えば、DocumentRoot/rails/redmineシンボリックリンクなら、/rails/redmine

apacheの設定はまとめるとこんな感じ。

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/bin/ruby
RailsAutoDetect off

RailsBaseURI シンボリックリンクのURI