1. 程式人生 > >Mac OS X中配置Apache HTTP伺服器

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>

 或者採用修改其他屬性的方式進行修改,可以自行搜尋一下。