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-python

3 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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On [...] |

その後、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

| [...] Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all AddHandler mod_python .psp PythonHandler mod_python.psp PythonDebug On [...] |

その後、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 restart

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。