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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat /etc/debian_version
11.2
# cat /etc/debian_version 11.2
# cat /etc/debian_version
11.2

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# apache2 -v
Server version: Apache/2.4.53 (Debian)
Server built: 2022-03-14T16:28:35
# apache2 -v Server version: Apache/2.4.53 (Debian) Server built: 2022-03-14T16:28:35
# apache2 -v
Server version: Apache/2.4.53 (Debian)
Server built: 2022-03-14T16:28:35

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# perl -version
This is perl 5, version 32, subversion 1 (v5.32.1)
# perl -version This is perl 5, version 32, subversion 1 (v5.32.1)
# 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 を有効にします

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# nano /etc/apache2/conf-available/cgienabled.conf
# nano /etc/apache2/conf-available/cgienabled.conf
# nano /etc/apache2/conf-available/cgienabled.conf

以下の内容を編集します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<Directory "/var/www/html/cgienabled">
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
<Directory "/var/www/html/cgienabled"> Options +ExecCGI AddHandler cgi-script .cgi .pl </Directory>
<Directory "/var/www/html/cgienabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
</Directory>

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# a2enconf cgienabled
Enabling conf cgienabled.
To activate the new configuration, you need to run:
systemctl reload apache2
# a2enconf cgienabled Enabling conf cgienabled. To activate the new configuration, you need to run: systemctl reload apache2
# 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
以下の内容を編集します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/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";
#!/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";
#!/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