Centos

檢查在 CentOS 上執行新站點的問題

  • November 7, 2012

我有一個空的 CentOS 6.3 盒子。我需要從該伺服器執行多個網站。到目前為止我所做的事情是:

  1. 按照這篇文章安裝了 Apache、MySQL、PHP 和 PHP 模組。
  2. 我在 /var/www/html/ 文件夾中創建了一個測試文件 index.html 並嘗試通過將瀏覽器指向伺服器的 IP 來訪問預設站點。但它沒有顯示任何東西。
  3. 我在 httpd.conf 文件中註釋了“DocumentRoot /var/www/html”行,並將 Virtualhost 設置添加為:

名稱虛擬主機 *:80

<VirtualHost *:80>
 ServerName abc.com
 DocumentRoot /var/www/vhosts/abc.com
 DirectoryIndex index.php
 <Directory "/var/www/vhosts/abc.com">
   DirectoryIndex index.php
   AllowOverride All
   Allow from All
 </Directory>
</VirtualHost>

注意上面的 abc.com 是我的伺服器的主機名,我以 root@abc.com 連接到伺服器

  1. 我創建了文件夾 /vhosts/abc.com 並在其中放置了一個文件 index.php
  2. 然後我使用 service httpd restart 重新啟動了伺服器

將我的瀏覽器指向伺服器的 IP 或 abc.com,顯示“無法顯示頁面”。如果我嘗試檢查 /var/log/httpd/access_log 或 /var/log/httpd/error_log,它什麼也沒顯示。

**更新:**我的 /etc/hosts 文件如下:

127.0.0.1 localhost.localdomain localhost
108.175.9.103 abc.com

和 /etc/sysconfig/network 文件是:

NETWORKING=yes
HOSTNAME=localhost.localdomain

如何檢查問題出在哪裡?這裡可能有什麼問題?

**Update2:**我的 iptables 文件如下所示:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

在 las 行之後(在 COMMIT 之後),我嘗試添加:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

但是重新啟動 iptables 服務會引發錯誤。

您可能需要在 iptables 防火牆中打開埠 80

iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

如果這有效,那麼您需要保存防火牆的狀態

service iptables save

如果這可行,因為看起來您將在標準 /var/www 之外使用文件根目錄,那麼您還應該需要更改新根目錄的 SELinux 上下文,因此請查看此答案以了解如何執行此操作。

引用自:https://serverfault.com/questions/446184