系统 从OS X Yosemate 10.10升级到 OS X Sierra 10.12 后之前配置 apache 和 php 均不能正常使用了,重新设置配置如下:
首先,查看当前系统的apache版本,终端下输入:
httpd -v
1、 启动Apache 服务
- 打开终端
- 输入 :
sudo apachectl start
- 打开浏览器
访问:http://localhost,显示“It works!”表示Apache启动正常 当前访问的是Apache的默认目录,/Library/WebServer/Documents/
2、 配置用户访问目录
- 首先创建用户目录:
mkdir ~/Sites
此时会在当前用户的根目录下创建一个Sites目录 可以在Sites目录下创建一个测试的html
修改当前用户目录的访问权限,修改方式:
- 打开终端
- 输入:
cd /etc/apache2/users
- 输入:
sudo vim username.conf
( 注意:这里的username是当前用户名,请根据实际情况修改 )- 输入:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- 修改当前文件的访问权限:
sudo chmod 775 username.conf
打开浏览器,访问http://localhost/~username/ , 此时页面提示~username服务器不存在,我们还需要进入下一步的设置
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
此时访问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、验证结果
重启apache:sudo apachectl restart
访问:http://localhost/~username/ , 显示:“It works!”,恭喜你,Apache配置成功!
注:以上方法亲测可用,而且是测了好2次,因此,如果发现有问题,建议对比以上内容,逐一排查。