skip to Main Content

Apache does not start after installing the web server. (CentOS 7)

● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sat 2020-03-28 12:18:22 MSK; 16ms ago
Docs: man:httpd.service(8)
Process: 30144 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 30144 (code=exited, status=1/FAILURE)
Status: "Reading configuration..."

Mar 28 12:18:22 box-40395.localdomain systemd[1]: Starting The Apache HTTP Server...
Mar 28 12:18:22 box-40395.localdomain httpd[30144]: AH00526: Syntax error on line 103 of /etc/httpd/conf.d/ssl.conf:
Mar 28 12:18:22 box-40395.localdomain httpd[30144]: SSLCertificateFile: file '/etc/pki/tls/certs/localhost.crt' does not exist or is empty
Mar 28 12:18:22 box-40395.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Mar 28 12:18:22 box-40395.localdomain systemd[1]: Failed to start The Apache HTTP Server.
Mar 28 12:18:22 box-40395.localdomain systemd[1]: Unit httpd.service entered failed state.
Mar 28 12:18:22 box-40395.localdomain systemd[1]: httpd.service failed.

2

Answers


  1. The error message is very clear:

    SSLCertificateFile: file /etc/pki/tls/certs/localhost.crt does not exist or is empty

    Remove this invalid configuration or add missing/fix existing certificate file. Either way to have to fix the configuration before Apache can start.

    Obtaining an SSL certificate is out of the scope for StackOverflow. There’re plenty of resources on the web, you can try on ServerFault too…

    When you’re done, simply sudo systemctl start httpd to start Apache.

    Login or Signup to reply.
  2. You could try by creating a fake certificate.

    In centos there is a handy script which might help

    $ cd /etc/pki/tls/certs
    $ sudo ./make-dummy-cert localhost.crt
    

    This script produces a self-signed certificate and the certificate’s private key.

    Therefore SSLCertificateKeyFile in /etc/httpd/conf.d/ssl.conf could be commented out

    SLCertificateFile /etc/pki/tls/certs/localhost.crt
    # SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    

    Otherwise service won’t start

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search