I ♥ WordPress

[時間割:サーバ] 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
     
    =============================================================================
    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]:
    ただし、rakeのバージョンが低すぎてRailsでエラーになる様子。# rails -v
    /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)
    なので、rakeだけはgemsからインストールする。最新版のrakeをインストールしてみる。# 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
    # chkconfig postgresql on
    # service postgresql start
    このままだとローカルホストからIDENT認証しかできず結果的にRailsから接続できないので、/var/lib/pgsql/data/pg_hba.confを編集する。# 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.conf Railsのチュートリアルを参考に以下のような設定をしました。<VirtualHost *:80>
      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>
    終わったらhttpdを再起動します。# 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
    $ createuser 9arrows -P
    $ createdb 9arrows_test -O 9arrows
    $ createdb 9arrows_production -O 9arrows
    $ createdb 9arrows_development -O 9arrows
    次にconfig/database.ymlを編集してデータベース名・ユーザ名・パスワードを設定する。# vi config/database.yml
    ---–
    development:
      adapter: postgresql
      database: 9arrows_development
      username: 9arrows
      password: 9arrows
      host: localhost
    ---–
    設定ができたら、rakeコマンドでデータベースの初期化を行います。# rake db:migrate
    rake db:fixtures:load

ブラウザからアクセス
ここまでできたら、ブラウザからアクセスしてみます。

  • ログイン画面が出たら以下のIDとPWでログイン。
    ID 9arrows@example.com
    PW 9arrows

ログイン画面が出れば完了です。

今回はParallelsで構築したのでパフォーマンス的にはちょっと難しい感じですが、ちゃんとしたサーバで構築すれば問題ないと思います。あと、とりあえずメールについてはスルーしましたけど、きちんと設定すれば期限が来たらメール送信等もできるみたいですし、他にもAdobe AIRを使用すると、サーバにアクセスできなくてもクライアントだけで編集等もできるようなので、結構使い勝手はよさそうですね。

Rails全く知らなくてもなんとかなるもんですね。なんとなく雰囲気はわかった気がしました。

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

トラックバックURL





このページの先頭へ