mod_python

提供: ArchWiki
ナビゲーションに移動 検索に移動
警告: mod_python は 開発が終了 しており、セキュリティやパフォーマンス、安定性に問題を抱えています。mod_wsgi を使用することを強く推奨します。

Mod_python は Python インタプリタをサーバーに組み込む Apache モジュールです。mod_python を使うことで Python のウェブベースアプリケーションを伝統的な CGI よりも高速に動作させることができ、データベース接続の維持や Apache 内部へのアクセス、アクセスを跨いでデータを保存するなど、高度な機能を利用できます。mod_python に関して詳しくは O'Reilly の 記事 を参照してください。

インストール

AURmod_pythonAUR パッケージをインストールしてください。

設定

  • /etc/httpd/conf/httpd.conf に以下の行を追加:
LoadModule python_module modules/mod_python.so
  • Apache を再起動:
# httpd -k restart
  • Apache が正しくロードされたことを確認。

Mod_Python のテスト

  • /etc/httpd/conf/httpd.conf に以下のブロックを追加:
<Directory /home/www/html> 
   AddHandler mod_python .py
   PythonHandler mod_python.publisher 
   PythonDebug On 
</Directory>
  • /home/www/html/ に以下の内容で mptest.py という名前のファイルを作成:
from mod_python import apache
def handler(req):
    req.content_type = 'text/plain'
    req.send_http_header()
    req.write("Hello World!")
    return apache.OK
  • Apache を再起動:
# apachectl restart
  • Apache が正しくロードされたことを確認。
Hello World!

上記のように設定することで、テストディレクトリの .py で終わる URL をブラウザから使うことも可能です。例えばブラウザから /foobar.py にアクセスすると mptest.py によって処理されます。

参照