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!

Mac自带apache2搭建服务请求localhost报 403 Forbidden相关推荐

  1. Mac上使用nginx访问本地文件夹报403的问题

    Mac上使用nginx访问本地文件夹报403的问题 就是没有权限访问你配置的文件夹在 nginx.conf头行加入下面配置 user root wheel; 不过我的电脑在启动nginx访问的时候会发 ...

  2. SpringBoot请求报403 Forbidden

    文章目录 前言 一.post请求报403 Forbidden ? 二.如何解决 1.手动关闭csrf请求 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术 ...

  3. idea在mac版怎么配置svn_使用Mac自带svn搭建服务器,并使用idea进行连接

    一.检查Mac自带SVN版本号 二.创建代码仓库 $ mkdir -p /Users/Shared/svn/repository $ svnadmin create /Users/Shared/svn ...

  4. Django中ajax发送post请求,报403错误CSRF验证失败解决办法

    今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了:很显 ...

  5. Spring Boot请求403 Forbidden错误

    欢迎关注笔者的微信公众号 在项目中引入了Spring Security框架做权限控制,但是出于调试的方便,在开始的时候就禁用了Spring Security,计划到项目后期再专门开发. 但是,在调试的 ...

  6. mac自带apache服务器吗,Mac开启自带的Apache服务器

    OSX版本10.13.6 1.开启 sudo apachectl start 2.关闭 sudo apachectl stop 3.重启 sudo apachectl restart 默认的Apach ...

  7. Sinatra 搭建服务和使用 POST 和 GET 请求服务示例(简单但实用)

    Ruby 的 Sinatra 其实有点类似于 Python 的 Flask.我另外一篇博客也写了用 Flask 搭建服务和使用请求服务示例:https://blog.csdn.net/Tomorrow ...

  8. 微服务(四) 【手摸手带你搭建Spring Cloud】 Hystrix 熔断器 什么是熔断器? 什么是Hystrix?为什么要熔断器 Hystrix用来做什么? 作用是什么?

    上一章我们讲了负载均衡 文章目录 前言 一.Hystrix是什么? 二.Hystrix的作用是什么?Hystrix具体要保护什么? 2.1什么是微服务-雪崩效应 2.1服务熔断原理 三.实践 前言 一 ...

  9. Netty的Socket编程详解-搭建服务端与客户端并进行数据传输

    场景 Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  10. 完整的node脚手架搭建服务

    使用脚手架来搭建node服务,使用到了express架构,不熟悉的可以看下express官方文档:http://www.expressjs.com.cn/ 使用express直接生成服务的文档结构目录 ...

最新文章

  1. Java面试题之Oracle 支持哪三种事务隔离级别
  2. 【java】如何判断数组中的内容是否重复
  3. c#将对象序列化为字符串和将字符串反序列化为对象
  4. 企业项目开发--切分配置文件
  5. 53亿美元,今年最大一笔杠杆并购案!为什么会是它?
  6. 【机器学习】用PyCaret创建整个机器学习管道
  7. SessionHelper
  8. rplidar 启动马达 c++_【玩码】刘作虎:一加7 Pro的横向线性马达,为安卓手机最大...
  9. C/C++ -- Gui编程 -- Qt库的使用 -- 使用.ui文件
  10. java微信开发API解析(二)-获取消息和回复消息
  11. 面试稳了!网易资深工程师详解运维面经!
  12. 【福利派送】准备了八份小礼物,祝你七夕快乐!
  13. golang 判断时间是否是 rfc3339_[Golang实现JVM第一篇] 知识准备amp;前言
  14. c语言二级考试程序设计题的做题步骤,计算机二级C语言上机考试操作步骤与流程.doc...
  15. 屏保程序学中玩(下)
  16. 用 MeGUI 压制 DVDrip 入门
  17. fatal error LNK1104:无法打开***.exe
  18. Vue+Element UI弹窗实现表格编辑
  19. 玉米社:百度竞价推广否词什么意思?在哪里查看?怎么添加?【全】
  20. 白马非马----继承 (转)

热门文章

  1. Tensorflow 年龄和性别识别(AgeGender)
  2. vue中使用(瀑布流)vue-waterfall-easy插件
  3. 解决魅族手机不输出Log日志 或者输出部分日志问题
  4. 太全面了!Python 编程的最好搭档—VSCode 实用指南!
  5. 微信小程序 环形进度条_微信小程序实现圆形进度条
  6. vmware 虚拟机nat连接,局域网访问
  7. 计算机课程给你最大的收获,计算机课程心得体会.doc
  8. Win系统 - 苹果系统里的“提醒事项”可否同步到 Windows 系统中?
  9. 记录一下mac mini 2018 的折腾过程
  10. 自动驾驶的“第三眼美女“什么时候才能出现?