Apache設定 · 1 min read · Nov 13, 2025

Apache2にPythonを埋め込む (mod_python) - ページ 3

5 OpenSUSE 11

5.1 mod_pythonのインストール

mod_pythonをインストールするには、単に次のコマンドを実行します:

yast -i apache2-mod_python

mod_pythonを有効にするには、/etc/sysconfig/apache2を開き、APACHE_MODULES行にpythonを追加します。例えば、次のようにします:

vi /etc/sysconfig/apache2

| [...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite python" [...] |

その後、次のコマンドを実行します:

SuSEconfig

そしてApacheを再起動します:

/etc/init.d/apache2 restart

5.2 Apacheの設定

次に、ApacheがPythonファイルを処理できるように設定する必要があります。これには2つの方法があります。最初の(デフォルトの)方法は、Publisher Handlerを使用することです。これにより、.py拡張子を持つ純粋なPythonスクリプトを記述でき、Apacheによって解釈されます。2つ目の方法はPSP Handlerです。PSPはPython Server Pagesの略で、PHPのようにHTMLコードに直接Pythonコードを埋め込むことができます。PSPファイルの拡張子は.pspです。

5.2.1 Publisher Handler

Publisher Handlerを有効にするには、/etc/apache2/conf.d/python.confにmod_pythonの設定を作成します(このファイルは存在しないので作成します)。ここでは、ディレクティブ内でデフォルトのOpenSUSEドキュメントルート/srv/www/htdocsを使用しています - これを必要に応じて調整してください。重要な行はAddHandler mod_python .pyとPythonHandler mod_python.publisherです:

vi /etc/apache2/conf.d/python.conf

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

注意: サーバーでISPConfig(バージョン2.2.24以降)を使用している場合は、そのファイルを作成しないでください。そうすると、該当するディレクトリに対してmod_pythonがグローバルに有効になります。ISPConfigでは、ウェブサイトごとにmod_pythonを有効にすることができ、どのウェブサイトがmod_pythonを使用できるかをより制御できます。

その後、Apacheを再起動します:

/etc/init.d/apache2 restart

次に、純粋なPythonコードを含む小さなPythonテストスクリプト(例: /srv/www/htdocs/test.py)を作成します…

vi /srv/www/htdocs/test.py

| def index(req): return "テスト成功"; |

…そしてブラウザで呼び出します(例: http://192.168.0.100/test.py)。すべてがうまくいけば、ブラウザに「テスト成功」と表示されるはずです。

5.2.2 PSP Handler

PSP Handlerを有効にするには、/etc/apache2/conf.d/python.confにmod_pythonの設定を作成します(このファイルは存在しないので作成します)。ここでは、ディレクティブ内でデフォルトのOpenSUSEドキュメントルート/srv/www/htdocsを使用しています - これを必要に応じて調整してください。重要な行はAddHandler mod_python .pspとPythonHandler mod_python.pspです:

vi /etc/apache2/conf.d/python.conf

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

注意: サーバーでISPConfig(バージョン2.2.24以降)を使用している場合は、そのファイルを作成しないでください。そうすると、該当するディレクトリに対してmod_pythonがグローバルに有効になります。ISPConfigでは、ウェブサイトごとにmod_pythonを有効にすることができ、どのウェブサイトがmod_pythonを使用できるかをより制御できます。また、ISPConfigはPSP Handlerをサポートしていないことにも注意してください - Publisher Handlerを使用します。

その後、Apacheを再起動します:

/etc/init.d/apache2 restart

次に、HTMLとPythonコードを含む小さなPSPテストスクリプト(例: /srv/www/htdocs/test.psp)を作成します…

vi /srv/www/htdocs/test.psp

|

<% req.write("こんにちは!") %>

|

…そしてブラウザで呼び出します(例: http://192.168.0.100/test.psp)。すべてがうまくいけば、ブラウザに「こんにちは!」と表示されるはずです。

6 リンク

Share: X/Twitter LinkedIn

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

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