2012年09月06日

Redmineのインストール (Ver.2.x)

以前、Redmine 1.1.2 のインストールメモを書いたけれど、2.x のインストールはあちこち様子が違うのであらためて書いておく。

インストールした環境は、CentOS release 5.7 (Final)
インストールした Redmine のバージョンは 2.0.3

Redmine.JP に掲載されているインストール手順を参考に作業した。
http://redmine.jp/guide/RedmineInstall/

(1) 必要なツール類のインストール

今回は、Ruby をソースからコンパイルすることにした。
Rubyの前に libyaml をインストールしておかないと、Ruby 実行時に YAML ファイルが出力できないという警告がたびたび出てうるさい。
YAML
http://www.yaml.org/
から libyaml を選んでソースをダウンロードし、解凍&インストール。
# wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
# tar zxvf yaml-0.1.4.tar.gz
# cd yaml-0.1.4
# ./configure
# make
# make test
# make install
# cd ..
次に Ruby。
Rubyのサイト:
http://www.ruby-lang.org/ja/
からソースをダウンロードし、解凍&インストール。
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.bz2
# tar jxvf ruby-1.9.3-p194.tar.bz2
# cd ruby-1.9.3-p194
# ./configure
# make
# make test
# make install
# cd ..
そして Ruby on Rails と Bundler をインストールする。
# gem install rails
# gem install bundler
※あとで必要パッケージ一を括インストールするので、ここで rails インストールしなくても OK だったかも。

(2) Redmine 用アカウント作成

Redmine 用アカウント redmine を作成。
# useradd redmine

(3) データベースの準備

データベースは今回は MySQL を使用した。
これはめんどうなので yum でインストール。
# yum install mysql-server mysql mysql-devel
Redmine 用のデータベースとユーザーを作成。
# mysql -u root -p
Enter password: XXXXX
mysql> create database redmine character set utf8;
mysql> create user 'redmine'@'localhost' identified by 'XXXXX';
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';

(4) Redmine のインストール

ソースファイルのダウンロードまたはSVNレポジトリからチェックアウトし、インストール先に設置する。
今回は /usr/local/redmine にした。
# svn checkout http://redmine.rubyforge.org/svn/branches/2.0-stable /user/local/redmine
/usr/local/redmine ディレクトリに移り、Bundler で必要な gem を一括インストール。
# cd /usr/local/redmine
# bundle install --without development test postgresql sqlite
必要なバージョンの ImageMagick がインストールされていないと rmagick に関するエラーが表示される。
その場合は、
# bundle install --without development test postgresql sqlite rmagick
とする。

(5) セッションストア秘密鍵の生成

redmine アカウントでログインし、セッションストア秘密鍵を生成する。
# rake generate_secret_token
これにより、config/initializers/secret_token.rb が作られる。

(6) テーブル作成

config/database.yml.example を config/database.yml にコピーし、production: のところの内容を変更する。
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: redmine のパスワード
encoding: utf8
そして、以下のコマンドを実行:
# cd /usr/local/redmine
# RAILS_ENV=production rake db:migrate
redmine データベース内にテーブル等が作られる。

もし、openssl が load できない、というエラーが出たら、Ruby ソース内の openssl 拡張をインストールする。
# cd ruby-1.9.3-p194/ext/openssl
# ruby extconf.rb
# make
# make install
(参考サイト: CentOS 5.2 に rails 環境を構築する)

(7) 動作確認

以下のディレクトリは redmine アカウントが読み書き可能にしておく。
# cd /usr/local/redmine
# mkdir tmp public/plugin_assets
# sudo chown -R redmine:redmine files log tmp public/plugin_assets
# sudo chmod -R 755 files log tmp public/plugin_assets

以下のコマンドを実行してWebサーバーを起動:
# ruby script/rails server webrick -e production
http://localhost:3000/ にアクセスして Welcome 画面が表示されるか確認する。

(8) Passenger (mod_rails) を導入

Redmin.JP サイトに webrick は「開発用」なので「動作確認以外には使用するな」という脅し文句が書かれているので、Passenger をインストールしてみる。
まずは、必要なパッケージをインストール。
# gem install fastthread daemons passenger
場合によってはほかのパッケージが必要かもしれない。
Passenger Apache 2モジュールのインストーラーを実行。
# passenger-install-apache2-module
もし足りないライブラリーやツールがあると、インストール方法を丁寧に教えてくれるのがありがたい。
提示されたコマンドを実行した後に再度実行。
いろいろ表示されるが、最後に Apache の設定ファイルに追加する設定を示してくれる。
ほんと、ありがたい。
たとえばこんな感じ:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.17/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.17
PassengerRuby /usr/local/bin/ruby
これで、Apache に Passenger モジュールがインストールされ、Rails アプリが実行できるようになる。
Redmine を実行させるには、たとえば、
RailsBaseURI /redmine
RailsEnv production
という設定を追加し、DocumentRoot に Redmine の public ディレクトリをシンボリックリンクしてあげる。
たとえば:
# ln -s /usr/local/redmine/public /var/www/html/redmine
そして、Redmine ディレクトリのオーナーを apache:apache に変更。
# chown -R apache: /usr/local/redmine
これで http://(ホスト名)/redmine で Redmine にアクセスできるようになる。
posted by K/I at 23:16 | 東京 ☁ | Comment(0) | TrackBack(0) | 技術メモ | このブログの読者になる | 更新情報をチェックする