まず、ソースから apache をビルドしたと思いますが、これを行う特定の理由はありましたか? 通常、標準の配布パッケージを使用するか、新しいバージョンが必要な場合は他のリポジトリの新しいパッケージを使用すると、システムがはるかに管理しやすくなります。
ローカルでビルドされた apache を使用する特別な必要がない場合は、それを削除してから、通常の CentOS リポジトリを使用して apache をインストールすることをお勧めします。
次に (ローカルにビルドされた apache を使用している場合は最初に)、次を実行します。httpd -V
たとえば、私のシステムの 1 つが次のように返します。
[me@here ~]# 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 で読み取り可能であることを確認します (または、apache を実行しているユーザー - の最初の列でそれがわかりps aux | grep httpd
ます)。
次に、ログファイルを確認します。通常/var/log/httpd/error_log
、システムがログインして/var/log/messages
、/var/log/secure
最後に、SELinux が有効になっている最近の CentOS を実行していて、自分で apache を構築した場合、ほぼ確実に苦痛の世界に陥ることになります。getenforce
SELinux がアクティブかどうかを確認し、setenforce 0
(テストのために) 無効にすることができます。