apache に redMine をインストールの Tips

出典: encom wiki

目次

[編集] インストール手順

環境:CentOS 4, Apache 2.0.59, FastCGI, MySQL 5.0.48

  • Ruby をインストール
% wget http:// … /ruby-1.8.6-p111.tar.gz
% tar zxvf ruby-1.8.6-p111.tar.gz
% cd ruby-1.8.6-p111
% ./configure
% make
% su
# make install
# exit
% make clean

/usr/local/bin に配置されます。

  • Ruby の確認
% ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-linux]
  • RubyGems のインストール
% wget http:// … /rubygems-0.9.4.tgz
% tar zxvf rubygems-0.9.4.tgz
% cd rubygems-0.9.4
% su
# ruby setup.rb
# exit
  • Rails のインストール
% su
# gem install rails --include-dependencies
# exit
  • httpd-devel のインストール
% su
# yum install httpd-devel
# exit
  • fcgi のインストール

http://www.fastcgi.com/ からダウンロード

% wget http:// … /fcgi-2.4.0.tar.gz
% tar zxvf fcgi-2.4.0.tar.gz
% cd fcgi-2.4.0
% ./configure
% make
% su
# make install
# exit
% make clean
  • mod_fastcgi のインストール

http://www.fastcgi.com/ からダウンロード

% wget http:// … /mod_fastcgi-2.4.2.tar.gz
% tar zxvf mod_fastcgi-2.4.2.tar.gz
% cd mod_fastcgi-2.4.2
% cp Makefile.AP2 Makefile
% make
% su
# make install
# exit
% make clean

make で special.mk が見つからないというエラーが出たら、special.mk を find して、build 手前までを top_dir に指定します。

% find / -name "special.mk"
/usr/lib/httpd/build/special.mk
% make top_dir=/usr/lib/httpd

.conf に FastCGI の設定を追加します。

LoadModule fastcgi_module modules/mod_fastcgi.so

<IfModule mod_fastcgi.c>
    FastCgiIpcDir /tmp/fcgi_ipc/
    AddHandler fastcgi-script .fcgi
</IfModule>

/tmp ディレクトリに FastCGI 用のディレクトリを作成します。

% su
# mkdir /tmp/fcgi_ipc
# mkdir /tmp/fcgi_ipc/dynamic
# chmod a+rwx /tmp/fcgi_ipc
# chmod a+rwx /tmp/fcgi_ipc/dynamic
# exit
  • Ruby 用 FastCGI アダプタをインストール
% su
# gem install fcgi
# exit
  • データベースの作成
mysql> create database redmine;
  • redMine を配置

http://rubyforge.org/projects/redmine/ からダウンロード

% cd /home/someone/
% wget http:// … /redmine-0.5.1.tar.gz
% tar zxvf redmine-0.5.1.tar.gz
% mv redmine-0.5.1 redmine
  • redMine の設定

log, tmp ディレクトリのパーミッションを変更します。

% chmod a+w /home/someone/redmine/log
% chmod -R a+w /home/someone/redmine/tmp

dispatch.fcgi を配置します。

% cd /home/someone/redmine/public
% cp dispatch.fcgi.example dispatch.fcgi
% chmod a+x dispatch.fcgi

dispatch.fcgi の 1 行目を環境に合わせて編集します。

#!/usr/local/bin/ruby

public/.htaccess を編集して RewriteRule を設定します。下記を追加します。

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

config/database.yml を編集してデータベースの接続設定を行います。example をコピーして database.yml を作成します。

% cd /home/someone/redmine/config
% cp database.yml.example database.yml

database.yml の production の項目を編集します。

config/environment.rb を修正して、RAILS_ENV を production に指定します。

# ENV['RAILS_ENV'] ||= 'production'

コメントを外します。

ENV['RAILS_ENV'] ||= 'production'
  • テーブル、初期レコードの作成

デフォルトの言語は「ja」を選択します。

% rake db:migrate RAILS_ENV="production"
% rake load_default_data RAILS_ENV="production"
Select language: bg, cs, de, en, es, fr, he, it, ja, ko, nl, pl, pt, pt-br, ro, sr, sv, zh [en] ja

[編集] dispatch.cgi, dispatch.fcgi の改行コード

改行コードが「LF」になっていないと、下記のエラーになる。

(2)No such file or directory: exec of '…/dispatch.cgi' failed

[編集] No such file or directory - /tmp/mysql.sock

mysql.sock の指定をする必要があります。

config/database.yml に環境に合わせて以下を記述。

socket: /var/lib/mysql/mysql.sock

socket を調べるには、

mysqladmin -p version

[編集] RAILS_ENV の指定

config/environment.rb で指定する。

#ENV['RAILS_ENV'] ||= 'production'

のコメントを取る。

ENV['RAILS_ENV'] ||= 'production'

[編集] Alias の設定

apache の設定ファイルに Alias を追加。

Alias /redmine /www/ruby/redmine/public

redMine の public/.htaccess に RewriteBase を設定。

RewriteBase /redmine

「/redmine」は Alias の設定を同じものを記述。

リンク