macOS 下开启自带的 Apache 服务

艺帆风顺 发布于 2025-04-03 12 次阅读


Apache 路径

VERILOG
/etc/apache2/
VERILOG$ lsextra httpd.conf.pre-update mime.types otherhttpd.conf magic original users

启动服务

BASH
sudo apachectl start/restart # 启动apachesudo apachectl stop # 停止apache


发现 Apache 已经可以正常工作了,接下来修改默认网站路径。

修改默认网站目录

修改配置文件

macOS 下 apache 默认的网站路径是 /Library/WebServer/Documents
我们来修改 /etc/apache2/httpd.conf 找到 DocumentRoot 这行来进行修改:

BASH
$ vim /etc/apache2/httpd.conf

然后改为我们自己的网站路径的配置文件。

重启 apache 来生效

BASH
sudo apachectl restart

效果


这个是什么情况???报了如下错了:

VERILOG
You don't have permission to access / on this server.

表急,是我一开始想的太简单了,不能灰心!
查看 apache 报错日志: cat /private/var/log/apache2/error_log 得到如下的报错信息:

VERILOG
client denied by server configuration

然后根据这个报错,Google 了下找到了国外的几个论坛,最终解决了问题。

解决 403 的问题

网上查资料发现是因为 macOS 版本升级导致了 Apache 策略发生变更了,所以我们修改后还是会出现 403 无权访问的情况。
解决方法:备份原有的 httpd.conf 配置文件,把同级目录下的 httpd.conf.pre-update 重命名为 httpd.conf
然后再修改默认的网站根目录:
需要修改原来的默认路径,然后改为自己的路径。全文搜索 只有这 2 处是 /Library/WebServer/Documents 然后查找替换了下。

再次重启 apache

BASH
sudo apachectl restart

macOS 和 Linux 都有一个共同的特点:凡是修改过配置文件的服务,当我们修改过后 必须重启服务 才可以生效。

版权声明:本文内容来自个人博客:国光,遵循CC 4.0 BY-SA版权协议上原文出接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://www.sqlsec.com/2017/07/macapache.html如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者:国光的创作,Powered by Butterfly/By 国光。本文发布已获原作者国光授权转载。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作权,非商业转载请注明出处。