无法连接到RHEL6上的Apache服务器

时间:2011-09-15 12:42:42

标签: apache rhel

问题

现在,我是一个关于Apache的完整n00b,我当然可以在当前问题上使用一些帮助。我在3个不同的系统上安装了httpd rpm(所有研华计算机,1台PC,1个高级TCA刀片,1个Compact PCI刀片,并且都安装了RHEL6)。我已经在其他安装中使用之前使用过的文件配置了Apache。当我发出命令

# service httpd restart

一切顺利,我得到了这个输出:

Stopping httpd: [  OK  ]
Starting httpd: httpd: apr_sockaddr_info_get() failed for <PC_Name>
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[  OK  ]

现在,当我尝试通过Apache连接到计算机时,我得到了登录屏幕,询问用户名和密码,正如您所期望的那样。但是,它无法登录。当我查看/ var / log / httpd /中的error_log时,它会显示以下错误消息:

[Thu Sep 15 14:24:40 2011] [error] [client 192.168.10.175] (13)Permission denied: Could not open password file: /etc/shadow
[Thu Sep 15 14:24:40 2011] [error] [client 192.168.10.175] PAM: user 'root' - not authenticated: System error

在我看来,这可能是配置错误,也可能与权限有关。但我似乎无法找出哪个。另一个有趣的事实是,这仅适用于最后两个安装(高级TCA和Compact PCI),而不是第一个(Box PC),而所有3个安装完全相同。

其他信息

我安装它的方式是从yum安装httpd,

# yum install httpd

接下来安装mod_auth_pam,这是配置所需的,

# yum install mod_auth_pam

然后我使用以前安装时获得的文件配置Apache(基本上只是从标准Apache安装中替换配置文件),之后我重新启动了Apache服务。

2 个答案:

答案 0 :(得分:1)

对于此错误“apr_sockaddr_info_get()失败”

您需要正确设置主机名。

hostname actual-non-expired-domain-name.com

不要忘记在httpd.conf和/ etc / hosts中设置名称。

答案 1 :(得分:0)

我已经能够通过将SELinux设置为允许Apache请求来解决这个问题。这是通过发出以下命令来完成的:

semanage permissive -a http_t

Semanage是policycoreutils-python包中的一个实用程序。这应该与安装介质一起提供。