Lepardでmod_pythonの際に自分が引っかかった点を備忘録として。
まずは参考にした記事の紹介。
Leopardでmod_python
で手順は、
myscrupt.pyの内容は下記の通り。
mywebdir/myscript.pyにアクセスし、Hello World!が表示されることを確認する。
(ついでにmywebdir/任意の名前.pyでアクセスすると同じ結果が出る。)
補足:
ソースコードの配布先:Apache HTTP SERVER PROJECT
http://httpd.apache.org/modules/python-download.cgi
マニュアル日本語版:mod_python マニュアル
まずは参考にした記事の紹介。
Leopardでmod_python
で手順は、
mod_pythonの設定
# cd /usr/local/src/# curl -Ohttp://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
# tar zxvf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# ./configure
# cd ./src
# vi MakefileviでMakefileを開き下記3行を追加する。追加後のコードは以下の通り。赤字が追加箇所。
INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'# cd ./../# requires flex 2.5.31 for reentrant support
LEX=/usr/bin/flex
INCLUDES=-I/Users/paraches/myTest/modPython/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5
INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'
LIBS=-lm -framework Python -ldl
LDFLAGS= -Wl,-framework,Python -u _PyMac_Error -framework Python -Wl,-F.
OPT=
CFLAGS=$(OPT) $(INCLUDES)
srcdir=.
# make
# make install
Apacheの設定
# vi /etc/apache2/httpd.conf下記を追加。
LoadModule python_module libexec/apache2/mod_python.so同様に下記を追加。
httpd.confを修正したので、apacheサーバーを再起動する。<Directory /mywebdir>
AddHandler mod_python .py</Directory>
PythonHandler myscript
PythonDebug On
# apachectl restart
myscriptの作成(試しに)
Python プログラムが /mywebdir/myscript.py 。myscrupt.pyの内容は下記の通り。
from mod_python import apache
def handler(req):
req.content_type = "text/plain"
req.write("Hello World!")
return apache.OK
mywebdir/myscript.pyにアクセスし、Hello World!が表示されることを確認する。
(ついでにmywebdir/任意の名前.pyでアクセスすると同じ結果が出る。)
補足:
ソースコードの配布先:Apache HTTP SERVER PROJECT
http://httpd.apache.org/modules/python-download.cgi
マニュアル日本語版:mod_python マニュアル
http://www.python.jp/doc/contrib/modpython/contents.html
