亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

如何讓apache支持cgi腳本

2024-08-27 18:21:59
字體:
來源:轉載
供稿:網友

1、準備工作 

首先,我假設你已經安裝好Apache而且你的Apache能提供靜態網頁供瀏覽。Apache的安裝會自動附上靜態的HTML測試頁,也就是說如果能看到那測試頁,就代表你的Apache能正常運作了。基本安裝下的Apache僅能提供靜態的HTML網頁。然而,你可以通過使用模塊(modules)來提升它的功能。在原始的設定下,Apache的編譯會包含mod_include 及 moc_cgi 這兩個模塊。你可以在bin子目錄下執行./httpd -l來查看你的Apache是否裝有這兩個模塊。執行的輸出會是一長串Apache現在安裝的所有模塊。

如果mod_include及moc_cgi 這兩個模塊不在清單里,你必須重新編譯服務器。重新編譯時,確定依照如何含括 mod_include、moc_cgi 模塊的說明。此外你還必需有提供實時網頁的Server-Side Includes(相關資料網址:http://www.oreilly.com/catalog/apache/excerpt/ch10.html)。

有了 server-side includes (SSI)支持,你就能制作出實時的動態網頁。接下來,我先從服務器的SSI支持設定開始,然后進入CGI的編寫。 

2、Apache的設定 

首先你必須先找到Apache這個設定文件。Apache的原始安裝目錄在 Unix下是/usr/local/apache,在Windows下則是 c:Program FilesApache。接著在conf子目錄下你會找到httpd.conf 文件。這就是Apache的設定檔。這個設定文件是個純文字文件,所以你可以使用一般的文字編輯器,如vi或Notepad 等,來編輯。首先要注意的是在這個設定檔里有些行的起始文字是#符號,這表示這行的文字全為批注。適當地在你的設定檔內做批注是個好習慣,因為那幫你記得你曾做了哪些設定以及為什么。 

3、執行 SSI 程序 

開啟設定文件并尋找以下這些文字: 

  1.  
  2. # To use server-parsedHTMLfiles  
  3.  
  4. #AddType text/html .shtml  
  5. #AddHandler server-parsed .shtml 

刪除AddType及AddHandler這兩行指令前的#符號。AddType指令會要求服務器在傳回任何附屬檔名為.shtml的網頁時,以 text或HTML做為傳回文件的內容格式。AddHandler 則是用來指示服務器將文件內容送交給mod_include 處理。之后,mod_include 就會判斷該如何響應這樣的文件。接下來,尋找以下文字: 

在這行文字及對應的 間會有一行選項行(options line)。原始的設定是: 

Options Indexes FollowSymLinks MultiViews 

在這行尾端加上Includes ,結果看起來會是這樣: 

Options Indexes FollowSymLinks MultiViews Includes 

這是要求Apache在htdocs子目錄里執行 server-side includes 程序。為了讓這些修改生效,我們必須重新啟動服務器。在 Unix 下重新激活,執行kill -HUP `cat /usr/local/apache/logs/httpd.pid`。在 Windows 下,執行Apache-k restart?,F在我們來試試剛才的設定結果。在/usr/local/apache/htdocs 目錄里新增一個文件 test.shtml。這個文件必須要包含以下程序代碼: 

The file hello.txt is long and it was last modified on 

這段 SSI 程序會去讀取一個稱為 hello.txt 文件,并將該文件的大小以及最近一次的修改日期輸出到網頁上。顯然的,我們還必須在 htdocs 目錄下新增這個hello.txt 文件。在我的hello.txt 文件里只有一行文字:HOW ARE YOU!。完成新增這些文件后,打開你慣用的瀏覽器并開啟http://localhost/test.shtml網頁。如果你服務器的安裝并不是通過root用戶,你可能必須改為開啟http://localhost:8080/test.shtml。之后將得到如下結果: 

HOW ARE YOU! The file hello.txt is 1k bytes long and it was last modified on Wednesday, 02-Aug-2000 20:18:28 PDT 

另外一種可以激活支持SSI程序的方法稱為XbitHack設定(相關資料網址:http://www.apache.org/docs/mod/mod_include.html#xbithack )。這個方法的由來是當你將文本文件的使用者可執行位(user-executable bit)設為可執行狀態后,Apache會將那些文件視為 SSI 程序文件。 

要激活這樣的功能必須將以下指令(directive)放在所有目錄的 .htaccess 文件里:XbitHack status on (or full) status 的值可以設為on 、off 或是full。on 的設定會強制服務器將所有使用者可執行的文件視為SSI項。Off則使服務器完全忽略使用者可執行的設定狀態。若是設定為Full,服務器會視所有使用者可執行檔為SSI項,同時也會檢查組可執行(group-executable bit)。如果組可執行項設定為可執行時,傳回header的last modified time的值就會被設定為該文件最近一次被修改的時間。這樣的設定可以讓客戶端的瀏覽器及代理服務器(proxy)進行緩存(caching)。不過在使用這樣的功能時必須要小心。例如說,如果你的網頁有提供輪替式廣告看板你就不會想要設定群組可執行位為開啟的狀態,因為那么做會讓第一個下載的廣告被快取起來,導致使用者再也看不到其它頁的廣告。 

4、執行CGI程序 

在Apache原始安裝里,cgi-bin子目錄下附有兩組CGI程序,test-cgi 以及printenv,只不過這兩組程序有潛在的安全漏洞。但是由于我們只是要做設定測試,并且我們不會將這樣的原始安裝設定直接放在主運行服務器(live server),所以我們還是會激活其中一組CGI程序,看看Apache當初是如何被設定來執行這組程序。最后我們會自己撰寫一支簡單的CGI程序。 

首先,要確定這組程序是能執行的。進入cgi-bin子目錄,確定程序文件被設定為使用者(服務器執行時使用者)可執行以及使用組(服務器執行時使用組)可執行。對 Windows系統來說,這一步應該是非必要的。接著,對服務器要求這樣的內容: 

http://localhost:8080/cgi-bin/test-cgi 

注意:只有在通過非root使用者進行服務器安裝的情況下才需要指定8080端口(port)。這支Apache內建的test-cgi程序會列出CGI程序會存取的變量值。激活CGI支持是設定在httpd.conf設定文件內的ScriptAlias 指令區段。這個指令區段的原始設定值是: 

ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ 

這行指令是告訴Apache如果要求的網頁路徑是以cgi-bin為起始,這些文件可在/usr/local/apache/cgi-bin/ 目錄下找得到。這行指令同時也告訴Apache要在這個目錄下執行文件。在下面我準備了一個會輸出How are you!的簡單CGI程序。我將它命名為 how.sh。 

  1. #!/bin/sh  
  2. echo Content-type: text/html  
  3. echo  
  4. echo How are you! 

修改這個文件的權限使其成為可執行文件并且向你的服務器提出以下的要求: 

http://localhost:8080/cgi-bin/how.sh 

雖然這組CGI是采用shell script來編寫,其實它可以用任何適用于該系統的語言來撰寫。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情一级二级| 97久久久久久| 欧美成人午夜激情| 日韩欧美高清在线视频| 色偷偷888欧美精品久久久| 国产精品永久免费视频| 国产伦精品免费视频| 精品亚洲国产视频| 久久99久久99精品中文字幕| 欧美情侣性视频| 亚洲欧洲在线视频| 国模吧一区二区| 欧美在线精品免播放器视频| 日韩亚洲精品电影| 日本不卡高字幕在线2019| 欧美极品在线视频| 久久九九全国免费精品观看| 欧美激情xxxxx| 亚洲性生活视频在线观看| 亚洲欧美中文字幕在线一区| 久久国产精品免费视频| 欧美黑人极品猛少妇色xxxxx| 精品国产电影一区| 久久久免费观看| 亚洲精品久久在线| 国产精品草莓在线免费观看| 国产视频在线观看一区二区| 精品日韩视频在线观看| 精品色蜜蜜精品视频在线观看| 亚洲精品丝袜日韩| 久热精品视频在线免费观看| 91精品视频免费| www.色综合| 亚洲欧美另类在线观看| 亚洲黄色av女优在线观看| 中国人与牲禽动交精品| 精品久久久免费| 日韩成人免费视频| 国产www精品| 国产成人在线一区二区| 奇门遁甲1982国语版免费观看高清| 国产亚洲精品高潮| 秋霞午夜一区二区| 九九综合九九综合| 美女福利视频一区| 国产精品福利无圣光在线一区| 国产成人91久久精品| 国产成人欧美在线观看| 高清在线视频日韩欧美| 国产精品精品视频| 日本乱人伦a精品| 欧美电影免费观看网站| 亚洲国产精彩中文乱码av在线播放| 奇米一区二区三区四区久久| 久久久久久久一| 久久久噜久噜久久综合| 九九热最新视频//这里只有精品| 欧美激情一区二区三区成人| 久久精品电影网| 欧美美女18p| 日韩中文字幕在线视频播放| 国产精品久久99久久| 97视频免费观看| 日本成人在线视频网址| 久久久这里只有精品视频| 欧美丝袜第一区| 欧美激情视频在线| 久久久久久久久中文字幕| 日韩av影片在线观看| 免费99精品国产自在在线| 欧美成人精品不卡视频在线观看| 国产精品高潮在线| 欧美日本高清一区| 日韩高清电影好看的电视剧电影| 国产精品嫩草影院久久久| 日韩av手机在线看| 久久免费精品视频| 午夜精品一区二区三区在线播放| 中文字幕欧美亚洲| 日韩国产欧美精品一区二区三区| 日韩电影免费观看在线| xxxx性欧美| 亚洲娇小xxxx欧美娇小| 欧美性猛交xxxx乱大交蜜桃| 亚洲欧洲xxxx| 日本国产精品视频| 久久亚洲春色中文字幕| 久久91亚洲精品中文字幕奶水| 午夜精品一区二区三区在线视| 欧美日韩国产成人在线观看| 久热爱精品视频线路一| 亚洲自拍另类欧美丝袜| 91免费人成网站在线观看18| 久久久亚洲精品视频| 国产精品白嫩初高中害羞小美女| 亚洲区在线播放| 北条麻妃一区二区三区中文字幕| 亚洲精品成a人在线观看| 日本亚洲精品在线观看| 色青青草原桃花久久综合| 欧美成人国产va精品日本一级| 久久久久久久久电影| 国产精品www网站| 日本欧美精品在线| 国产精品夫妻激情| 在线观看日韩www视频免费| 国产97在线视频| 久久精品国产96久久久香蕉| 91在线看www| 欧美亚洲一区在线| 亚洲最大福利视频网| 国产精品久久久久不卡| 欧美一级在线播放| 欧美激情国产精品| 91精品国产沙发| 日韩在线视频线视频免费网站| 亚洲专区在线视频| 97视频免费在线观看| 日韩一区二区三区国产| 欧美在线视频观看| 久久精品视频va| 亚洲色图15p| 成人xvideos免费视频| 91精品久久久久久久| 91黑丝在线观看| 亚洲最大av在线| 国产精品视频免费在线| 正在播放欧美一区| 久久亚洲精品视频| 亚洲精品福利资源站| 51精品在线观看| 欧美一级视频在线观看| 亚洲天堂成人在线| 97国产成人精品视频| 亚洲成avwww人| 孩xxxx性bbbb欧美| 国产日本欧美在线观看| 国产999精品| 日韩在线观看你懂的| 亚洲视频免费一区| 91久热免费在线视频| 最新亚洲国产精品| 欧美电影免费观看大全| 国产精品入口尤物| 亚洲精品在线不卡| 日韩精品欧美国产精品忘忧草| www.久久久久久.com| 欧美黄色片免费观看| 成人免费福利视频| 亚洲欧美激情四射在线日| 久热精品视频在线观看一区| 日韩在线欧美在线| 久久久久久久久久久91| 欧美高清在线观看| 97人人爽人人喊人人模波多| 国产精品一久久香蕉国产线看观看| 亚洲欧洲激情在线| 中文字幕精品—区二区| 亚洲va久久久噜噜噜久久天堂| 国产精品18久久久久久首页狼| 久久久999成人| 自拍偷拍亚洲欧美| 国产一区二区三区四区福利| 亚洲国产精品久久久久秋霞不卡|