httpd服务器未启动:(13)权限被拒绝:make_sock:无法绑定到地址[::]:88

Nis*_*yal 53 apache centos

我试图在centos 6上启动httpd服务器.它抛出以下错误:

[root@machine ~]# service httpd start
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:88
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:88
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]
Run Code Online (Sandbox Code Playgroud)

我还检查了端口88,它不是用的.我也检查了semanage,但它没有帮助.

任何帮助将不胜感激.

Abd*_*ull 117

我碰巧遇到了这个问题,因为缺少SELinux权限.默认情况下,SELinux仅允许apache/httpd绑定到以下端口:

80, 81, 443, 488, 8008, 8009, 8443, 9000
Run Code Online (Sandbox Code Playgroud)

因此,结合我httpd.conf-型Listen 88HTTP端口和config.d/ssl.conf-型Listen 8445TLS/SSL端口将失败,并默认的SELinux配置.

为了解决我的问题,我不得不将端口88和8445添加到我系统的SELinux配置中:

  1. 安装semanage工具:sudo yum -y install policycoreutils-python
  2. 允许httpd的端口88: sudo semanage port -a -t http_port_t -p tcp 88
  3. 允许httpd的端口8445: sudo semanage port -a -t http_port_t -p tcp 8445


Igo*_*man 48

好像你运行它不是"root".只有root才能绑定到此端口(80).检查conf/httpd.conf文件中的配置,监听行并将端口更改为更高的端口.

  • 你可以使用`sudo` (2认同)

Soh*_*N3N 8

在终端运行此命令时具有root权限:

sudo /etc/init.d/apache2 start
Run Code Online (Sandbox Code Playgroud)

您必须是root用于启动Web服务器,否则您将收到类似的错误.


Ulr*_*ter 8

这是Abdull在这个帖子中的答案的补充:

我不得不修改而不是添加端口

semanage port -m -t http_port_t -p tcp 5000

因为我在添加端口时遇到此错误

ValueError: Port tcp/5000 already defined


Seb*_*bas 7

使用我的centos 6.7安装,我不仅遇到/usr/bin/xauth: timeout in locking authority file /.Xauthority了使用root启动httpd而且还使用xauth(使用基础权限拒绝错误)的问题

# setenforce 0

解决了这两个问题


Jon*_*nny 6

禁用 SELinux

暂时禁用 SELinux

sudo setenforce 0
Run Code Online (Sandbox Code Playgroud)

重启httpd服务

service httpd restart
Run Code Online (Sandbox Code Playgroud)

永久禁用 SELinux(重启后)

vi /etc/selinux/config
Run Code Online (Sandbox Code Playgroud)

添加行并保存

SELINUX=disabled
Run Code Online (Sandbox Code Playgroud)