我正在使用CentOs 6.2。 在这台服务器上,我想要托pipe1个网站。 我在httpd.conf中创build了一个虚拟主机。 你可以看到下面的设置。
问题是,当我去的域我得到的Apache默认页面。 我重新启动了httpd deamon。 有谁知道我可能做错了什么?
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin helpdesk@***.nl DocumentRoot /var/website ServerName ***.nl #ServerAlias www.***.nl ErrorLog logs/***.nl-error_log CustomLog logs/***.nl-access_log common </VirtualHost>
编辑:我检查了日志:访问日志:
77.160.172.88 - - [27/Nov/2012:20:37:10 +0100] "GET / HTTP/1.1" 403 5039 77.160.172.88 - - [27/Nov/2012:20:37:11 +0100] "GET /favicon.ico HTTP/1.1" 403 295
错误日志:
[Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.php denied [Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.html denied [Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /index.html.var denied [Mon Nov 26 22:37:46 2012] [error] [client 77.160.172.88] (13)Permission denied: access to /favicon.ico denied
权限:
[root@srv2 website]# ls -la total 17536 drwx------ 10 kvdp kvdp 4096 Nov 26 23:01 . drwxr-xr-x 20 root root 4096 Nov 26 22:30 .. -rw-r--r-- 1 kvdp kvdp 37 Nov 26 22:31 35a12fb7ab5a.html -rw-r--r-- 1 kvdp kvdp 515 Nov 26 22:31 400.shtml -rw-r--r-- 1 kvdp kvdp 515 Nov 26 22:31 401.shtml -rw-r--r-- 1 kvdp kvdp 515 Nov 26 22:31 403.shtml -rw-r--r-- 1 kvdp kvdp 515 Nov 26 22:31 404.shtml -rw-r--r-- 1 kvdp kvdp 515 Nov 26 22:31 500.shtml -rw-r--r-- 1 kvdp kvdp 17816103 Nov 26 22:41 admin_kvdp.sql drw-r--r-- 2 kvdp kvdp 4096 Nov 26 22:31 _api drw-r--r-- 13 kvdp kvdp 4096 Nov 26 22:33 beheer drw-r--r-- 2 kvdp kvdp 4096 Nov 26 22:33 cgi-bin drw-r--r-- 2 kvdp kvdp 4096 Nov 26 22:31 _config -rw-r--r-- 1 kvdp kvdp 728 Nov 26 22:31 controller.inc.php -rw-r--r-- 1 kvdp kvdp 813 Nov 26 22:31 controller.view.inc.php -rw-r--r-- 1 kvdp kvdp 53 Nov 26 22:31 google3f6160378ab03426.html -rw-r--r-- 1 kvdp kvdp 611 Nov 26 22:31 .htaccess -rw-r--r-- 1 kvdp kvdp 1978 Nov 26 22:31 index.php drw-r--r-- 3 kvdp kvdp 4096 Nov 26 22:31 _libs drw-r--r-- 6 kvdp kvdp 4096 Nov 26 22:31 _models -rw-r--r-- 1 kvdp kvdp 232 Nov 26 22:31 robots.txt -rw-r--r-- 1 kvdp kvdp 11 Nov 26 22:31 test.php drw-r--r-- 4 kvdp kvdp 4096 Nov 26 22:35 upload drw-r--r-- 5 kvdp kvdp 4096 Nov 26 22:31 _views
首先检查Apache正在运行的用户帐户是否可以访问您的website文件夹(它也需要遍历path中的所有文件夹):
ps aux | grep httpd
你应该看到如下行:
apache 1336 0.0 1.1 282772 6008 ? S 03:24 0:00 /usr/sbin/httpd apache 1338 0.0 1.1 282772 6008 ? S 03:24 0:00 /usr/sbin/httpd
第一列是需要访问您的文件夹的用户帐户。
如果这一切看起来不错,请检查您是否正在运行SELinux。 如果是这样,你的/var/website目录可能仍然在default_t安全上下文中。 检查:
ls -Z /var/website
你可能会看到类似这样的东西:
drwxr-xr-x root root user_u:object_r:default_t website
如果是这样,您可以使用chcon命令更改安全上下文:
chcon -Rv --type=httpd_sys_content_t /var/website
或者,您可以禁用SELinux for Apache(以root身份):
/etc/selinux/targeted/booleans httpd_disable_trans并将httpd_disable_trans设置为1。 setsebool httpd_disable_trans 1以确保为当前会话设置布尔值。 service httpd restart启动重新启动apache。 或者,如果这是一个开发服务器,并且您不需要运行SELinux,则可以通过将其设置为“宽容”模式(以root身份)来有效地禁用它:
/etc/selinux/config并设置SELINUX等于permissive 。 getenforce来validationSELinux处于宽容模式。 在你的情况下,问题是这一行:
[root@srv2 website]# ls -la total 17536 drwx------ 10 kvdp kvdp 4096 Nov 26 23:01 .
这意味着只有您的用户帐户( kvdp )才能访问该文件夹。 在/var/website文件夹中运行以下命令来纠正这种情况:
chmod go+rx .
这里有一些潜在的问题。 就像Adam说的那样,你可能只需要在/ var / website中的一个index.html文件。 由于这不是默认目录,因此您可能还需要检查该目录的权限(如果httpd进程无法读取其中的文件,您将得到错误页面)。 我可以想到的最后一件事情是,您已经在强制模式下使用了SELinux,并且该目录没有标记正确的上下文。
你已经安装了php5,对吧? 如果你不apache不能提供PHP页面,你将会跳回到默认的“Welcome to Apache!” 页。
我还没有用CentOS的东西,所以我有点生疏。 不是networking文件应该由networking服务器用户拥有,或者至less可以由apache用户读取? 如果networking服务器无法读取文件,它也可能解释你所看到的行为。 看起来像你的日志。 Web服务器拒绝访问您的Web目录。