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_pythonmod_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 restart5.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の設定を作成します(このファイルは存在しないので作成します)。ここでは、
vi /etc/apache2/conf.d/python.conf| |
注意: サーバーで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の設定を作成します(このファイルは存在しないので作成します)。ここでは、
vi /etc/apache2/conf.d/python.conf| |
注意: サーバーで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 リンク
- mod_python: http://www.modpython.org
- Python: http://www.python.org
- Apache: http://httpd.apache.org
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。