首先,我猜你已經從源代碼構建了apache - 是否有這樣做的具體原因?如果您使用標準分發包,或者如果您需要更高版本,則通常會發現系統更容易管理。
如果您沒有使用本地構建的Apache的特定需求,我建議刪除它,然後使用正常的CentOS存儲庫安裝Apache。
下一個(或第一,如果你與當地建阿帕奇住),運行:httpd -V
例如,我的一個系統的回報:
[[email protected] ~]# httpd -V
Server version: Apache/2.2.3
Server built: Jun 6 2012 10:00:36
Server's Module Magic Number: 20051115:3
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
輸出將告訴你在哪裏它的真正的配置文件,在這種情況下是/etc/httpd/conf/httpd.conf - 這樣你就會知道哪個配置是實際使用的配置。
一旦您知道使用哪些配置文件,您可以檢查它們以查看文檔根目錄的位置 - 它可能位於/var/www/html/
而不是/usr/local/apache2/htdocs
或幾乎任何位置。
當你知道在哪裏文檔根目錄,然後檢查並確保這些文件和目錄是由阿帕奇可讀(或任何用戶Apache是作爲運行 - 從ps aux | grep httpd
第一列會告訴你)
下一頁檢查日誌文件,通常/var/log/httpd/error_log
並在/var/log/messages
系統日誌和/var/log/secure
最後,如果你運行的是最新的CentOS其啓用SELinux的,並且你已經建立阿帕奇自己,你幾乎肯定會在痛苦的世界。您可以嘗試getenforce
以查看SELinux是否處於活動狀態,並setenforce 0
將其禁用(用於測試)。
你是否從源碼安裝了apache2? – slackmart 2013-05-09 05:21:27
@smart根據此安裝 - http://httpd.apache.org/docs/2.2/install.html。 – 2013-05-09 05:23:42
有沒有特別的原因呢?我只是問,因爲centos存儲庫提供編譯軟件包(rpm)準備好安裝 – slackmart 2013-05-09 05:29:52