ScriptAlias

指定のURLを、CGIの実行ディレクトリにマッピングする場合は、ScriptAliasディレクティブを使う。

mod_alias - Apache HTTP サーバ バージョン 2.4
Fedora 31 : Apache httpd : CGI スクリプトを利用する : Server World

[bg1@localhost ~]$ su
パスワード:
[root@localhost bg1]# cd /etc/httpd/conf
[root@localhost conf]# vi httpd.conf

httpd.confを開くと、前回の<IfModule alias_module>の中に、

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

と既に書いてあるので、/cgi-bin/の下のCGIファイルにアクセスすると、/var/www/cgi-bin/の下の指定のCGIが実行される。

[root@localhost conf]# cd /var/www/cgi-bin/
[root@localhost cgi-bin]# ls
[root@localhost cgi-bin]# vi testcgi1.cgi
[root@localhost cgi-bin]# which perl
/usr/bin/perl
[root@localhost cgi-bin]# vi testcgi1.cgi

Perlでテスト用CGIを作ってみる。

#!/usr/bin/perl

# ヒアドキュメントでテスト用CGIを書く.
$text = <<END; # ENDの前まで格納する.
Content-Type: text/html

<html>
  <head>
    <title>
      TestCGI1
    </title>
  </head>
  <body>
    TestCGI1
  </body>
</html>
END

# $textの出力.
print $text; # $textを出力.

せっかくなので、ヒアドキュメントで作成。

[root@localhost cgi-bin]# ls -al
合計 12
drwxr-xr-x. 2 root root 4096  3月 18 12:13 .
drwxr-xr-x. 5 root root 4096  3月 16 13:07 ..
-rw-r--r--. 1 root root  304  3月 18 12:13 testcgi1.cgi
[root@localhost cgi-bin]# chmod 755 testcgi1.cgi
[root@localhost cgi-bin]# ls -al
合計 12
drwxr-xr-x. 2 root root 4096  3月 18 12:13 .
drwxr-xr-x. 5 root root 4096  3月 16 13:07 ..
-rwxr-xr-x. 1 root root  304  3月 18 12:13 testcgi1.cgi
[root@localhost cgi-bin]# apachectl start

chmodで実行権限を付与して、Apacheを起動すると、

テスト用CGIが実行された
テスト用CGIが実行された

テスト用CGIが実行された。