linux 下apche无法监听端口解决办法(Permission denied: make_sock: could not bind to address)
来源:互联网 发布:郝斌c语言自学教程视频 编辑:程序博客网 时间:2024/05/16 19:26
想建立一个测试用的虚拟主机,遇到了这个问题:
[root@localhost html]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.termwikidev for ServerName
(13)Permission denied: make_sock: could not bind to address [::]:81
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:81
no listening sockets available, shutting down
Unable to open logs
解决办法:
semanage port -l|grep http
semanage port -a -t http_port_t -p tcp 81
这个两个命令一是查看,一个是添加,添加完再查看一遍,如果有81,则成功。另可能要以root用户运行。
此外,如果要外网访问,还要打开linux的防火墙:
[root@localhost html]# vim /etc/sysconfig/iptables
[root@localhost html]# service iptables restart
重启apache.
相关资料:
starting httpd 13 permission denied make_sock could not bind to address2010年01月19日 星期二 11:33In Fedora Core 5/6 and RHEL 5. We have made it easier to customize certain common parts of SELinux. In previous releases of SELinux if you wanted to change simple things like which port a daemon could listen to, you would need to write policy. Now we have the semanage utility.
SELinux assigns types to all network ports on a system. By default all ports are less then 1024 are labeled reserved_port_t and all ports > 1024 are labeled port_t. If a port is assigned to a particular type
say the http port 80, it has an assigned type of http_port_t. If you want to look at all the assigned ports in SELinux, you can use the semanage tool, semanage port -l.
So if you executed
semanage port -l | grep http
http_cache_port_t tcp 3128, 8080, 8118
http_cache_port_t udp 3130
http_port_t tcp 80, 443, 488, 8008, 8009, 8443
pegasus_http_port_t tcp 5988
pegasus_https_port_t tcp 5989
Here we see http_port_t is assigned to ports 80, 443, 488, 8008, 8009, 8443
The policy is written to allow httpd_t http_port_t:tcp_socket name_bind;
This means the apache command can "bind" to an port that is labeled http_port_t.
So lets say you want to run httpd on port 81.
So you edit /etc/httpd/http.conf
and change this line
Listen 80
to
Listen 81
Now restart the daemon.
service httpd restart
Stopping httpd: [ OK ]
Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:81
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:81
no listening sockets available, shutting down
Unable to open logs
[FAILED]
Now the daemon fails to start because it can not bind to port 81.
This generates an AVC that looks like
----
time->Tue Dec 12 17:37:49 2006
type=SYSCALL msg=audit(1165963069.248:852): arch=40000003 syscall=102 success=no exit=-13 a0=2 a1=bf96a830 a2=b5b1e8 a3=9e58b68 items=0 ppid=21133 pid=21134 auid=3267 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts10 comm="httpd" exe="/usr/sbin/httpd" subj=user_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1165963069.248:852): avc: denied { name_bind } for pid=21134 comm="httpd" src=81 scontext=user_u:system_r:httpd_t:s0 tcontext=system_u:object_r:reserved_port_t:s0 tclass=tcp_socket
To fix this you can use semanage to add the port
semanage port -a -t http_port_t -p tcp 81
service httpd start
Starting httpd: [ OK ]
- linux 下apche无法监听端口解决办法(Permission denied: make_sock: could not bind to address)
- Linux:解决Permission denied: make_sock: could not bind to address
- Permission denied: make_sock: could not bind to address处理
- permission denied make_sock could not bind to address
- 解决:Permission denied: make_sock: could not bind to address
- 解决:Permission denied: make_sock: could not bind to address
- 解决:Permission denied: make_sock: could not bind to address
- Permission denied: make_sock: could not bind to address [::]:80
- linux apache报Permission denied: make_sock: could not bind to address
- apache2.x修改默认端口后报 Starting httpd: (13)Permission denied: make_sock: could not bind to address
- apache2.x修改默认端口后报 Starting httpd: (13)Permission denied: make_sock: could not bind to address .
- 关于Centos 出现httpd:(13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission
- httpd 13 permission denied make_sock could not bind to address 失败的原因
- Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]
- Permission denied: make_sock: could not bind to address [::]:81 Apache 虚拟主机
- Starting httpd: (13)Permission denied: make_sock: could not bind to address
- httpd 13 permission denied make_sock could not bind to address 失败的原因
- (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443的解决办法
- 如何使用MYSQL时间戳查询时间段
- jquery.ui.dialog
- 过滤HTML/javascript等脚本
- Hibernate 查询语句HQL基本语法
- Convention Plugin
- linux 下apche无法监听端口解决办法(Permission denied: make_sock: could not bind to address)
- Flex & Android开发环境搭建
- Linux下svn的常用工作流程
- 【Linux设备驱动程序(第三版)】----获取当前时间
- Features
- SWF文件格式
- Select模型原理
- Jdom学习笔记
- 数据结构-迪克特斯拉算法(最短路径)