Ruby on Railsで作成されたプロジェクト管理ツールRedmineのインストールメモ。 またApache 2.2 + mod_fcgi + Ruby on Railsの環境でRedmineを動作させるための方法。
サーバ構成
下記の構成からなる環境へのインストールする。
- Fedora Core 6
- Apache 2.2
- Subversion 1.4
- MySQL 4.1
Ruby on Railsのインストール
Redmineの動作に必要となるRuby on Railsをインストールする。
Rubyのインストール
Rubyおよび必要となるパッケージをインストールする(ruby-rdocはRubyGemsのインストール時に必要)。
# yum install ruby irb ruby-devel ruby-rdoc
今回インストールしたバージョンは下記のとおり。
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
ruby i386 1.8.5.114-1.fc6 updates 280 k
ruby-devel i386 1.8.5.114-1.fc6 updates 556 k
ruby-irb i386 1.8.5.114-1.fc6 updates 68 k
ruby-rdoc i386 1.8.5.114-1.fc6 updates 133 k
Installing for dependencies:
ruby-libs i386 1.8.5.114-1.fc6 updates 1.6 M
インストール出来たことを確認。
# ruby -v
ruby 1.8.5 (2007-09-24 patchlevel 114) [i386-linux]
RubyGemsのインストール
RubyForgeのRubyGemsのサイトよりソースをダウンロードしてインストールする。
# wget http://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgz
# tar xvzf rubygems-1.0.1.tgz
# cd rubygems-1.0.1
# ruby setup.rb
インストール出来たことを確認。
# gem -v
1.0.1
Ruby on Railsのインストール
gemを用いてインストールする。
gem install rails
インストール出来たことを確認。
# rails -v
Rails 2.0.2
Redmineのインストールと設定
Redmineのインストール、初期設定とWEBrick web serverによる動作確認。
データベースの準備
Redmineで使用するデータベースおよびユーザを追加する。 データベース名はredmine、ユーザ名はredmineuser、パスワードはredmineuserとする。
mysql> create database redmine default character set utf8;
Query OK, 1 row affected (0.03 sec)
mysql> grant all privileges on redmine.* to redmineuser@localhost;
Query OK, 0 rows affected (0.04 sec)
mysql> set password for redmineuser@localhost=password('redmineuser');
Query OK, 0 rows affected (0.03 sec)
作成した結果。
mysql> select user,host,password from mysql.user where user='redmineuser';
+-------------+-----------+------------------+
| user | host | password |
+-------------+-----------+------------------+
| redmineuser | localhost | 5839b7ad66b7cf5d |
+-------------+-----------+------------------+
2 rows in set (0.00 sec)
mysql> select Host,Db,User from mysql.db where User='redmineuser';
+-----------+---------+-------------+
| Host | Db | User |
+-----------+---------+-------------+
| localhost | redmine | redmineuser |
2 rows in set (0.00 sec)
Redmineのインストール
以下は一般ユーザで操作する。 ここではRedmine以外のRailsアプリケーションをインストールする可能性と、後述するApacheでのアクセス設定のしやすさを考慮して、/var/www/rails/redmineにインストールする。
$ mkdir /var/www/rails/redmine
$ cd /var/www/rails/redmine
RedmineのソースをSubversionリポジトリよりチェックアウトする(trunkよりバージョン0.6.3相当のものをチェックアウト)。
$ svn checkout http://redmine.rubyforge.org/svn/trunk/ -r 1012 .
設定ファイルを編集し、データベースに関する設定を変更する。
$ cd config
$ mv database.yml.example database.yml
$ vi database.yml
変更箇所は次のとおり。 データベースサーバに別のホストを指定する場合は、hostも変更する。
12,14c12,14
< username: root
< password:
---
> username: redmineuser
> password: redmineuser
続いてRedmineからメールを送信する際に用いるメールサーバに関する設定を変更する。
$ vi environment.rb
変更箇所は次のとおり。 必要に応じて認証に関する設定も変更する。
47c47
< :address => "127.0.0.1",
---
> :address => "mail.example.com",
49,52c49
< :domain => "somenet.foo",
< :authentication => :login,
< :user_name => "redmine",
< :password => "redmine",
---
> :domain => "mail.example.com",
Redmineのインストールしたルートディレクトリに戻り、Redmineで使用するDBテーブルを作成する。
$ cd ..
$ rake db:migrate RAILS_ENV="production"
作成したテーブルにデフォルトのデータを読み込む。
$ rake redmine:load_default_data RAILS_ENV="production"
この時、使用する言語を問われるので"ja"(日本語)を選択する。
Select language: bg, cs, de, en, es, fr, he, it, ja, ko, nl, pl, pt, pt-br, ro, ru, sr, sv, zh, zh-tw [en] ja
~~~~
====================================
Loading default configuration data for language: ja
WEBrickを用いて動作テスト
Ruby on Railsに標準で用意されているウェブサーバ'WEBrick web server'を使用して動作確認をする。 ここでは-pオプションで使用するポートとして8080を指定。
$ ruby script/server -e production -p 8080
ブラウザでhttp://localhost:8080/を開き、Redmineのページが表示されれば無事動作したこととなる。 初期状態ではユーザ名admin、パスワードadminでログイン出来る。
Apache + mod_fcgidで動作させる
Apache + mod_fcgidでRuby on Railsを動作させるための手順。
公開URL、インストール場所の決定
ここでは次のような構成・設定でアクセスできるように設定する。
- RedmineのURL
- /redmine
- DocumentRoot
- /var/www/html
- Redmineインストール場所
- /var/www/rails/redmine
インストール場所をDocumentRoot以外の場所にすることで、直接アクセスされないようにする。
mod_fcgidのインストール
fedora-extrasリポジトリに用意されているので、/etc/yum.repos.d/fedora-extras.repoの以下の箇所を変更して、yumの設定ファイルを有効にしておく。
[extras]
enabled=1
mod_fcgidのインストール。
# yum install mod_fcgid
設定ファイルがインストールされていることを確認。
# ls /etc/httpd/conf.d/fcgid.conf
/etc/httpd/conf.d/fcgid.conf
fcgiのインストール
fcgiのソースをダウンロードして、インストールする(Rubyバインディングのインストール時にfcgiのヘッダファイルが必要となるため)。
# wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
# tar xvzf fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure
# make
# make install
fcgiのRubyバインディングをインストールする。
# gem install fcgi
Apache設定ファイルの修正
httpd.confに下記の内容を追記する。
# Railsアプリケーションを'production'で動作させる
DefaultInitEnv RAILS_ENV production
# mod_fcgidの動作に関する設定
<IfModule mod_fcgid.c>
MaxProcessCount 5
IdleTimeout 600
IPCCommTimeout 60
IPCConnectTimeout 30
ProcessLifeTime 3600
</IfModule>
# Railsアプリケーションディレクトリの設定
<Directory "/var/www/rails">
# Railsアプリケーションディレクトリの.htaccessファイルを無効にする
AllowOverride None
# CGIを許可する
Options ExecCGI FollowSymLinks
# 直接アクセス出来ないようにする
Order deny,allow
Deny from all
# 拡張子.fcgiのファイルをfcgiで動作させるようハンドラを割り当てる
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
</Directory>
# public配下を/redmineとして公開する
Alias /redmine /var/www/rails/redmine/public
# /redmineの設定
<Location "/redmine">
# ローカルからのアクセスのみを許可する
Order allow,deny
Allow from 192.168.0.0/24
# ファイル以外のリクエストをすべてdispatch.fcgiへのリクエストとして扱う
RewriteEngine On
RewriteBase /redmine
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</Location>
dispatch.fcgiの有効化、パーミッションの変更
mod_fcgidを用いて動作させるために、public/dispatch.fcgiを有効にする。
$ cd /var/www/rails/redmine/public
$ cp dispatch.fcgi.example dispatch.fcgi
以下の各ディレクトリについて、Apacheが書き込み出来るようにパーミッションを変更する、
$ chmod -R a+w log/
$ chmod -R a+w tmp/
$ chmod -R a+w files/
動作テスト
Apacheを再起動したあとhttp://localhost/redmine/にアクセスし、WEBrickと同じようにRedmineが表示されればOK。
参考サイト
- Redmine - Overview - Redmine
- RedmineのWiki。 インストール方法から使い方まで一通りのドキュメントがある
- 連載:Ruby on Railsで作られたプロジェクト管理ツールredMineを使ってみよう!|gihyo.jp … 技術評論社
- Redmineのインストール、初期設定について
- The mod_fcgid Home Page
- mod_fcgidのドキュメント(httpd.confでの設定について書かれている)
- Paul’s Journal » Blog Archive » Using mod_fcgid for Ruby on Rails Applications
- mod_fcgidでRuby on Railsアプリケーションを動作させるためのhttpd.confの設定(public/.htaccessを無効にし、httpd.confでRewriteRuleを設定するやり方)