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サーバー上で活用してみてください。
-
Google ColaboratoryでPythonコードを実行する方法を徹底解説
Google Colaboratory(通称:Colab)は、面倒なセットアップ不要でブラウザ上ですぐに使える、無料のクラウド型Jupyterノートブック環境です。Googleのクラウド上でホストされており、Pythonスクリプトをクラウド環境で実行・テストしたい開発者のためにGoogleが提供・運用しています。本記事では、Google Colaboratoryの環境を立ち上げてから、実際にPythonコードを記述・実行するまでの一連の手順を、初心者の方にもわかりやすく解説します。1. Pythonノートブックを開くまず、Google Colabの公式サイト(https://colab.res
-
MacでPythonスクリプトを実行する2つの方法【Python Launcherとターミナル】
Pythonは「とてもMacらしい言語」として知られています。従来のプログラミング言語の複雑な構文規則を排し、人間が読みやすいコード、インデントによる階層構造、抽象化されたメモリ管理を採用している点が特徴です。初心者の最初のプログラミング言語としても最適ですが、多くのチュートリアルでは扱われていないテーマもあります。その代表例が「macOS上でPythonスクリプトを実行する方法」です。この記事では、macOSでPythonスクリプトを実行する2つの方法を詳しく解説します。方法1:Python Launcherを使うまず前提として、Pythonスクリプトはバージョンに関わらず「.py」という拡