Mac OS X中配置Apache HTTP伺服器
我現在正在使用的是Mac OS X版本是10.11.6,剛換了Mac os系統,對於用習慣了windows的來說確實需要一段時間適應,昨天在mac上配置環境的時候搭建apache http伺服器遇到了些問題現在總結分享一下,希望也能解決你們的煩惱。
一、啟動伺服器
首先開啟“終端(terminal)”,輸入 sudo apachectl -v,(可能需要輸入機器祕密)。如下顯示Apache的版本:
可以輸入啟動命令進行啟動: sudo apachectl start
開啟瀏覽器輸入http://localhost,就可以看到it work!的內容了,這個頁面其實是位於/Library(資源庫)/WebServer/Documents/,是apache預設的根目錄。
二、修改虛擬主機檔案
Apache的安裝目錄在:/etc/apache2/,etc預設是隱藏的,可以通過終端進行操作也可以在finder中選前往, 輸入/etc在finder中進行操作。
1 、終端執行“sudo vi /etc/apache2/httpd.conf”,開啟Apche的配置檔案
2 、在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,儲存並退出。
3、執行行“sudo apachectl restart”,重啟Apache後就開啟了虛擬主機配置功能
4、執行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打開了配置虛擬主機檔案httpd-vhost.conf,配置虛擬主機了。需要注意的是該檔案預設開啟了兩個作為例子的虛擬主機如下:
而實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:
ForbiddenYou don't have permission to access /index.php on this server,可以參考我改的配置,如下:
<VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ServerAlias www.dummy-host.example.com ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log" CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "/Users/limm/Workspace/http_server" ServerName mysites ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common <Directory /> Allow from all </Directory> </VirtualHost>
例如:如果想要使用“/Users/limm/Workspace/http_server/生效,以及可以使用http://mysites訪問你的專案所在工作空間,要進行如下配置:
1、執行“sudo vi /etc/hosts”,開啟hosts配置檔案,加入"127.0.0.1 mysites",這樣就可以配置完成sites虛擬主機了,可以訪問“http://mysites”了
2、log日誌的內容都可以刪掉,但是建議保留,記錄日誌是一個很好的習慣,當出現錯誤的時候可以檢視log日誌,需要注意的一點是log日誌的目錄一定是存在的才可以,如果此目錄不存在,apache伺服器啟動報錯,無法服務。
三、其他配置
1、如果不採用第二點訪問可以直接配置,需要修改/etc/apache2/httpd.conf
因為apache預設是不現實檔案目錄的,可以在檔案中加入
<Files *>
Options Indexes
</Files>
或者採用修改其他屬性的方式進行修改,可以自行搜尋一下。