Snow Leopard で mod_wsgiをコンパイルして動作させてみます。
curl -O http://modwsgi.googlecode.com/files/mod_wsgi-3.0c4.tar.gz
tar xvfz mod_wsgi-3.0c4.tar.gz
cd mod_wsgi-3.0c4
./configure
もし Python2.6.2 を独自インストールしている場合は Makefile の修正が必要です。以下の修正を実施しないと、デフォルトでインストールされている 2.6.1 の方を参照しようとします。
--- Makefile.org 2009-09-12 20:35:02.000000000 +0900
+++ Makefile 2009-09-12 20:35:44.000000000 +0900
@@ -20,8 +20,8 @@
CPPFLAGS = -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -DNDEBUG
CFLAGS = -Wc,'-arch x86_64' -Wc,'-arch i386' -Wc,'-arch ppc7400'
-LDFLAGS = -L/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/config -arch x86_64 -arch i386 -arch ppc7400
-LDLIBS = -lpython2.6 -ldl
+LDFLAGS = -L/Library//Frameworks -arch x86_64 -arch i386 -arch ppc7400
+LDLIBS = -framework Python -ldl
all : mod_wsgi.la
コンパイルしてインストールします。
make
sudo make install
Apache の設定ファイルにモジュール設定を記述します。特にこだわりがないなら「/etc/apache2/httpd.conf」に追加してください。
LoadModule wsgi_module libexec/apache2/mod_wsgi.so
Trac を wsgi で動作させてみます。
「/Users/ユーザ名/Sites/trac/index.wsgi」として以下のようなファイルを作成します。
import sys
sys.stdout = sys.stderr
import os
os.environ['TRAC_ENV_PARENT_DIR'] = "/path/to/trac"
os.environ['PYTHON_EGG_CACHE'] = '/path/to/trac/eggs'
os.environ["HGENCODING"] = "UTF-8"
import trac.web.main
application = trac.web.main.dispatch_request
「/private/etc/apache2/other」以下に「wsgi.conf」のファイル名で以下のようなファイルを作成します。
WSGIScriptAlias /trac /Users/ユーザ名/Sites/trac/index.wsgi
<Directory /Users/ユーザ名/Sites/trac>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
設定ファイルの文法が正しいことをチェックします。
apachectl configtest
Apache を再起動します。
sudo apachectl restart
「http://localhost/trac」にアクセスして動作が確認できれば成功です。