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

问题描述:

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是我的实际用户名。 而得到这个响应在mac os Sierra上设置apache web服务器(macbook pro 13 2014)

故宫

您没有权限访问/〜在此服务器上的用户名。


我跑apachectl configtest。而得到这个:

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

我该怎么办?

+0

我跑了apachectl configtest。并得到这个警告:DocumentRoot [/usr/docs/dummy-host.example.com]不存在 AH00112:警告:DocumentRoot [/usr/docs/dummy-host2.example.com]不存在 AH00557:httpd :apr_sockaddr_info_get()MacBook-Pro-Tim失败。本地 AH00558:httpd:无法可靠地确定服务器的完全限定的域名,使用127.0.0.1。全局设置'ServerName'指令以禁止此消息 语法OK –

+0

可能重复的[无法可靠地确定服务器的MacBook的完全限定的域名](https://stackoverflow.com/questions/43559201/could-not-reliably -determine-the-servers-fully-qualified-domain-name-for-macboo) – kenorb

尝试http://localhost/directory/其中目录是您的网站文件夹中的文件夹。由于某些原因,在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/应该可以访问。我只是经历了这些步骤,它为我工作。

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

+0

它像一个魅力一样工作!你救了我的一天! :) –

+1

这对我来说一直很有用,除了在塞拉利昂,我现在得到了“403 Forbidden”不存在的文件。此外,http:// localhost /〜me /中的网站中的相关链接现在突然链接到http:// localhost,然后找不到该文件! – Kokodoko

+0

同样的事情发生在我身上 - 我在'localhost /〜username'中得到了一个“禁止”的错误。我没有从'/ etc/apache2/extra/httpd-userdir.conf'中取消注释'Include/private/etc/apache2/users/*。conf'这一行。乍一看没有在答案中注意到这一点。 –