• Mac自带apache2搭建服务请求localhost报 403 Forbidden


           Mac自带的apache2服务根据网上一堆教程配置并成功启动,但希望将 /etc/apache2/httpd.conf 配置文件中的 DocumentRoot 改为自己想设置的目录,这样方便以后从Mac上直接打开目录修改代码。

    但是改完 DocumentRoot 后重启发现访问 localhost 报 403 Forbidden错误

     在/private/var/log/apache2/目录中的error_log打印如下错误:

    检查如下: 

    1、apache2版本(2.2版本和2.4版本部分配置参数不同,见Apache官方文档

    2、现象:

          1> apache服务正常启动不报错;

    sudo apachectl -k start

          2> /etc/apache2/httpd.conf配置文件中检查如下配置:

              ① ServerName 127.0.0.1:80

              ② 所有的 AllowOverride 都是 All,所有的 Require all 都是 granted

              ③ 相关文件和目录均有读写权限

          3>DocumentRoot 默认是 /Library/WebServer/Documents/,浏览器访问localhost时显示It works!,可以请求成功。

    原因及解决方案:

    Mac系统有自己的一套文件访问保护策略,需要豁免apache访问这些文件的限制,步骤如下:

    1、打开“系统偏好设置”->“安全性与隐私”;

     2、选择“隐私”->“完全磁盘访问权限”,点“解锁”,输入密码后解除锁定;

    3、 解除锁定后,在右侧点击“添加”

     4、此时在列表中列出了可选择的目录及文件,但并没有将Linux中的根目录/等隐藏目录显示出来,可以在如下图位置选择Mac的整个HD硬盘

    5、按组合快捷键:Command+Shift+.(也就是 > 键),此时可以看到隐藏目录都显示了出来,最终选中apache的服务,确定在第3步中的列表中已勾选httpd,并重新锁定。

    6、重新访问localhost,可以看到返回如下内容,说明响应成功。

          DocumentRoot的默认目录 /Library/WebServer/Documents/ 下有文件:index.html.en,此文件的内容是:

    <html><body><h1>It works!h1>body>html>

    将此文件复制到自己设置的目录中,就会显示上面的It works! 

  • 相关阅读:
    《向量数据库指南》——选择向量数据库时需要考量的点Milvus Cloud
    证件照处理
    编译原理6.1:NFA转DFA、DFA化简
    2.10 XGBoost模型数学层面的理解(下篇)
    如何将数据输入神经网络,神经网络的数据预处理
    遥感数据
    山西电力市场日前价格预测【2023-10-24】
    TCP/IP Illustrated Episode 5
    Pytorch中的DDP
    java毕业生设计校园讲座管理计算机源码+系统+mysql+调试部署+lw
  • 原文地址:https://blog.csdn.net/lzghxjt/article/details/126336363