搭配置搭了好久,花了近半天時間,有必要把過程記錄下。
本文已同步到 icocoa.tk, 歡迎訪問
Mountain Lion上Setting設定裡已經取消了web share,必須要自己啟動apache服務。啟動命令:
//啟動 sudo apachectl start //重啟 sudo apachectl restart//
然後在使用者主目錄下找到Site目錄,這裡用來放置html。
這裡我輸入後,無論訪問http://localhost/還是http://localhost/~username/index.html都不能訪問。
後來我想起我安裝了xampp,通過xampp的控制檯開啟apache,則可以訪問上述地址。猜測xampp的某些設定影響了系統原有的設定。於是,果斷解除安裝了xampp。這時,重啟下apache,果然可以訪問了。
接下來,要修改apache的一些配置,來開啟cgi。
編輯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)是表示允許服務端返回的檔案內容格式、和包含的輸出檔案;
檢查cgi_module是否被註釋掉了:
LoadModule cgi_module modules/mod_cgi.so
編輯檔案:/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目錄下任何地方了。
最後賦予指令碼檔案可執行許可權。
所有上述的都完成後,需要重啟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