详细记录使用自带apache的一些问题
开启apache服务
作为2016年的新版本os,在系统偏好设置里没有网络共享了,所以可以通过终端,直接开启apache服务器;
- 开启apache:sudo apachetl -k start (最好以root的身份来启动服务器,不是管理员的身份,会有奇怪的东西);
- 重启apache:sudo apachetl -k restart;
- 停止apache:sudo apachetl -k stop;
修改默认目录(使localhost变为你设置的地址)
- 可以通过finder的前往文件夹,地址为
/etc/apache2
,打开之后,可以看到很多文件,可以使用编辑器来打开http.conf文件,进行修改,找到DocumentRoot
字段,修改之下的默认文件路径,修改成自定义的默认文件存放路径; - 可以在刚刚的文件里再找到
Listen 80
,有时端口会被占用,所以可以进行修改; - 在
/etc/apache2/extra
的文件夹里找到http-vhosts.conf文件,打开之后可以看到文档的最下面会有两个demo的配置,可以使用#
来把这两个demo注释掉,之后
<VirtualHost *:80>
ServerAdmin "服务全名称"
DocumentRoot "自定义文件路径"
ServerName "映射路径"
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
<Directory "给directory再次带上文件路径参数,要不会报AH00526的错误">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
#Order deny,allow
#Allow from all
Require all granted
</Directory>
</VirtualHost>
更新 mac sierra之后的问题
这特喵的不如不更新呢,搞我一上午,原先的配置文件没有了,不过在更新过后的/etc/apache2
中,有之前的http.conf~pre文件,还有http-vhosts.conf文件也需要重新更新一下,之前的hosts倒是还存有映射;
和之前的比较起来,需要在http.conf文件里把ServerName
的注释去掉,并加上名称,之前也没有,不知道为啥,不加会报AH00557的错误。
更新10.12.1之后
配置文件倒是还在,只是apache需要重新启动
- 开启apache:sudo apachectl -k start (最好以root的身份来启动服务器,不是管理员的身份,会有奇怪的东西);
- 重启apache:sudo apachectl -k restart;
- 停止apache:sudo apachectl -k stop;
本地图片没有权限请求(error 403)
需要在终端中使用
sudo chmod _R 777 /Users/usename(文件夹)
来对文件进行权限修改,还需要检查apache文件夹中,httpd.conf文件中中的相关配置,Require all granted