Debian 11.2にCGIを有効にしてPythonスクリプトを利用する方法

環境
OSバージョンを確認します

# cat /etc/debian_version
11.2

apache2バージョンを確認します

# apache2 -v
Server version: Apache/2.4.53 (Debian)
Server built: 2022-03-14T16:28:35

Pythonスクリプトを利用する手順
1.Python をインストールします

# apt -y install python

pythonバージョンを確認します

# python --version
Python 2.7.18

2.CGI モジュールを有効にします

# a2enmod cgi

apache2を再起動します

# systemctl restart apache2

3. テストスクリプトを作成します

# cat > /usr/lib/cgi-bin/testscript <<'EOF'
#!/usr/bin/ruby
print "Content-type: text/html\n\n"
print "test cgi hello wolrd\n"
EOF

ファイルの権限を付与します
# chmod 705 /usr/lib/cgi-bin/testscript
動作確認

# curl http://localhost/cgi-bin/testscript
test cgi hello wolrd

4.デフォルト以外のディレクトリで CGI の実行を許可します。
ディレクトリを作成します

# mkdir /var/www/html/pythontest

配置ファイルを設定します
# nano /etc/apache2/conf-available/pythonenabled.conf
以下の内容を編集します

<Directory "/var/www/html/pythontest">
    Options +ExecCGI
    AddHandler cgi-script .cgi .py
</Directory>

配置ファイルを有効にします

# a2enconf pythonenabled
Enabling conf pythonenabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

apache2を再起動します

# systemctl restart apache2

5.CGI テストページを作成して動作確認をします
# vi /var/www/html/pythontest/index.py
以下の内容を編集します

#!/usr/bin/env python

print "Content-type: text/html\n\n"
print "<html>\n<body>"
print "<div>"
print "Python Script Hello World"
print "</div>\n</body>\n</html>"

ファイルの権限を付与します

# chmod 705 /var/www/html/pythontest/index.py

6.動作確認

「http://192.168.71.144/pythontest/index.py」にアクセスします。
「Python Script Hello World」が表示されます。

 

Debian 11

Posted by arkgame