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」が表示されます。