Error Codes Wiki

Linux Apache Error Codes — AH01630, AH00558 & Module Errors

Warningweb server

About Linux Apache Error Codes

Fix common Apache HTTP Server errors including AH01630 (client denied by server), AH00558 (ServerName), permission errors, and module loading failures. This guide covers everything you need to know about this topic, including common causes, step-by-step solutions, and answers to frequently asked questions.

Here are the key things to understand: Apache errors use 'AH' prefix codes logged to /var/log/apache2/error.log or /var/log/httpd/error_log. AH01630: client denied by server configuration (Require directive blocking access). AH00558: Could not reliably determine the server's fully qualified domain name. AH00016: Module already loaded — duplicate LoadModule directive. AH01797: Client exceeded MaxRequestLen — request body too large. Understanding these fundamentals will help you diagnose and resolve this issue more effectively.

The most common reasons this occurs include: AH01630: missing Require all granted in directory or location block. AH00558: ServerName not set in Apache config. AH00016: same module loaded twice in config files. Permission errors: Apache user (www-data/apache) cannot read document root files. SELinux blocking Apache from serving content. Identifying the root cause is the first step toward finding the right solution.

To resolve this, follow these recommended steps: For AH01630: add 'Require all granted' in the Directory block for your document root. For AH00558: add ServerName localhost to /etc/apache2/apache2.conf or httpd.conf. Check for duplicate modules: apachectl -M | sort to list loaded modules. Fix permissions: chown -R www-data:www-data /var/www/html and chmod -R 755 /var/www/html. For SELinux: sudo chcon -Rt httpd_sys_content_t /var/www/html. If these steps do not resolve the issue, consider consulting additional resources or a qualified professional.

This article is part of our Linux Error Codes collection on Error Codes Wiki. We provide comprehensive, up-to-date information to help you find solutions quickly.

Quick Answer

Why does Apache show 403 Forbidden?

Check error.log for the specific AH code. Usually AH01630 means the Require directive is missing in the directory configuration.

Overview

Fix common Apache HTTP Server errors including AH01630 (client denied by server), AH00558 (ServerName), permission errors, and module loading failures.

Key Details

  • Apache errors use 'AH' prefix codes logged to /var/log/apache2/error.log or /var/log/httpd/error_log
  • AH01630: client denied by server configuration (Require directive blocking access)
  • AH00558: Could not reliably determine the server's fully qualified domain name
  • AH00016: Module already loaded — duplicate LoadModule directive
  • AH01797: Client exceeded MaxRequestLen — request body too large

Common Causes

  • AH01630: missing Require all granted in directory or location block
  • AH00558: ServerName not set in Apache config
  • AH00016: same module loaded twice in config files
  • Permission errors: Apache user (www-data/apache) cannot read document root files
  • SELinux blocking Apache from serving content

Steps

  1. 1For AH01630: add 'Require all granted' in the Directory block for your document root
  2. 2For AH00558: add ServerName localhost to /etc/apache2/apache2.conf or httpd.conf
  3. 3Check for duplicate modules: apachectl -M | sort to list loaded modules
  4. 4Fix permissions: chown -R www-data:www-data /var/www/html and chmod -R 755 /var/www/html
  5. 5For SELinux: sudo chcon -Rt httpd_sys_content_t /var/www/html

Tags

linuxapachehttpdah-errorsweb-server

More in Web Server

Frequently Asked Questions

Check error.log for the specific AH code. Usually AH01630 means the Require directive is missing in the directory configuration.