配置apache運行cgi程序

配置apache運行cgi程序
 
文章目錄
[隱藏]
ScriptAlias目錄的CGI
ScriptAlias目錄之外的CGI
配置apache運行cgi程序可分爲兩種狀況,一是ScriptAlias目錄的CGI,二是ScriptAlias之外目錄的CGI。
ScriptAlias目錄的CGI
ScriptAlias指令使Apache容許執行一個特定目錄中的CGI程序。當客戶端請求此特定目錄中的資源時,Apache假定其中文件都是CGI程序並試圖運行。
ScriptAlias指令形如:
ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/
ScriptAlias目錄之外的CGI
因爲安全緣由,CGI程序一般被限制在ScriptAlias指定的目錄中,如此,管理員就能夠嚴格地控制誰可使用CGI程序。可是,若是採起了恰當的安全方法措施,則沒有理由不容許其餘目錄中的CGI程序運行。好比,你可能但願用戶在UserDir指定的宿主目錄中存放頁面,而他們有本身的CGI程序,但無權存取cgi-bin目錄,這樣,就產生了運行其餘目錄中CGI程序的需求。
一、用Options顯式地容許CGI的執行
能夠在主服務器配置文件中,使用Options指令顯式地容許特定目錄中CGI的執行:
<Directory /usr/local/apache/htdocs/somedir>
Options +ExecCGI
</Directory>
上述指令使Apache容許CGI文件的執行。另外,還必須告訴服務器哪些文件是CGI文件。下面的AddHandler指令告訴服務器全部帶有cgi或pl後綴的文件是CGI程序:
AddHandler cgi-script cgi pl
二、.htaccess文件
.htaccess文件是針對目錄進行配置的一種方法。Apache在提供一個資源時,會在此資源所在目錄中尋找.htaccess文件,若是有,則使其中的指令生效。AllowOverride 指令決定了.htaccess文件是否有效,它指定了哪些指令能夠出如今其中,或者根本不容許使用。爲此,須要在主服務器配置中如此配置:
AllowOverride Options
在.htaccess文件中,須要如此配置:
Options +ExecCGI
以使Apache容許此目錄中CGI程序的執行。
最後能夠編寫一個cgi程序測試,如:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
參考:http://lamp.linux.gov.cn/Apache/ApacheMenu/howto/cgi.html
轉載請標明文章來源:《https://www.centos.bz/2012/06/configure-apache-run-cgi/》
相關文章
相關標籤/搜索