AH00072:make_sock:无法绑定到地址[::]:80(13)权限被拒绝

时间:2016-09-27 22:15:44

标签: apache macos-sierra

升级到macOS Sierra后,我的apache无法启动。

apache error_log

AH00112: Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist

AH00112: Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist

AH00557: httpd: apr_sockaddr_info_get() failed for username.local

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message (13)Permission denied:

AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied: 

AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down*

我已按照这些说明取得了成功:http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/

4 个答案:

答案 0 :(得分:12)

中的前两个评论虚拟主机设置
  

的httpd-vhosts.conf

对于3,4 uncomment ServerName并在

中指定值
  

的httpd.conf

     

例如:ServerName local_server:80

在/ etc / hosts中添加相同的值以按服务器名称访问。

5,6因为端口80被其他应用程序使用

  

sudo lsof -i:80

答案 1 :(得分:1)

可以通过为apr_sockaddr_info_get()中的localhost分配有意义的值(例如ServerName)来解决涉及/etc/apache2/httpd.conf的错误。

使用/etc/apache2/httpd.conf打开sudo

参考: https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions

答案 2 :(得分:0)

就我而言,通过添加以下内容解决了问题:

127.0.0.1       MacBook-Air-de-xxxxxx.local

/etc/hosts档案中。

找到计算机的确切名称,检查共享设置:

enter image description here

答案 3 :(得分:0)

  

AH00558:httpd:无法可靠地确定服务器的完全限定域名。

您需要通过以下方式识别httpd.conf Apache配置文件:

apachectl -t -D DUMP_INCLUDES

然后编辑它并使用ServerName取消注释该行(确保它具有有效的服务器名称)。 E.g。

ServerName localhost
  

AH00072:make_sock:无法绑定到地址[::]:80(13)权限被拒绝

您需要以root用户身份启动Apache服务,否则该进程无权绑定到端口80,因为1024以下的所有端口都需要管理权限。

所以你需要运行它:

sudo apachectl start