2011年10月24日月曜日

Scientific Linux 6.1 Apache + mod_python + Python2.6


このエントリーをはてなブックマークに追加


開発環境整備。といってもほとんどyumで済んでしまうので簡単。

RHEL6/CentOS6でも同様の手順で大丈夫なはず。


前提パッケージ

# yum install gcc
# yum install httpd
# yum install httpd-devel
# yum install python-devel



mod_pythonの入手とコンパイル

最新版を入手
http://archive.apache.org/dist/httpd/modpython/

# wget http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz

ソースの修正
# tar zxvf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# vim src/connobject.c +142
while ((bytes_read < len || len == 0) &&
-           !(b == APR_BRIGADE_SENTINEL(b) ||
+           !(b == APR_BRIGADE_SENTINEL(bb) ||
             APR_BUCKET_IS_EOS(b) || APR_BUCKET_IS_FLUSH(b))) {
参考>> http://www.abetake.com/index.php?mod_python%203.3.1


# ./configure
# make
# make install



設定ファイルの編集

python用設定ファイルを作成
# vim /etc/httpd/conf.d/mod_python.conf
# モジュールのロード
LoadModule python_module modules/mod_python.so

# 設定のテスト用(テストが上手くいったらコメント化する)
<Location /modpythoninfo>
   SetHandler mod_python
   PythonInterpreter main_interpreter
   PythonHandler mod_python.testhandler
</Location>

本体のServerNameを編集
# vim /etc/httpd/conf/httpd.conf
~~~~~略~~~~~
ServerName your.server.fqdn.com:80
~~~~~略~~~~~



テスト

# /etc/init.d/httpd start

http://server.ip.or.name/modpythoninfo

へアクセスし、サーバ情報が取得できればOK。



上手くいかない場合

・/etc/init.d/iptables off
・setenforce 0

で試して見る。後は /var/log/httpd/error_log を確認。

0 件のコメント:

コメントを投稿