rubyインストールから〜

基本的にportではバージョンが古い(安定版)のでインストールしません。ソースからコンパイルしていきます。
1.rubyインストール
http://www.ruby-lang.org/ja/downloads/からruby-1.9.0-2.tar.gzを取得

sudo tar xvzf ruby-1.9.0-2.tar.gz
cd ruby-1.9.0-2
sudo ./configure
sudo make
sudo make install

2.mysqlインストール
http://www-jp.mysql.com/からmysql-6.0.4-alpha.tar.gzをダウンロード

sudo tar xvzf mysql-6.0.4-alpha.tar.gz
cd mysql-6.0.4-alpha
sudo ./configure
sudo make
sudo make install

3.rubygemインストール

sudo wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
sudo tar xvf rubygems-1.2.0.tgz
cd rubygems-1.2.0
sudo ./configure
sudo make
sudo make install

4.railsインストール

sudo gem install rails

5.mysqlアダプタインストール
通常のgemインストールだと、エラーが発生したので色々しらべて以下を実施で解決。

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

6.mongrelインストール

sudo gem install mongrel

7.mongrel_clusterインストール

sudo gem install mongrel_cluster

※ちなみにgemはバージョン指定してインストールできます

sudo gem install rails --version 1.2.6

mongrel_clusterのbaseをコピーする

sudo cp /Library/Ruby/Gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/

一部書き換えました

<span style="color:#FF0000;">CONF_DIR=/etc/mongrel</span>
<span style="color:#FF0000;">PID_DIR=/usr/local/hoge/tmp/pids/</span>
<span style="color:#FF0000;">USER=root</span>
<span style="color:#FF0000;">GROUP=wheel #これ追加</span>

RETVAL=0

# Gracefully exit if the controller is missing.
which mongrel_cluster_ctl >/dev/null || exit 0

# Go no further if config directory is missing.
[ -d "$CONF_DIR" ] || exit 0

case "$1" in
    start)
      # Create pid directory
      mkdir -p $PID_DIR
<span style="color:#FF0000;">#      chown $USER:$USER $PID_DIR</span>
<span style="color:#FF0000;">      chown $USER:$GROUP $PID_DIR</span>

      mongrel_cluster_ctl start -c $CONF_DIR
      RETVAL=$?
  ;;
    stop)
      mongrel_cluster_ctl stop -c $CONF_DIR
      RETVAL=$?
  ;;
    restart)
      mongrel_cluster_ctl restart -c $CONF_DIR
      RETVAL=$?
  ;;
    status)
      mongrel_cluster_ctl status -c $CONF_DIR
      RETVAL=$?
  ;;
    *)
      echo "Usage: mongrel_cluster {start|stop|restart|status}"
      exit 1
  ;;
esac      

exit $RETVAL

mongrel_cluster.yml作成

sudo vi /etc/mongrel/mongrel_cluster.yml
user: root # 作成したユーザ
group:  wheel # 作成したグループ
port : 8000 # このポートからはじめる
cwd: /usr/local/hoge # アプリケーションを置いている場所
log_file: log/mongrel.log # ログファイル名             
environment: production # development or production or test
pid_file: tmp/pids/mongrel.pid # pidのありか      
servers: 2 # プロセス起動数

これで起動するはず

sudo chmod 755 /etc/mongrel_cluster
sudo /etc/mongrel_cluster start

起動確認

ps -ef |grep ruby

以下のように表示されればOK

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby /usr/bin/mongrel_rails \
start -d -e production -c /usr/local/hoge --user root --group wheel -p 8000 \
-P tmp/pids/mongrel.8000.pid -l log/mongrel.8000.log