2010年7月21日水曜日

CentOS+Redmine+PostgreSQL

Redmine 1.0.0 release candidateがリリースされたのでインストールしてみました。
また、RORがApache上で稼働できるようPassengerをインストールしています。
※Apacheではバーチャルホストを利用して公開

●構成
CentOS 5.5
Apache 2.2.15 + Passenger(mod_rails)
PostgreSQL 8.4.3
Ruby 1.8.7-p299
RubyGems 1.3.7
Rails 2.3.5
Redmine Checked out revision 3858.

※私は、Apache, PostgreSQLをソースからインストールしていますがRPMでの構成でもいけると思います。(試していないので保障はできません)

●準備
OSのインストールは省略します。

開発ツール群やその他ライブラリが必要
# yum -y groupinstall "Development Tools"
# yum -y install openssl-devel readline-devel zlib-devel

※RPMでhttpd・postgresqlをインストールした方は、以下も必要かと・・・
# yum -y install httpd-devel postgresql-devel

●Rubyのインストール
# cd /usr/local/src/
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p299.tar.gz
# tar xzvf ruby-1.8.7-p299.tar.gz
# cd ruby-1.8.7-p299
# ./configure --prefix=/usr/local
# make
# make install
# ruby -v
1.8.7

●RubyGemsのインストール
# cd ../
# pwd
/usr/local/src
# wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.1.tgz
# tar xzvf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb
# gem -v
1.3.1

※以下db:migrateの時にわかるのですがRubyGems1.3.2以上が必要です。
私は、gem update --systemで最新版にしてしまいました。
# gem update --system
# gem -v
1.3.7

●Railsのインストール
# gem install rails -v=2.3.5
# gem install rake -v=0.8.3
# export PATH=$PATH:/usr/local/pgsql/bin/ ← PostgreSQL
# gem install postgres-pr
# gem install pg -- --with-pgsql-dir=/usr/local/pgsql

●Redmine
# mkdir /home/redmine
# cd /home/redmine
# svn checkout http://redmine.rubyforge.org/svn/trunk/ ./
# cp ./config/database.yml.example ./config/database.yml
# vi ./config/database.yml
事前に空データベースと運用ユーザを作成しておく(こちらを参照ください)

production:
 adapter: postgresql
 database: redmine
 host: localhost
 username: redmine
 password: "redmine"
 encoding: utf8
 schema_search_path: public

セッションストアの作成
# rake generate_session_store
※/home/redmine/config/initializers/session_store.rbが作成されます

# rake db:migrate RAILS_ENV=production
(in /home/redmine)
** Invoke db:migrate (first_time)

** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
-> 0.0519s
-- create_table("auth_sources", {:force=>true})
-> 0.0609s
-- create_table("custom_fields", {:force=>true})
-> 0.0806s
-- create_table("custom_fields_projects", {:force=>true, :id=>false})
-> 0.0020s




デフォルトデータ
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] ja ← 入力

●Passenger(mod_rails)のインストール
# gem install passenger
# export APXS2=/usr/local/apache/bin/apxs
# export PATH=/usr/local/apache/bin:$PATH
# passenger-install-apache2-module

ビルドに成功すると、Passengerを組み込むためのhttpd.confの設定が表示されるのでコピーしておく。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby

次にvirtualhostの設定のサンプルが表示されるのでコピーしておく。

<VirtualHost *:80>
 ServerName www.yourhost.com
 DocumentRoot /somewhere/public
 <Directory "/home/somewhere/pubic">
  AllowOverride all
  Options -MultiViews
 </Directory>


</VirtualHost>


●Apacheの変更
# vi /usr/local/apache/conf/httpd.conf

末尾にでも追記する
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby

バーチャルホスト
# vi /usr/local/apache/conf/extra/httpd-vhosts.conf


<VirtualHost *:80>
 ServerName redmine.example.com
 DocumentRoot /home/redmine/public
 <Directory "/home/redmine/public">
  AllowOverride All
  Options -MultiViews
  Order allow,deny
  Allow from all
 </Directory>
</VirtualHost>


Apache運用ユーザがredmineディレクトリの読み書きができるようにパーミッションを設定する。
# cd /home/redmine
# mkdir tmp public/plugin_assets
mkdir: cannot create directory `tmp': File exists ← 既に存在している(無視)
mkdir: cannot create directory `public/plugin_assets': File exists ← 既に存在している(無視)
# chown -R daemon:daemon files log tmp public/plugin_assets config/environment.rb
# chmod -R 755 files log tmp public/plugin_assets
 
Apacheの再起動
# vi /usr/local/apache/bin/apachectl restart
 

http://redmine.example.comにアクセスしてみましょう。
初回はadmin/adminです。
 
参考サイト(本家)
 

0 件のコメント:

Google検索