#freeze
''目次''
#contents
~
----

*目的 [#h259d1e8]
[[mod_python>http://ja.wikipedia.org/wiki/Mod_python]]~
PythonをApacheに結合するためのモジュール

*準備 [#kb633b2f]
[[Apache HTTP Server Project>http://httpd.apache.org/]]~
[[modpython.org>http://www.modpython.org/]]

*インストール [#h80cabef]
+ソースの取得
 # wget -P /usr/local/src http://ftp.riken.jp/net/apache/httpd/modpython/mod_python-3.3.1.tgz
~
+ソースの解凍
 # cd /usr/local/src
 # tar zxvf mod_python-3.3.1.tgz
~
+ソースの修正
なにやら下記のようなエラーが出るのでソースを修正
 connobject.c: In function '_conn_read':
 connobject.c:142: error: request for member 'next' in something not a structure or union
 apxs:Error: Command failed with rc=65536
 .
 make[1]: *** [mod_python.so] エラー 1
 make[1]: ディレクトリ `/usr/local/src/mod_python-3.3.1/src' から出ます
 make: *** [do_dso] エラー 2
~
修正は下記の通り
 # vi /usr/local/src/mod_python-3.3.1/src/connobject.c
 
 140行目あたり
 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))) {
(b)を(bb)にするだけ~
~
+コンパイル設定~
[[configureのヘルプ>mod_python-3.3.1のconfigureヘルプ]]
 # cd /usr/local/src/mod_python-3.3.1
 # ./configure --with-apxs=/usr/local/apache2/bin/apxs
~
+インストール
 # make
 # make install

*Apacheへのモジュール追加 [#uc0c541f]
 # vi /usr/local/apache2/conf/httpd.conf
 〜(略)〜
 LoadModule python_module modules/mod_python.so  ← 1行追記
~
*mod_pythonのテスト [#m0411f46]
インストール結果を見る為のテスト用。テスト後には消す。
 # vi /usr/local/apache2/conf/httpd.conf
下記を追加。
 <Location /mpinfo>
    SetHandler mod_python
    PythonInterpreter main_interpreter
    PythonHandler mod_python.testhandler
 </Location>

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS