CentOS 5 に 9Arrows を導入したときのメモ

以前、何かハマって止めていました。もう一度試してみることにして、ようやく成功しました。

PostgreSQL をインストール

普段 MySQL ばかりだったが、9Arrows は Postgres を要求しているのでインストールします。
CentOS なので、例によって yum を使いました。postgres ユーザも作成されます。
devel も入れるのは、このあと pg_config を gem で pg を入れるときに必要になるためです。

# yum install postgresql.i386
# yum install postgresql-devel.i386

PostgreSQL の初期設定

postgres ユーザになって initdb そして postmaster を起動します。

# su - postgres
$ initdb
$ pg_ctl -D /var/lib/pgsql/data -l logfile start

9arrows_production データベースと Postgres 上に 9arrows ユーザーを作成しておきます。
さらに 9arrows_production データベース に 9arrows ユーザーをパスワード「9arrows」で割り当てます。

$ createdb 9arrows_production
CREATE DATABASE
$ createuser 9arrows
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE

$ psql 9arrows_production
9arrows_production=# ALTER USER "9arrows" with password '9arrows';
ALTER ROLE
9arrows_production=# \q <== [CTRL + D]

Ruby のパッケージをインストール

必要な Ruby のパッケージをインストールしておきます。

# gem install rails
# gem install pg

9Arrows のパッケージをダウンロードして展開

9arrows.com | Ruby on Rails オープンソース9arrows.com | Download からダウンロードできます。

$ wget http://9arrows.com/download/9arrows-all-0.9.0.2.tar.gz
$ tar zxvf 9arrows-all-0.9.0.2.tar.gz
cd 9arrows-0.9.0.2/9arrows

ディレクトリ パーミッションの設定

上記につづいて、、

chmod 755 app
cd app
chmod 755 controllers
chmod 755 helpers
chmod 755 models
chmod 755 views
cd ..
chmod 755 config
chmod 755 db
chmod 755 doc
chmod 755 lib
chmod 777 log
chmod 755 public
cd public
chmod 777 attach
chmod 755 images
chmod 755 javascripts
cd javascripts
chmod 755 app
chmod 777 comp
chmod 755 ext-2.1
cd ..
chmod 755 stylesheets
cd stylesheets
chmod 755 app
chmod 777 comp
chmod 755  ext-2.1
cd ../..
chmod 755 script
chmod 755 test
chmod 777 tmp
cd tmp
chmod 777 cache
chmod 777 pids
chmod 777 sessions
chmod 777 sockets
cd ..
chmod 755 vendor

※割り付けやすいようにしています。

DB の初期設定

データベースの設定ファイルを変更します。production の username と password を先ほど作成設定したものに変えます。

$ vi config/database.yml
---
production:
  adapter: postgresql
  database: 9arrows_production
  username: 9arrows
  password: 9arrows
  host: localhost
---

以下のコマンドを実行します。

$ rake environment RAILS_ENV=production db:migrate
$ rake environment RAILS_ENV=production db:fixtures:load

※ README-ja には fixture:load と s が抜けている。

WEBrickを起動

$ ./script/server webrick --port=3000
=> Booting WEBrick...
=> Rails 2.1.0 application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2008-09-09 03:18:29] INFO  WEBrick 1.3.1
[2008-09-09 03:18:29] INFO  ruby 1.8.7 (2008-08-11) [i686-darwin9]
[2008-09-09 03:18:29] INFO  WEBrick::HTTPServer#start: pid=8900 port=3000

ブラウザからアクセス

http://インストールしたサーバ:3000/ にアクセス。
README-ja にはこの後、ninearrows でログインできるとあるができない。
そのため、新規ユーザー登録から進める。