Mac OS X中配置Apache

原文:http://www.cnblogs.com/snandy/archive/2012/11/13/2765381.html


我使用的Mac OS X版本是10.8.2,Mac自帶了Apache環境。

  1. 啓動Apache
  2. 設置虛擬主機


啓動Apache

打開“終端(terminal)”,輸入 sudo apachectl -v,(可能需要輸入機器祕密)。如下顯示Apache的版本

 

接着輸入 sudo apachectl start,這樣Apache就啓動了。打開Safari瀏覽器地址欄輸入 “http://localhost”,可以看到內容爲“It works!”的頁面。其位於“/Library(資源庫)/WebServer/Documents/”下,這就是Apache的默認根目錄。

Apache的安裝目錄在:/etc/apache2/,etc默認是隱藏的。有三種方式查看:

  1. dock下右鍵Finder,選擇"前往文件夾",輸入"/etc"
  2. 在finder下----》前往---》前往文件夾,然後輸入/etc
  3. 可以在terminal 輸入 "open /etc"

 

設置虛擬主機

  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,配置虛擬主機了。需要注意的是該文件默認開啓了兩個作爲例子的虛擬主機:


<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無法服務而沒有錯誤提示,這個比較噁心。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章