MacOS Sierra上 配置Apache2.4本地虚拟主机遇到的坑

之前是做移动端开发的,刚开始学习后台,公司的项目使用PHP做的后台,大家用的都是windows,由于之前是做iOS开发的,我又习惯用自己的电脑,所以自己配的环境跟同事们也是有些许的不同,配一个虚拟主机用于本地调试项目,配了一天,不记录下来真是对不起时间。希望填的坑对看到的人有帮助。


正题:

我碰到的问题是  403

到网上搜了很多相关的回答,相同的我就不重复了,简单概括步骤就是

1、/private/etc/apache2/httpd.conf 文件中

#Include /private/etc/apache2/extra/httpd-vhosts.conf  前的‘#’去掉  让其加载 /private/etc/apache2/extra 中的httpd-vhosts.conf虚拟主机配置文件

2、/private/etc/apache2/extra/httpd-vhosts.conf文件中

添加项目目录权限 (apache2.4)     Apache2.2的自行Google就好  两个版本的Apache Directory标签中的结构是不同的

<Directory "自己的项目目录的父目录">
    Options Indexes FollowSymlinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

以上要注意两点:一是放在 VirtualHost标签外面,二是要用自己项目的父目录。作为一个全局的权限配置,以便给其子目录添加多个虚拟主机,且其子目录都有了相同的目录权限。

3、/private/etc/apache2/extra/httpd-vhosts.conf文件中

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "自己的项目目录"
ServerName www.test.com
ServerAlias www.test.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>
DocumentRoot 填自己的项目所在目录
ServerName  host中配的主机域名

4、配置host eg:添加  127.0.0.1  www.hehe.com

5、重启Apache  

sudo apachectl start

 然后在浏览器中 www.hehe.com 试一下哈!

6、有时碰到权限问题可以检查一下 项目所在文件是否可写,手动 chmod 755 一下项目文件夹

6、其实最重要的一点,也是挡了我一天的问题是:如果此时你遇到了 403 的 Forbidden 权限问题!请你检查一下你的项目是否放在了 Desktop 或其子目录中!!!因为桌面权限高的问题,直接将Apache挡住了连进都进不去,一定会报错 403 的权限问题。所以一定不要将你的项目文件夹放到桌面及其子目录中!

另外Apache的默认目录为/Library/WebServer/Documents

Apache的默认安装目录为/private/etc/apache2     不要混淆两者

另外,给个彩蛋,对于新配环境 主页能打开,但是带参数就 404 报错:

Not Found 

The requested URL /v3/Public/login.html was not found on this server.

这是要进到 /private/etc/apache2/httpd.conf 文件中

搜索  LoadModule rewrite_module libexec/apache2/mod_rewrite.so

将前面的 # 去掉,意思是 Apache 开启重写!

原文地址:https://www.cnblogs.com/GetLastError/p/7597184.html