Tweet
これで trac.example.com にアクセスすると、Passenger 上で Trac が起動します。
先日開発サーバを準備することになって、Trac を入れる必要があったんですが、そういえば Passenger が WSGI に対応したなぁ、動くかなぁ、と思ったのでさっそくやってみました。
/var/www/vhosts/trac.example.com 内にバーチャルホストを作るという前提です。
Trac 自体はインストール済みで、/var/www/vhosts/trac.example.com/trac に initenv してあるものとします。ここでは説明しません。
Trac ホスト用のディレクトリを準備
$ mkdir -p /var/www/vhosts/trac.example.com/public $ mkdir -p /var/www/vhosts/trac.example.com/tmp/eggs
public はドキュメントルート、tmp/eggs は PYTHON_EGG_CACHE 用です。
WSGI 用のスクリプトを設置
以下のコードを /var/www/vhosts/trac.example.com/passenger_wsgi.py として設置します。
<pre class="brush:py">import os
os.environ['TRAC_ENV'] = '/var/www/vhosts/trac.example.com/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/vhosts/trac.example.com/tmp/eggs'
import trac.web.main
application = trac.web.main.dispatch_request</pre>
<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">パーミッションは 644 や 664 で構いません。</span>
os.environ['TRAC_ENV'] = '/var/www/vhosts/trac.example.com/trac'
os.environ['PYTHON_EGG_CACHE'] = '/var/www/vhosts/trac.example.com/tmp/eggs'
import trac.web.main
application = trac.web.main.dispatch_request</pre>
<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">パーミッションは 644 や 664 で構いません。</span>
バーチャルホストの設定
Rails アプリを Passenger で動かすときと同じです。
<pre class="brush:plain">ServerName trac.example.com
DocumentRoot /var/www/vhosts/trac.example.com/public</pre>
DocumentRoot /var/www/vhosts/trac.example.com/public</pre>
これで trac.example.com にアクセスすると、Passenger 上で Trac が起動します。
Rails アプリと同様に、touch tmp/restart.txt で再起動もできるようです。
関連記事
このエントリーに対するコメント
- トラックバック











