Python
 Computer >> コンピューター >  >> プログラミング >> Python

ApacheサーバーでPython CGIスクリプトを実行する方法|httpd.confの設定手順を解説

Apacheサーバーでは、初期設定のままではPythonスクリプトが実行されません。これは、ApacheがデフォルトでPHPやASPなどのハンドラのみを認識しており、Python(.pyファイル)がCGIスクリプトとして登録されていないためです。本記事では、httpd.confを編集してPython CGIスクリプトを動作させる手順をわかりやすく解説します。

1. httpd.confファイルを開く

まず、Apacheの設定ファイルであるhttpd.confを開きます。このファイルは通常、以下の場所にあります。

  • Linux系:/etc/httpd/conf/httpd.conf または /etc/apache2/apache2.conf
  • Windows(XAMPPなど):C:\xampp\apache\conf\httpd.conf

2. AddHandlerディレクティブに「.py」を追加する

httpd.conf内を検索すると、「AddHandler」というプロパティに.phpや.aspなどの拡張子が登録されている箇所が見つかります。ここに.pyを追加します。

AddHandler cgi-script .cgi .pl .asp .py

また、CGIの実行を許可するために、対象ディレクトリに以下の設定があることも確認してください。

<Directory /var/www/cgi-bin>
    Options +ExecCGI
</Directory>

3. ファイルを保存してApacheを再起動する

編集内容を保存したら、設定を反映させるためにApacheを再起動します。

# Linuxの場合
sudo systemctl restart httpd
# または
sudo systemctl restart apache2

4. Python CGIスクリプトを実行する

再起動後、ブラウザからPython CGIスクリプトにアクセスすれば、正しく実行されるようになります。動作しない場合は、以下のポイントもチェックしましょう。

  • シバン(shebang)の記述: スクリプトの1行目に #!/usr/bin/python#!/usr/bin/env python3 を必ず記述する。
  • 実行権限の付与: Linux環境では chmod 755 script.py のように実行権限を与える。
  • Content-Typeヘッダーの出力: スクリプト内で print("Content-Type: text/html") を出力し、その後に空行を入れる。

まとめ

ApacheでPython CGIスクリプトを動かすには、httpd.confのAddHandlerに「.py」を追加し、サーバーを再起動するだけで基本的な設定は完了です。加えて、シバンの記述や実行権限などの細かいポイントを押さえておくと、トラブルを未然に防げます。ぜひ本記事の手順を参考に、PythonスクリプトをWebサーバー上で活用してみてください。

  1. Google ColaboratoryでPythonコードを実行する方法を徹底解説

    Google Colaboratory(通称:Colab)は、面倒なセットアップ不要でブラウザ上ですぐに使える、無料のクラウド型Jupyterノートブック環境です。Googleのクラウド上でホストされており、Pythonスクリプトをクラウド環境で実行・テストしたい開発者のためにGoogleが提供・運用しています。本記事では、Google Colaboratoryの環境を立ち上げてから、実際にPythonコードを記述・実行するまでの一連の手順を、初心者の方にもわかりやすく解説します。1. Pythonノートブックを開くまず、Google Colabの公式サイト(https://colab.res

  2. MacでPythonスクリプトを実行する2つの方法【Python Launcherとターミナル】

    Pythonは「とてもMacらしい言語」として知られています。従来のプログラミング言語の複雑な構文規則を排し、人間が読みやすいコード、インデントによる階層構造、抽象化されたメモリ管理を採用している点が特徴です。初心者の最初のプログラミング言語としても最適ですが、多くのチュートリアルでは扱われていないテーマもあります。その代表例が「macOS上でPythonスクリプトを実行する方法」です。この記事では、macOSでPythonスクリプトを実行する2つの方法を詳しく解説します。方法1:Python Launcherを使うまず前提として、Pythonスクリプトはバージョンに関わらず「.py」という拡