Mac OS X中配置Apache
阿新 • • 發佈:2019-01-07
我使用的Mac OS X版本是10.8.2,Mac自帶了Apache環境。
- 啟動Apache
- 設定虛擬主機
啟動Apache
開啟“終端(terminal)”,輸入 sudo apachectl -v,(可能需要輸入機器祕密)。如下顯示Apache的版本
接著輸入 sudo apachectl start,這樣Apache就啟動了。開啟Safari瀏覽器位址列輸入 “http://localhost”,可以看到內容為“It works!”的頁面。其位於“/Library(資源庫)/WebServer/Documents/”下,這就是Apache的預設根目錄。
Apache的安裝目錄在:/etc/apache2/,etc預設是隱藏的。有三種方式檢視:
- dock下右鍵Finder,選擇"前往資料夾",輸入"/etc"
- 在finder下----》前往---》前往資料夾,然後輸入/etc
- 可以在terminal 輸入 "open /etc"
設定虛擬主機
- 在終端執行“
sudo vi /etc/apache2/httpd.conf
”,開啟Apche的配置檔案 - 在httpd.conf中找到“
#Include /private/etc/apache2/extra/httpd-vhosts.conf
”,去掉前面的“#
”,儲存並退出。 - 執行“
sudo apachectl restart
”,重啟Apache後就開啟了虛擬主機配置功能。 - 執行“
sudo vi /etc/apache2/extra/httpd-vhosts.conf
<
VirtualHost
*:80>
ServerAdmin [email protected]
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName 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>
ServerAdmin [email protected]
DocumentRoot "/usr/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</
VirtualHost
>
而實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:
Forbidden
You don't have permission to access /index.php on this server
最簡單的辦法就是在它們每行前面加上#,註釋掉就好了,這樣既能參考又不導致其他問題。
5、增加如下配置<
VirtualHost
*:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
ErrorLog "/private/var/log/apache2/localhost-error_log"
CustomLog "/private/var/log/apache2/localhost-access_log" common
</
VirtualHost
>
<
VirtualHost
*:80>
DocumentRoot "/Users/snandy/work"
ServerName mysites
ErrorLog "/private/var/log/apache2/sites-error_log"
CustomLog "/private/var/log/apache2/sites-access_log" common
<
Directory
/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
Allow from all
</
Directory
>
</
VirtualHost
>
6、執行“sudo vi /etc/hosts
”,開啟hosts配置檔案,加入"127.0.0.1 mysites
",這樣就可以配置完成sites虛擬主機了,可以訪問“http://mysites”了,在10.8之前Mac OS X版本其內容和“http://localhost/~[使用者名稱]”完全一致。7、注意,記錄log的“
ErrorLog "/private/var/log/apache2/sites-error_log"
”也可以刪掉,但記錄日誌其實是一個好習慣,在出現問題時可以幫助我們判斷。如果保留這些log程式碼,一定log檔案路徑都是存在的,如果隨便修改一個不存在的,會導致Apache無法服務而沒有錯誤提示,這個比較噁心。