Debian 11.2でデフォルト以外のディレクトリでCGI(Perlスクリプト)の実行を許可する

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

# cat /etc/debian_version
11.2

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

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

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

# perl -version
This is perl 5, version 32, subversion 1 (v5.32.1)

デフォルト以外のディレクトリで CGI の実行を許可する手順
1.デフォルト以外のディレクトリ「/var/www/html/cgienabled」を作成します
# mkdir /var/www/html/cgienabled

2.配置ファイルを設定します
拡張子 cgi および pl を CGI を有効にします

# nano /etc/apache2/conf-available/cgienabled.conf

以下の内容を編集します

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

3.設定内容を有効にします

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

apache2を再起動します
# systemctl restart apache2

4.設定したディレクトリで CGI テストページを作成して動作確認をします
# vi /var/www/html/cgienabled/index.cgi
以下の内容を編集します

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<html>\n<body>\n";
print "<div>\n";
print "Hello world CGI Page";
print "\n</div>\n";
print "</body>\n</html>\n";

6.動作確認
http://192.168.71.144/cgienabled/index.cgiにアクセスします。
「Hello world CGI Page」が表示されます。

Debian 11

Posted by arkgame