系統(tǒng) 從OS X Yosemate 10.10升級(jí)到 OS X Sierra 10.12 后之前配置 apache 和 php 均不能正常使用了,重新設(shè)置配置如下:
首先,查看當(dāng)前系統(tǒng)的apache版本,終端下輸入:
httpd -v

查看 apache 版本.png
1、 啟動(dòng)Apache 服務(wù)
- 打開終端
- 輸入 :
sudo apachectl start - 打開瀏覽器
訪問:http://localhost,顯示“It works!”表示Apache啟動(dòng)正常 當(dāng)前訪問的是Apache的默認(rèn)目錄,/Library/WebServer/Documents/
2、 配置用戶訪問目錄
- 首先創(chuàng)建用戶目錄:
mkdir ~/Sites
此時(shí)會(huì)在當(dāng)前用戶的根目錄下創(chuàng)建一個(gè)Sites目錄 可以在Sites目錄下創(chuàng)建一個(gè)測(cè)試的html
修改當(dāng)前用戶目錄的訪問權(quán)限,修改方式:
- 打開終端
- 輸入:
cd /etc/apache2/users- 輸入:
sudo vim username.conf( 注意:這里的username是當(dāng)前用戶名,請(qǐng)根據(jù)實(shí)際情況修改 )- 輸入:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- 修改當(dāng)前文件的訪問權(quán)限:
sudo chmod 775 username.conf
打開瀏覽器,訪問http://localhost/~username/ , 此時(shí)頁面提示~username服務(wù)器不存在,我們還需要進(jìn)入下一步的設(shè)置
3、修改apache的httpd.conf文件
cd /etc/apache2/cd /etc/apache2/sudo vim httpd.conf
找到以下信息,將其前面的#去掉:
LoadModulephp5_module libexec/apache2/libphp5.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf
cd /etc/apache2/extra/sudo vim httpd-userdir.conf
找到以下信息,將其前面的#去掉:
Include /private/etc/apache2/users/*.conf此時(shí)訪問http://localhost/~username/, 依然無法訪問,提示:You don‘t have permission to access /~username/ on this server
4、修改 httpd.conf
sudo vim /etc/apache2/httpd.conf
找到:
<Directory />
AllowOverride none
Require all denied
</Directory>
修改為:
<Directory />
AllowOverride none
Require all granted
</Directory>
5、驗(yàn)證結(jié)果
重啟apache:sudo apachectl restart
訪問:http://localhost/~username/ , 顯示:“It works!”,恭喜你,Apache配置成功!
注:以上方法親測(cè)可用,而且是測(cè)了好2次,因此,如果發(fā)現(xiàn)有問題,建議對(duì)比以上內(nèi)容,逐一排查。