Python, Apache · 1 min read · Nov 12, 2025
Apache2にmod_pythonを埋め込む (Debian Etch)
Apache2にmod_pythonを埋め込む (Debian Etch)
バージョン 1.0
著者: Falko Timme
このチュートリアルでは、Apache2を使用したDebian Etchサーバーにmod_pythonをインストールして使用する方法を示します。mod_pythonは、サーバー内にPythonインタープリタを埋め込むApacheモジュールです。これにより、従来のCGIよりもはるかに高速で実行されるPythonでのWebベースのアプリケーションを作成でき、データベース接続やヒット間のデータを保持する機能、Apache内部へのアクセスなどの高度な機能にアクセスできます。
これがあなたにとって機能するという保証はありません!
1 前提条件
私は、Apache2がすでにインストールされているIPアドレス192.168.0.100のDebian Etchサーバーでこれをテストしました。
この例では、ドキュメントルート/var/wwwを持つ仮想ホストを使用しています。
2 mod_pythonのインストール
mod_pythonをインストールするには、単に次のコマンドを実行します:
apt-get install libapache2-mod-python3 Apacheの設定
次に、ApacheがPythonファイルを処理できるように設定する必要があります。これには2つの方法があります。最初の(デフォルトの)方法は、Publisher Handlerを使用することです。これにより、Apacheによって解釈される拡張子.pyの純粋なPythonスクリプトを書くことができます。2番目の方法はPSP Handlerです。PSPはPython Server Pagesの略です。これにより、PHPのようにHTMLコードに直接Pythonコードを埋め込むことができます。PSPファイルの拡張子は.pspです。
3.1 Publisher Handler
Publisher Handlerを有効にするには、vhost設定を開く必要があります(私はDebianのデフォルトvhostを使用しており、ドキュメントルートは/var/wwwです。このvhostの設定は/etc/apache2/sites-available/defaultにあります)そして、AddHandler mod_python .py、PythonHandler mod_python.publisher、およびPythonDebug Onの行を追加します:
vi /etc/apache2/sites-available/default| [...] |
その後、Apacheを再起動します:
/etc/init.d/apache2 restart次に、純粋なPythonコードを含む小さなPythonテストスクリプト(例:/var/www/test.py)を作成します…
vi /var/www/test.py| def index(req): return "テスト成功"; |
… そしてブラウザで呼び出します(例:http://192.168.0.100/test.py)。すべてがうまくいけば、ブラウザに「テスト成功」と表示されるはずです。
3.2 PSP Handler
PSP Handlerを有効にするには、vhost設定を開く必要があります(私はDebianのデフォルトvhostを使用しており、ドキュメントルートは/var/wwwです。このvhostの設定は/etc/apache2/sites-available/defaultにあります)そして、AddHandler mod_python .psp、PythonHandler mod_python.psp、およびPythonDebug Onの行を追加します:
vi /etc/apache2/sites-available/default| [...] |
その後、Apacheを再起動します:
/etc/init.d/apache2 restart次に、HTMLとPythonコードを含む小さなPSPテストスクリプト(例:/var/www/test.psp)を作成します…
vi /var/www/test.psp| |<% req.write("こんにちは!") %>
… そしてブラウザで呼び出します(例:http://192.168.0.100/test.psp)。すべてがうまくいけば、ブラウザに「こんにちは!」と表示されるはずです。
4 Pythonモジュール
さらにPythonモジュールが必要な場合は、次のように検索できます:
apt-cache search python必要なものを選択し、次のようにインストールします:
apt-get install python-mysqldb python-xmlその後、Apacheを再起動します:
/etc/init.d/apache2 restart5 リンク
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。