在多方詢問與請教估狗大神之後,終於有了頭緒。
首先我實驗的網址是我的本機端 http://localhost/cgi-bin/HelloWorld.cgi
總共會遇到的問題可能有三個,下面將一一描述:
1. 首先來看看thttp.conf這個設定檔
#======= thttp.conf ========
# This section overrides defaults
dir=/home/httpd/html
chroot
user=root
# default = nobody
.....
.....
.....
要使用cgi第一部分要注意的是上面的紅字的部分,這樣的寫法當你要去執上面的網址時
會遇到下面的狀況:
Solution: 修改thttpd.conf請將chroot註解掉,如下所示:
#======= thttp.conf ========
# This section overrides defaults
dir=/home/httpd/html
#chroot
user=root
# default = nobody
# This section overrides defaults
dir=/home/httpd/html
#chroot
user=root
# default = nobody
.....
.....
.....
2.第二個會遇到的問題,當你輸入網址之後可能遇到下面的狀況:
Solution: 遇到這個問題請先去修改thttpd.conf,可能原因是 "cgipat=/cgi-bin/"後面必須加個"*"
正確的內容如下所示:
#======== thttpd.conf =========
# This section overrides defaults
dir=/home/httpd/html
#chroot
user=root
# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
port=80
# nosymlink# default = !chroot
# novhost
cgipat=/cgi-bin/* <======後面加個"*"
3. 第三個會遇到的問題是,當輸入網址後Browser會出現下載cgi檔案的提示,而不是顯示出你要的cgi頁面
Solution: 這個問題是因為你cgi檔案設定的權限有問題,似乎是因為cgi檔案必須要有可執行權限,解決方法是只需用以下指令
# chmod 755 HelloWorld.cgi
權限更改成功之後 終於看到cgi要show的畫面了 :D
總結: cgi網頁有問題時
1. 請修改thttpd.conf如下:
#======== thttpd.conf =========
# This section overrides defaults
dir=/home/httpd/html
#chroot
user=root
# default = nobody
logfile=/var/log/thttpd.log
pidfile=/var/run/thttpd.pid
# This section _documents_ defaults in effect
port=80
# nosymlink# default = !chroot
# novhost
cgipat=/cgi-bin/*
2.# chmod 755 HelloWorld.cgi
以上~
沒有留言:
張貼留言