2007/11/30(金)Ruby on Rails[2]

[4]Apache + fcgiで動かすまでの設定

自分のデスクトップ+WebRickで動かしていて、Apacheに移植するときの話。
基本参考サイトに従っていればいいのだが、いくつかはまりポイントがあるので記載。

fcgiで動かすために必要なことは、

・Apache側を対応させる

・Ruby側を対応させる

・アプリの設定で書く
と3つ必要になる。

(1)Apache側の対応

Apache用のFastCGIの実装には、fcgidとfastcgiで2種あるがApache2だとfastcgiがあやしいという情報があった。ただ、どっちでも動くとかどちらかはダメだとか情報が揃っていない。
aptitude searchして、debianのライブラリをのぞくと、fastcgiでもlibapache-mod-fastcgi,libapache2-mod-fastcgi2種あるので名前からfastcgiが動くと判断。

ということで、

#aptidue install libapache2-mod-fastcgi

する。aptが勝手に/etc/apache2/mods-available/fastcgi.confを作ってくれるので何も設定がいらない(なんて楽なんだ!)

#apache2ctl restart

してやる。
(2)Ruby側の対応

debianなので、

#aptitude install libfcgi-ruby1.8
してやるだけ。gemで入れた方が良かった?

(3)アプリ側の設定

a. public/dispatch.fcgiのRubyアドレスを書き換え。

#!/usr/bin/rubyとか。
b. .htaccess書き換え。

RewriteRule (.*)$ dispatch.cgi [QSA,L]



RewriteRule (.*)$ dispatch.fcgi [QSA,L]
c. パーミッション設定

dispatch.fcgi -> 755に

/log, /tmp(これ必要ないって噂あるけど)->777に
d. /config/database.ymlをサーバ側の設定に合わせる

データベース名、パスワードの設定など。場合によっては、MySQLのsocket位置を指定しなければいけないかもしれない。
また、以降アプリを更新する際は、/configと/public以外をコピーし、/public/images等に変更があった際はそれを個別にコピーでいいと思う。

[参考]

・pylori*style wiki - RailsでWikiクローンを作る12

http://tam.qmix.org/wiki/Minki12.html
・Apache2 + fcgid + Ruby on Railsメモ - sakuramateo.

http://d.hatena.ne.jp/sakuramateo/20060205/1139162716
・83's : /tmp/mysql.sockが見つからないって言われた

http://fg-180.katamayu.net/archives/2005/08/25/185402

OK キャンセル 確認 その他