AH00016: Configuration Failed

agxl picture agxl · Sep 20, 2017 · Viewed 21.3k times · Source

I have a dedicated root server runs Debian and the Administration Panel I use directadmin. Since this afternoon I have the following problem: My website is no longer accessible, since the service httpd is stopped and can not be launched. It always following error message when I try to start the service: httpd (no pid file) not running.

I have found that it has to do with the fact that I have previously installed SSL certificates for multiple domains.

I have already tried to install the tool strace to find out which SSL certificate (domain) is responsible for the problem. Unfortunately, the strace tool can not be started with the following command: strace -f apache2ctl start

The error message is always: command not found

If I try to start the service httpd over directadmin comes the following error message:/etc/init.d/httpd start> / dev / null 2> & 1

I have also looked into the errorlogs error_log of the service httpd and found the following error codes:

[Wed Sep 20 17:44:07.757294 2017] [core:notice] [pid 14483] AH00094: Command 
line: '/usr/sbin/httpd -D SSL'
[Wed Sep 20 17:45:01.465358 2017] [core:error] [pid 14483] (2)No such file 
or directory: AH00095: failed to remove PID file /var/run/httpd.pid
[Wed Sep 20 17:45:01.465471 2017] [mpm_prefork:notice] [pid 14483] AH00169: 
caught SIGTERM, shutting down
[Wed Sep 20 17:45:05.763192 2017] [ssl:warn] [pid 16564] AH01909: 
localhost:443:0 server certificate does NOT include an ID which matches the 
server name
[Wed Sep 20 17:45:05.764719 2017] [ssl:warn] [pid 16564] AH01909: 
www.example.com:443:0 server certificate does NOT include an ID which matches 
the server name
[Wed Sep 20 17:45:05.765357 2017] [suexec:notice] [pid 16564] AH01232: suEXEC 
mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Sep 20 17:45:06.609175 2017] [auth_digest:notice] [pid 16679] AH01757: 
generating secret for digest authentication ...
[Wed Sep 20 17:45:07.723436 2017] [ssl:warn] [pid 16679] AH01909: 
localhost:443:0 server certificate does NOT include an ID which matches the 
server name
[Wed Sep 20 17:45:07.724945 2017] [ssl:warn] [pid 16679] AH01909: 
www.example.com:443:0 server certificate does NOT include an ID which matches 
the server name
[Wed Sep 20 17:45:07.725568 2017] [lbmethod_heartbeat:notice] [pid 16679] 
AH02282: No slotmem from mod_heartmonitor
[Wed Sep 20 17:45:07.726220 2017] [:notice] [pid 16679] mod_ruid2/0.9.8 
enabled
[Wed Sep 20 17:45:07.756478 2017] [mpm_prefork:notice] [pid 16679] AH00163: 
Apache/2.4.18 (Unix) OpenSSL/1.0.1t PHP/5.5.31 configured -- resuming normal 
operations
[Wed Sep 20 17:45:07.756599 2017] [core:notice] [pid 16679] AH00094: Command 
line: '/usr/sbin/httpd -D SSL'
[Wed Sep 20 17:46:01.520770 2017] [core:error] [pid 16679] (2)No such file or 
directory: AH00095: failed to remove PID file /var/run/httpd.pid
[Wed Sep 20 17:46:01.521067 2017] [mpm_prefork:notice] [pid 16679] AH00169: 
caught SIGTERM, shutting down
AH00016: Configuration Failed
AH00016: Configuration Failed
AH00016: Configuration Failed

This is my main Apache HTTP server configuration file.

#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4> for detailed information.
# In particular, see 
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to specify a local disk on the
# Mutex directive, if file-based mutexes are used.  If you wish to share the
# same ServerRoot for multiple httpd daemons, you will need to change at
# least PidFile.
#
ServerRoot "/etc/httpd"

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User apache
Group apache
</IfModule>

#LoadModule dummy_module /usr/lib/apache/mod_dummy.so
Include /etc/httpd/conf/extra/httpd-phpmodules.conf

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. [email protected]
#
ServerAdmin admin@localhost
DocumentRoot "/var/www/html"

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.shtml index.php index.php5 index.php4 index.php3 index.phtml index.cgi index.pl
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
#
<Files ".ht*">
    Require all denied
</Files>

#
# The following lines prevent .user.ini files from being viewed by Web clients.
#
<Files ".user.ini">
    Require all denied
</Files>

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog /var/log/httpd/error_log

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #replace %b with %O for more accurate logging
    <IfModule mod_logio.c>
      LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
      LogFormat "%a %l %u %t \"%r\" %>s %O" common
      LogFormat "%O %I" bytes

      LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog /var/log/httpd/access_log common
</IfModule>

<IfModule alias_module>
    # Include some DirectAdmin alias
    Include conf/extra/httpd-alias.conf
</IfModule>

#DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-gzip .tgz
    AddEncoding x-compress .Z
    AddEncoding x-gzip .gz .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddHandler cgi-script .cgi
    AddHandler type-map var
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
    AddType video/x-ms-asf .avi
    AddType video/mpeg .mpg
    AddType video/mpeg .mpeg
    AddType video/quicktime .mov
    AddType video/x-ms-wmv .wmv
</IfModule>

#
# MaxRanges: Maximum number of Ranges in a request before
# returning the entire resource, or one of the special
# values 'default', 'none' or 'unlimited'.
# Default setting is to accept 200 Ranges.
#MaxRanges unlimited

#
# EnableMMAP and EnableSendfile: On systems that support it, 
# memory-mapping or the sendfile syscall may be used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted 
# filesystems or if support for these functions is otherwise
# broken on your system.
# Defaults: EnableMMAP On, EnableSendfile Off
#
#EnableMMAP off
#EnableSendfile off

#######################################################################################
# For user configurations not maintained by DirectAdmin. Empty by default.
#######################################################################################

Include conf/extra/httpd-includes.conf

#######################################################################################
# Supplemental configuration
#######################################################################################

# Options and AllowOverrides
Include conf/extra/httpd-directories.conf

# Nginx reverse proxy configuration
Include conf/extra/httpd-nginx.conf

# Server-pool management (MPM specific)
Include conf/extra/httpd-mpm.conf

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
Include conf/extra/httpd-autoindex.conf

# Language settings
Include conf/extra/httpd-languages.conf

# User home directories
#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
Include conf/extra/httpd-info.conf

# Suphp
Include conf/extra/httpd-suphp.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

# Various default settings
Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

# Deflate module settings
Include conf/extra/httpd-deflate.conf

#######################################################################################
# Do not change anything in files below, because they are rewritten by DirectAdmin    #
#######################################################################################

# This is needed for PHP
Include conf/extra/httpd-php-handlers.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

# All the DirectAdmin vhosts
Include conf/extra/directadmin-vhosts.conf

#######################################################################################
# End of included files that are rewritten by DirectAdmin                             #
#######################################################################################

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

I hope someone can help with this strange problem. I would be very happy.

Answer

Ortomala Lokni picture Ortomala Lokni · Sep 20, 2017

The message in the log:

server certificate does NOT include an ID which matches the server name

indicates the problem. Check the certificate with:

openssl x509 -in certificate.crt -text -noout

Then in your apache configuration file define the same server name with the ServerName directive.