Centos
檢查在 CentOS 上執行新站點的問題
我有一個空的 CentOS 6.3 盒子。我需要從該伺服器執行多個網站。到目前為止我所做的事情是:
- 按照這篇文章安裝了 Apache、MySQL、PHP 和 PHP 模組。
- 我在 /var/www/html/ 文件夾中創建了一個測試文件 index.html 並嘗試通過將瀏覽器指向伺服器的 IP 來訪問預設站點。但它沒有顯示任何東西。
- 我在 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 連接到伺服器
- 我創建了文件夾 /vhosts/abc.com 並在其中放置了一個文件 index.php
- 然後我使用 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 上下文,因此請查看此答案以了解如何執行此操作。