以下、インストールメモ。
Ver.2.x のインストールメモは「Redmineのインストール (Ver.2.x)」を参照
インストールした環境は、Fedora 14。
インストールした Redmine のバージョンは 1.1.2。
Redmine.JP に掲載されているインストール手順を参考に作業した。
http://redmine.jp/guide/RedmineInstall/
(1) 必要なツール類のインストール
Ruby, Rails, Rack のバージョンは、記載されているバージョンと完全に一致していないといけないようだ。
Fedora 14 のパッケージは、Rails と Rack のバージョンが一致しなかった。
今回、Redmine の公式リリース版をダウンロードしたが、Rails は Redmine のファイル一式に含まれていたが、Rack は含まれていなかったので必要なバージョンを
gem
でインストールした。gem install rack -v=1.0.1
(2) Redmine 用アカウント作成
Redmine 用アカウント redmine を作成。
# useradd redmine
(3) データベースの準備
データベースは、今回は PostgreSQL を使用した (使い慣れているので)。
Redmine 用のロールとデータベースを作成する。
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'パスワード' NOINHERIT VALID UNTIL 'infinity';
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
そして、redmine をインストールするサーバーからのアクセスを許可させる。
同一ホストであっても、ローカルからのアクセスが ident メソッドのみになっている場合は、自IPアドレスから password メソッドでの host アクセスを許可させておく (
/var/lib/pgsql/data/pg_hba.conf
および /var/lib/pgsql/data/postgresql.conf
を設定)。(4) ダウンロード
以下のサイトから、Redmine のファイルをダウンロード。
http://www.redmine.jp/download/
レポジトリからチェックアウトもできるが、上述のとおり Rails の必要バージョンが含まれているという理由から、tar ファイルをダウンロードした。
tar ファイルを適当なところ (たとえば
/usr/local
の下とか) に解凍し、オーナーを redmine
にする (←オーナー変更は必要なかったかも)。# chown -R redmine: redmine-1.1.2
(5) セッションストア秘密鍵の生成
redmine
アカウントでログインし、解凍したディレクトリ (たとえば、/usr/local/redmine-1.1.2
。以下、Redmine ディレクトリと呼ぶ) に移動し、以下のコマンドを実行する。# rake config/initializers/session_store.rb
(6) テーブル作成
解凍ファイルの中にある
config/database.yml.example
を config/database.yml
にコピーし、production:
のところの内容を変更する。production:
adapter: postgresql
database: redmine
host: IPアドレスかホスト名
username: redmine
password: "redmine ロールのパスワード"
そして、Redmine ディレクトリで、以下のコマンドを実行:
rake db:migrate RAILS_ENV="production"
rake redmine:load_default_data RAILS_ENV="production"
redmine データベース内にテーブル等が作られる。
(7) 動作確認
以下のコマンドを実行してWebサーバーを起動:
# ruby script/server webrick -e production
http://localhost:3000/ にアクセスして Welcome 画面が表示されるか確認する。
(8) Passenger (mod_rails) を導入
Redmin.JP サイトに webrick は「開発用」なので「動作確認以外には使用するな」という脅し文句が書かれているので、Passenger をインストールしてみる。
まずは、必要なパッケージをインストール。
# yum install rubygem-fastthread
# yum install rubygem-daemons
場合によってはほかのパッケージが必要かもしれない。
Passenger 自体は rpm が用意されていなかったので、gem でインストール。
# gem install passenger
Passenger Apache 2モジュールのインストーラーを実行。
# passenger-install-apache2-module
ところが、なぜか
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/lib/phusion_passenger/platform_info/apache.rb:277:in `_unmemoized_apr_config_needed_for_building_apache_modules?': undefined local variable or method `test_exe_outdir' for PhusionPassenger::PlatformInfo:Module (NameError)
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/lib/phusion_passenger/platform_info.rb:92:in `apr_config_needed_for_building_apache_modules?'
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/bin/passenger-install-apache2-module:69:in `dependencies'
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/lib/phusion_passenger/abstract_installer.rb:166:in `check_dependencies'
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/bin/passenger-install-apache2-module:90:in `install!'
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/lib/phusion_passenger/abstract_installer.rb:63:in `start'
from /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/bin/passenger-install-apache2-module:236
from /usr/bin/passenger-install-apache2-module:19:in `load'
from /usr/bin/passenger-install-apache2-module:19
とかいうエラーが出てうまくいかない。
これはどうやら、typoらしい。
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/lib/phusion_passenger/platform_info/apache.rb
を開き、"test_exe_outdir
" を "tmpexedir
" に変更してリトライ。不足しているソフトウェアを提示してくれる (しかも、実行すべき yum コマンドまで教えてくれる!) ので、インストール後再実行。
起動できた。
(9) Apache 設定
Apache に Passenger の設定を追加。
たとえば、
/etc/httpd/conf.d/passenger.conf
を作成して、passenger-install-apache2-module
実行時に表示された設定を記載する。今回の環境では以下のとおり:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.6
PassengerRuby /usr/bin/ruby
次に、Redmine の設定を行う。
ポート 20080 にアクセスするとRedmineが表示されるようにVirtualHost設定することにした。
たとえば
/etc/httpd/conf.d/redmine.conf
に記載する。今回の環境では以下のようにする:
Listen 20080
NameVirtualHost *:20080
<VirtualHost *:20080>
ServerAdmin webmaster@aaa.bbb.ccc
DocumentRoot /usr/local/redmine-1.1.2/public
CustomLog /var/www/vhosts/logs/redmine_ssl_access-log combined
LogLevel warn
ErrorLog /var/www/vhosts/logs/redmine_ssl_error-log
</VirtualHost>
そして、Redmine ディレクトリのオーナーを apache:apache
に変更する。
今回の環境では:
# chown -R apache: /usr/local/redmine-1.1.2
Apacheを再起動すると、http://localhost:20080/
でアクセスできる。
(10) メール送信設定
プロジェクトで発生したイベントをメールで送信するようにするには、Redmine ディレクトリの config/email.yml.example
を config/email.yml
にコピーし、設定変更する。
たとえば localhost を SMTP サーバーにするには、production:
のところを
production:
delivery_method: :smtp
smtp_settings:
address: localhost
port: 25
domain: メールドメイン名
のように設定する。
タグ:redmine