Python埋め込み · 1 min read · Nov 12, 2025
Apache2にmod_pythonでPythonを埋め込む (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE)
Apache2にmod_pythonでPythonを埋め込む (Debian/Ubuntu, Fedora/CentOS, Mandriva, OpenSUSE)
Version 1.0
Author: Falko Timme
このチュートリアルでは、Apache2でmod_pythonを使用する方法を、さまざまなディストリビューション(Debian/Ubuntu、Fedora/CentOS、Mandriva、OpenSUSE)で示します。mod_pythonは、サーバー内にPythonインタプリタを埋め込むApacheモジュールです。これにより、従来のCGIよりもはるかに高速で動作し、データベース接続や他のデータをヒット間で保持する能力、Apache内部へのアクセスなどの高度な機能を持つPythonでのWebベースのアプリケーションを作成できます。
私はこれがあなたにとって機能するという保証を出しません!
1 予備ノート
私は、Apache2がすでにインストールされているIPアドレス192.168.0.100のシステムでこれをテストしました。
2 Debian/Ubuntu
Debian/Ubuntuの場合は、次のチュートリアルを参照してください: Apache2にmod_pythonでPythonを埋め込む (Debian Etch)。
ISPConfigユーザー向け
そのチュートリアルでは、他のvhostに影響を与えないデフォルトのvhostでmod_pythonを有効にしていますので、ISPConfig(バージョン2.2.24以降)を使用している場合は、その設定を変更せずに使用でき、ウェブサイトごとにmod_pythonを有効/無効にできます。ISPConfigはPublisher Handlerを使用します - PSP Handlerはサポートされていません。
3 Fedora 9/CentOS 5.2
3.1 mod_pythonのインストール
mod_pythonをインストールするには、単に次のコマンドを実行します:
yum install mod_python3.2 Apacheの設定
次に、ApacheがPythonファイルを処理できるように設定する必要があります。これには2つの方法があります。最初の(デフォルトの)方法は、Publisher Handlerを使用することです。これにより、.py拡張子の純粋なPythonスクリプトを書くことができ、Apacheによって解釈されます。2つ目の方法はPSP Handlerです。PSPはPython Server Pagesの略です。これにより、PHPのようにHTMLコードに直接Pythonコードを埋め込むことができます。PSPファイルの拡張子は.pspです。
3.2.1 Publisher Handler
Publisher Handlerを有効にするには、/etc/httpd/conf.d/python.confにあるmod_pythonの設定を編集する必要があります。このファイルには多くの例が含まれています - それをバックアップし、最初からそのファイルを再作成します。ここでは、
cp /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf_orig
cat /dev/null > /etc/httpd/conf.d/python.conf
vi /etc/httpd/conf.d/python.conf| LoadModule python_module modules/mod_python.so |
注意: サーバーでISPConfig(バージョン2.2.24以降)を使用している場合は、上記のファイルの
その後、Apacheを再起動します:
/etc/init.d/httpd restart次に、純粋なPythonコードを含む小さなPythonテストスクリプト(例: /var/www/html/test.py)を作成します…
vi /var/www/html/test.py| def index(req): return "Test successful"; |
…そして、ブラウザで呼び出します(例: http://192.168.0.100/test.py)。すべてがうまくいけば、ブラウザに「Test successful」と表示されるはずです。
3.2.2 PSP Handler
PSP Handlerを有効にするには、/etc/httpd/conf.d/python.confにあるmod_pythonの設定を編集する必要があります。このファイルには多くの例が含まれています - それをバックアップし、最初からそのファイルを再作成します。ここでは、
cp /etc/httpd/conf.d/python.conf /etc/httpd/conf.d/python.conf_orig
cat /dev/null > /etc/httpd/conf.d/python.conf
vi /etc/httpd/conf.d/python.conf| LoadModule python_module modules/mod_python.so |
注意: サーバーでISPConfig(バージョン2.2.24以降)を使用している場合は、上記のファイルの
その後、Apacheを再起動します:
/etc/init.d/httpd restart次に、HTMLとPythonコードを含む小さなPSPテストスクリプト(例: /var/www/html/test.psp)を作成します…
vi /var/www/html/test.psp| |<% req.write("Hello!") %>
…そして、ブラウザで呼び出します(例: http://192.168.0.100/test.psp)。すべてがうまくいけば、ブラウザに「Hello!」と表示されるはずです。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。