グリーン免許エンジニアのNotepad

エンジニアの免許を取得したてのほやほやエンジニアが作るNotepadです。Notepad(メモ帳)以上のことは書けません。

Apache2とpython3でCGIをしたい!

環境


CGIを置くディレクトリを作成

セキュリティ上 /var/www/html/ 配下に置くのではなく、/var/www/配下に置く

$ sudo su -
# cd /var/www/
/var/www# mkdir cgi-bin

ApacheCGIモジュールを有効化

# a2enmod cgi
# systemctl restart apache2

cigd.confの設定

# vim /etc/apache2/mods-enabled/cgid.conf

下記のように作成

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"   
<Directory "/var/www/cgi-bin/">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py
    AllowOverride None
    Require all granted
</Directory>

各種説明

ScriptAlias /cgi-bin/ "CGIファイルがあるディレクトリ"   
<Directory "CGIファイルがあるディレクトリ(最後の「/」を忘れずに">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py ←pythonファイルをCGIとして実行
    AllowOverride None
    Require all granted
</Directory>

設定を変えたら再起動

# systemctl restart apache2

CGIファイル

CGIファイルのパーミッションは適切なものに変更しないと500エラーになる。

# chmod 755 test.py
© 2018-2023 tt. All Rights Reserved.