指定の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
#!/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が実行された。