Ruby on Railsで作成されたプロジェクト管理ツールRedmineのインストールメモ。 またApache 2.2 + mod_fcgi + Ruby on Railsの環境でRedmineを動作させるための方法。
下記の構成からなる環境へのインストールする。
Redmineの動作に必要となるRuby on Railsをインストールする。
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]
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
gemを用いてインストールする。
gem install rails
インストール出来たことを確認。
# rails -v Rails 2.0.2
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以外の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
Ruby on Railsに標準で用意されているウェブサーバ'WEBrick web server'を使用して動作確認をする。 ここでは-pオプションで使用するポートとして8080を指定。
$ ruby script/server -e production -p 8080
ブラウザでhttp://localhost:8080/を開き、Redmineのページが表示されれば無事動作したこととなる。 初期状態ではユーザ名admin、パスワードadminでログイン出来る。
Apache + mod_fcgidでRuby on Railsを動作させるための手順。
ここでは次のような構成・設定でアクセスできるように設定する。
インストール場所をDocumentRoot以外の場所にすることで、直接アクセスされないようにする。
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のソースをダウンロードして、インストールする(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
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>
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。