Mac 10.8.5 上運行cgi

搭配置搭了很久,花了近半天時間,有必要把過程記錄下。html

本文已同步到 icocoa.tk, 歡迎訪問web

Mountain Lion上Setting設置裏已經取消了web share,必需要本身啓動apache服務。啓動命令:apache

//啓動
sudo apachectl start
//重啓
sudo apachectl restart//

而後在用戶主目錄下找到Site目錄,這裏用來放置html。ide

這裏我輸入後,不管訪問http://localhost/仍是http://localhost/~username/index.html都不能訪問。this

後來我想起我安裝了xampp,經過xampp的控制檯開啓apache,則能夠訪問上述地址。猜想xampp的某些設置影響了系統原有的設置。因而,果斷卸載了xampp。這時,重啓下apache,果真能夠訪問了。spa

接下來,要修改apache的一些配置,來開啓cgi。.net

編輯apache配置文件:/etc/apache2/httpd.conf,取消註釋:
AddHandler cgi-script .cgi (1)
AddType text/html .shtml (2)
AddOutputFilter INCLUDES .shtml(3)
(1)是描述對什麼樣的文件視爲cgi文件,用戶可添加,好比添加 perl文件:
AddHandler cgi-script .cgi .pl
(2)和(3)是表示容許服務端返回的文件內容格式、和包含的輸出文件;rest

檢查cgi_module是否被註釋掉了:
LoadModule cgi_module modules/mod_cgi.socode


編輯文件:/etc/apache2/users/yourusername.conf
<Directory "/Users/yourusername/Sites/">
Options Indexes FollowSymLinks MultiViews ExecCGI
DirectoryIndex index.html index.cgi
AllowOverride None
Order allow,deny
Allow from all
</Directory>
這裏是給Sites目錄設置屬性,ExecCGI就是開啓cgi。接下來就能夠把cgi或pl文件放置在Sites目錄下任何地方了。server

最後賦予腳本文件可執行權限。

全部上述的都完成後,須要重啓apache。若是這時,cig仍是不能訪問,跳出:

Forbidden

You don't have permission to access /~username/test.cgi on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request

那麼,你須要作的就是重啓你的mac!!(我就是在這裏花費太多時間!!)

關於CGI開啓部分 主要參考了:
mac下 apache cgi 配置
CGI Programming With Apache and Perl on Mac OS X

Apache Tutorial: Dynamic Content with CGI

相關文章
相關標籤/搜索