[時間割:サーバ] CentOS5.2 で Ruby on Rails をインストールして、プロジェクト管理ツール『9arrows』を試してみる
2008/11/07 02:40 posted by kunkichi
水曜日は『サーバ』の時間です。今日はちょっと趣向を変えて、「9Arrows」というプロジェクト管理ツールを試してみようということで、それを動かすのに必要な「Ruby on Rails」のインストールにトライしてみたいと思います。でもRailsはさっぱりわからないので、9Allowsが最低限動けばOKとします。環境はもちろん CentOS5.2。OSのインストールからの最短手順を目指します。
OSインストール
- MacBook上のParallelsにインストール。
- テキストインストール。
- パッケージはベースシステムのみの最短構成から。
- ファイアウォールとSELinuxは停止しておく。
- インストールが終わったら一旦 yum update で最新の状態にしておく。
epelパッケージインストール
RailsのパッケージがEPELにあるのでこれを使うために、まずepelを使えるようにする。
- epel-releaseをインストール
# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
# rpm -ivh epel-release-5-3.noarch.rpm
Ruby on Railsパッケージインストール
- EPELのRailsのパッケージをインストールする。
# yum install rubygem-railsこれで必要なパッケージは全部インストールされるっぽい↓Dependencies Resolvedただし、rakeのバージョンが低すぎてRailsでエラーになる様子。
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
rubygem-rails noarch 2.1.1-2.el5 epel 428 k
Installing for dependencies:
ruby i386 1.8.5-5.el5_2.5 updates 279 k
ruby-irb i386 1.8.5-5.el5_2.5 updates 69 k
ruby-libs i386 1.8.5-5.el5_2.5 updates 1.6 M
ruby-rdoc i386 1.8.5-5.el5_2.5 updates 136 k
rubygem-actionmailer noarch 2.1.1-1.el5 epel 455 k
rubygem-actionpack noarch 2.1.1-1.el5 epel 2.1 M
rubygem-activerecord noarch 2.1.1-1.el5 epel 1.4 M
rubygem-activeresource noarch 2.1.1-1.el5 epel 176 k
rubygem-activesupport noarch 2.1.1-1.el5 epel 1.3 M
rubygem-rake noarch 0.7.3-2.el5 epel 320 k
rubygems noarch 1.2.0-2.el5 epel 617 k
Transaction Summary
=============================================================================
Install 12 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 8.9 M
Is this ok [y/N]:# rails -vなので、rakeだけはgemsからインストールする。最新版のrakeをインストールしてみる。
/usr/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error': RubyGem version error: rake(0.7.3 not >= 0.8.1) (Gem::LoadError)# gem install rake --version 0.8.3確認# gem list
*** LOCAL GEMS ***
actionmailer (2.1.1)
actionpack (2.1.1)
activerecord (2.1.1)
activeresource (2.1.1)
activesupport (2.1.1)
rails (2.1.1)
rake (0.8.3, 0.7.3)
その他のパッケージのインストール
9Arrowsが必要とする他のパッケージをインストールする。
- apache
# yum install httpd
# chkconfig httpd on
# service httpd on - PostgreSQL
# yum install postgresql-server ruby-postgresこのままだとローカルホストからIDENT認証しかできず結果的にRailsから接続できないので、/var/lib/pgsql/data/pg_hba.confを編集する。
# chkconfig postgresql on
# service postgresql start# vi /var/lib/pgsql/data/pg_hba.conf再起動
---–
#host all all 127.0.0.1/32 ident sameuser
host all all 127.0.0.1/32 password
---–# service postgresql restart
9arrowsのインストール&設定
では9arrowsをインストール&設定していきます。
- ソースをダウンロードします。ここではsvnレポジトリから最新版をチェックアウトしてみます。
# yum install subversion
# svn checkout http://9arrows.googlecode.com/svn/trunk/ 9arrows-read-only - チェックアウトしたディレクトリを適当なところに設置します。うちの場合は/var/www配下に設置しました。
# cp -pir 9arrows-read-only /var/www/9arrows - パーミッションを変更します。アーカイブ内のディレクトリは既に755になっているようなので、必要な箇所だけ変更。
# cd /var/www/9arrows
# chmod 777 log public/attach public/javascripts/comp tmp tmp/{cache,pids,sessions,sockets} - httpd.confを設定します。
# vi /etc/httpd/conf.d/9arrows.confRailsのチュートリアルを参考に以下のような設定をしました。<VirtualHost *:80>終わったらhttpdを再起動します。
ServerName 10.211.55.3
DocumentRoot /var/www/9arrows/public/
ErrorLog /var/www/9arrows/log/9arrows_error.log
CustomLog /var/www/9arrows/log/9arrows_access.log combined
<Directory /var/www/9arrows/public/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost># service httpd restart - 公開ディレクトリである public にアクセスしたときに参照される dispatch.cgi に実行権がついていないのと、dispatch.cgi内のrubyのパス(/usr/local/bin/ruby)がCentOS5.2のruby(/usr/bin/ruby)のパスと異なっているので、シンボリックリンクで対応します。
# chmod +x public/dispatch.cgi
# ln -s /usr/bin/ruby /usr/local/bin/ruby - config/environment.rb に記載されている Rails のバージョン(2.1.0)が、パッケージでインストールしたRailsのバージョンと異なるので、パッケージのバージョンに合わせます。
# vi config/environment.rb
RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION - データベースの設定を行います。まずユーザとデータベースの作成。
# su - postgres次にconfig/database.ymlを編集してデータベース名・ユーザ名・パスワードを設定する。
$ createuser 9arrows -P
$ createdb 9arrows_test -O 9arrows
$ createdb 9arrows_production -O 9arrows
$ createdb 9arrows_development -O 9arrows# vi config/database.yml設定ができたら、rakeコマンドでデータベースの初期化を行います。
---–
development:
adapter: postgresql
database: 9arrows_development
username: 9arrows
password: 9arrows
host: localhost
---–# rake db:migrate
rake db:fixtures:load
ブラウザからアクセス
ここまでできたら、ブラウザからアクセスしてみます。
- ログイン画面が出たら以下のIDとPWでログイン。
ID 9arrows@example.com PW 9arrows
ログイン画面が出れば完了です。
今回はParallelsで構築したのでパフォーマンス的にはちょっと難しい感じですが、ちゃんとしたサーバで構築すれば問題ないと思います。あと、とりあえずメールについてはスルーしましたけど、きちんと設定すれば期限が来たらメール送信等もできるみたいですし、他にもAdobe AIRを使用すると、サーバにアクセスできなくてもクライアントだけで編集等もできるようなので、結構使い勝手はよさそうですね。
Rails全く知らなくてもなんとかなるもんですね。なんとなく雰囲気はわかった気がしました。






コメント&トラックバック
トラックバックURL: