Apache2, passenger, で Rails をサブディレクトリでアクセスできるようにする (Mac OSX Snow Leopard and Ubuntu 9.10)

Head First Rails を読んで Rails アプリを作る際に、サーバに WEBrick ではなく、既に稼動済みの Apache2 を利用し、複数のプロジェクトを Apache2 サーバを使って動作させるため Rails アプリをサブディレクトリでアクセスできるようにするために行なった設定のメモ。
(※passenger の設定等についてはこちら、『Ubuntu 9.10 (Karmic Koala) での passenger のインストールについて』)

開発用プロジェクト mebay を作成する。

$ cd /Users/someone/develop/rails/
$ rails mebay

サーバールートの /Users/someone/public_html/ で上記プロジェクト mebay の public ディレクトリにシンボリックリンクを貼る。

$ cd /Users/someone/public_html/
$ ln -s /Users/someone/develop/rails/mebay/public mebay

Apache2 の設定ファイル

$ sudo vi /opt/local/apache2/conf/httpd.conf   <= Mac OSX Snow Leopard
$ sudo vi /etc/apache2/sites-available/default <= Ubuntu 9.10

に以下のように設定を行う。

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    # comment out below for Rails passenger
    #Deny from all
</Directory>

# setting for Rails for passenger
RailsBaseURI /mebay
RailsEnv development

Apache2 サーバを再起動する。

$ sudo /opt/local/apache2/bin/apachectl restart <= Mac OSX Snow Leopard
$ sudo /etc/init.d/apache2 restart              <= Ubuntu 9.10

これで http://localhost/mebay/ads でアクセスできるようになる。
※ stylesheet やパスの記述 (/ads/ => /mebay/ads/) を修正しておく。

Head First Rails ―頭とからだで覚えるRailsの基本
David Griffiths
オライリージャパン
売り上げランキング: 45786
«
»