タイトル: エラー一覧
本稿はApache HTTP Serverのエラー一覧に関する記事です。設定エラー、起動失敗、HTTPステータス系の代表的なケースをまとめています。
子ページからエラー項目を選択してください。
エラーが出たときの基本の確認順
- エラーログを確認:
/var/log/httpd/error_log(RHEL/CentOS)または/var/log/apache2/error.log(Debian/Ubuntu) - 設定の文法チェック:
httpd -tまたはapache2ctl configtest - サービス状態:
systemctl status httpd/systemctl status apache2 - ポート競合:
ss -tlnp | grep :80で80/443の使用状況を確認
よく見るエラーの分類
| 分類 | 典型的なメッセージ | 主な原因 |
|---|---|---|
| 起動失敗 | could not bind to address [::]:80 | ポート競合(既に別プロセスが80番を使用) |
| 設定ファイル | Syntax error on line N of /etc/httpd/conf/httpd.conf | 設定ファイルの記述ミス |
| モジュール | Invalid command, perhaps misspelled or defined by a module not included | mod_xxx の未ロード |
| 権限 | Permission denied / AH00035 | DocumentRoot配下の権限、SELinux |
| クライアント側 | 403 Forbidden / 404 Not Found / 500 Internal Server Error | 権限・パス・アプリ側のエラー |
| SSL | SSL Library Error / certificate verify failed | 証明書・鍵パスの誤り、CA配置の問題 |
主要なログ確認コマンド
|
# RHEL/CentOS系 |
設定変更後にやること
|
# 設定の文法チェック |
注意点
- SELinuxが有効なシステムでは、DocumentRoot変更後に
chcon/restoreconで適切なコンテキストを付ける必要がある - 403が出るとき、ログには
AH01630: client denied by server configuration等の詳細が出る reloadは graceful restart で接続中のリクエストを切らない。設定変更時はまずこちらを使う
関連
- Apache本体は親ページ「Apache HTTP Server」を参照