shell>% vim /etc/httpd/conf/httpd.conf載入 cgi 模組
LoadModule cgi_module modules/mod_cgi.so
利用 ScriptAlias 指令設定 cgi-bin 這個目錄為 CGI 程式專用,雖然ScriptAlias與 Alias 指令很類似,通常用來連結不在 DocumentRoot 下的目錄,但 ScriptAlias 指令更能表達該目錄內含為 CGI 程式
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
接下來必須明確指定某目錄可以執行 CGI
<Directory /var/www/cgi-bin/>
Options +ExecCGI
</Directory>
告訴 Apache 什麼檔案應視為 CGI 程式,大部分的 CGI 程式的副檔名為 .cgi 或 .pl
AddHandler cgi-script .cgi .pl
完成上述設定後,重新啟動 apache ,將 CGI 程式放到 /var/www/cgi-bin 目錄下,確認apache有執行程式的權限,在網址列上輸入 http://server/cgi-bin/YourProg.cgi 就可以看到結果,若有問題可以參閱 error_log 查看訊息。
使用 UserDir 模組,讓一般使用者能在自己的家目錄下執行 CGI 程式
<IfModule mod_userdir.c>印出伺服器的環境變數
UserDir public_html
</IfModule>
<Directory /home/*/public_html>
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
#!/usr/bin/perl -w
use strict;
print "Content-type: text/html\n\n";
foreach my $key (keys %ENV) {
print "key --> $ENV{$key}<br>";
}
參考文獻
Apache Tutorial: Dynamic Content with CGI
沒有留言:
張貼留言