在mac os Sierra上设置apache web服务器(macbook pro 13 2014)

时间:2016-09-28 21:23:10

标签: macos apache web macos-sierra

http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12这是我用来设置apache服务器的指南。 我做了所有必要的事情,但我无法运行此命令 $ sudo cp httpd-userdir.conf httpd-userdir.conf.bak 来自终端的答案是"访问被拒绝" 所以,我决定不制作备份文件。当我完成进程时,我在浏览器中输入了这个进程  http://localhost/~username,其中username是我的实际用户名。 得到了这个回应

  

禁止

     

您无权访问此服务器上的/〜用户名。

我跑了apachectl configtest。得到了这个:

  

警告:DocumentRoot [/usr/docs/dummy-host.example.com]不存在   AH00112:警告:DocumentRoot [/usr/docs/dummy-host2.example.com]不存在   AH00557:http:apr_sockaddr_info_get()因MacBook-Pro-Tim.local而失败   AH00558:httpd:无法使用127.0.0.1可靠地确定服务器的完全限定域名。设置' ServerName'全局指令抑制此消息语法确定

我该怎么办?

1 个答案:

答案 0 :(得分:9)

尝试http://localhost/directory/其中directory是您的sites文件夹中的文件夹。出于某种原因,在Seirra之前,这对我有用,http://localhost/~username/directory没有(很可能是我配置它的方式,不记得我是怎么做的,只是为了以防尝试)。

如果两者都不起作用,请在终端中尝试以下操作。

sudo nano /etc/apache2/users/username.conf;

在文件中添加此项。 旁注:此答案的下方和其他任何位置的用户名应为您的计算机用户名。

<Directory "/Users/username/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>

保存更改。然后sudo chmod 644 username.conf

下一页:sudo nano /etc/apache2/httpd.conf 取消注释以下行(即删除每行前面的#,如果有的话)

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf

然后sudo nano /etc/apache2/extra/httpd-userdir.conf并取消注释第Include /private/etc/apache2/users/*.conf行 保存并重启apache。 sudo apachectl restart 然后应该可以访问http://localhost/~username/。我刚刚完成了这些步骤,它对我有用。

参考:https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/