如何為 Python CGI 程式設計配置 Apache?


配置 Apache Web 伺服器以執行 CGI

要使您的伺服器正確執行 CGI 指令碼,您必須配置 Web 伺服器。我們將討論如何配置您的 Apache Web 伺服器以執行 CGI 指令碼。

使用 ScriptAlias

您可以將目錄設定為 ScriptAlias 指令(Apache 配置選項)。這樣,Apache 就能理解該目錄中的所有檔案都是 CGI 指令碼。這可能是 Apache 上執行 CGI 指令碼最簡單的方法。在 Apache Web 伺服器的 httpd.conf 檔案中,典型的 ScriptAlias 行如下所示。

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

因此,在您的 httpd.conf 檔案中搜索 ScriptAlias,如果您想將所有 CGI 檔案保留在 Apache 指定的預設目錄中,請取消註釋該行(刪除前面的 #)。但這並不總是能滿足您的需求。因此,我們還將研究其他一些執行 Python 作為 CGI 的選項。

從特定目錄(而非預設目錄)執行 CGI

您可以使用以下方法準備特定目錄以執行 CGI 檔案。

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

其中“somedir”是您選擇的目錄。

如果您使用上述配置,那麼您還必須指定以下內容,以告知伺服器要執行的 CGI 檔案的副檔名。

AddHandler cgi-script .cgi .pl

因此,上述內容告訴 Apache 將副檔名為 .cgi 和 .pl 的檔案作為 CGI 執行。

使用者目錄

如果您想從使用者目錄執行 CGI 檔案,您可以使用以下方法:

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

上述內容告訴 Apache 將使用者目錄中所有副檔名為 .cgi 的檔案作為 CGI 執行。

同樣,如果您希望將使用者目錄中所有檔案都作為 CGI 執行,則可以使用以下方法:

<Directory /home/*/public_html/cg-bin>
Options +ExecCGI
SetHandler cgi-script
</Directory>
Using .htaccess

如果您無權訪問您的 httpd.conf 檔案,您可以使用 .htaccess 檔案來執行 CGI 指令碼。要將具有某些副檔名的檔案用作 CGI,請按如下方式配置您的 .htaccess 檔案:

Options +ExecCGI
AddHandler cgi-script cgi pl

如果您想將目錄中的所有檔案都作為 CGI 執行,可以使用以下方法:

Options +ExecCGI
SetHandler cgi-script

更新於:2020年6月16日

2K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告