溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何配置Apache讓CGI執(zhí)行

發(fā)布時間:2020-06-21 21:19:18 來源:億速云 閱讀:156 作者:鴿子 欄目:建站服務器

CGI(公共網(wǎng)關接口)定義了Web服務器與外部內容生成程序交互的方式,這些程序通常被稱為CGI程序或CGI腳本。這是一種使用您最熟悉的編程語言將動態(tài)內容放在網(wǎng)站上的簡單方法。

配置Apache以允許CGI

為了使CGI程序正常工作,需要配置Apache以允許CGI執(zhí)行。有幾種方法可以做到這一點。

方式1:ScriptAlias指令

ScriptAlias指令告訴Apache,為CGI程序留出了一個特定的目錄。Apache將假定此目錄中的每個文件都是CGI程序,并在客戶端請求該特定資源時嘗試執(zhí)行該程序。

ScriptAlias指令如下所示:

ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"

如果在默認位置安裝了Apache,則顯示的示例可在默認httpd.conf配置文件找到。

ScriptAlias指令很像Alias指令,它定義了一個映射到特定目錄的URL前綴。Alias和ScriptAlias通常用于DocumentRoot目錄之外的目錄。

Alias和ScriptAlias之間的區(qū)別在于ScriptAlias具有額外的含義,即該URL前綴下的所有內容都將被視為CGI程序。

因此,上面的示例告訴Apache,對于以/cgi-bin/開頭的資源的任何請求都應該在目錄/usr/local/apache2/cgi-bin/中提供,并且應該被視為CGI程序。

例如,如果請求URL http://www.example.com/cgi-bin/test.pl,Apache將嘗試執(zhí)行文件/usr/local/apache2/cgi-bin/test.pl并返回輸出。當然,該文件必須存在,并且是可執(zhí)行的,并以特定方式返回輸出,否則Apache將返回錯誤消息。

方式2:ScriptAlias目錄之外的CGI

出于安全原因,CGI程序通常僅限于ScriptAlias的目錄。通過這種方式,管理員可以嚴格控制允許誰使用CGI程序。但是,如果采取適當?shù)陌踩A防措施,則沒有理由不能從任意目錄運行CGI程序。

例如,您可能希望使用UserDir指令讓用戶在其主目錄中擁有Web內容。如果他們想擁有自己的CGI程序,但無法訪問主cgi-bin目錄,則需要能夠在其他地方運行CGI程序。

允許在任意目錄中執(zhí)行CGI有兩個步驟。首先,必須使用AddHandler或SetHandler指令激活cgi-script處理程序。其次,必須在Options指令中指定ExecCGI。

方式3:使用Options來允許CGI執(zhí)行

可以在主服務器配置文件中明確使用Options指令來指定在特定目錄中允許CGI執(zhí)行:

<Directory "/usr/local/apache2/htdocs/somedir">
    Options +ExecCGI
</Directory>

上述指令告訴Apache允許執(zhí)行CGI文件。還需要告訴服務器哪些文件是CGI文件。以下AddHandler指令告訴服務器將所有帶有cgi或pl擴展名的文件視為CGI程序:

AddHandler cgi-script .cgi .pl

方式4:用戶目錄

要允許在用戶目錄中以.cgi結尾的任何文件執(zhí)行CGI程序,可以使用以下配置。

<Directory "/home/*/public_html">
    Options +ExecCGI
    AddHandler cgi-script .cgi
</Directory>

如果您希望指定用戶目錄的cgi-bin子目錄,其中所有內容都將被視為CGI程序,則可以使用以下命令。

<Directory "/home/*/public_html/cgi-bin">
    Options ExecCGI
    SetHandler cgi-script
</Directory>

以上就是Apache服務器如何使CGI執(zhí)行?的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI