Apache 2.4.9 error after enabling ssl module and installing ssl certificate

Apache throws the following errors after trying to install ssl certificates:

[ssl:emerg] [pid 30907] AH02572: Failed to configure at least one certificate and key for localhost:443
[ssl:emerg] [pid 30907] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[ssl:emerg] [pid 30907] AH02312: Fatal error initialising mod_ssl, exiting.

      

I used MAC OS: Yosemite, PHP 5.5.20, Apache 2.4.9

and followed these steps to generate my ssl certificate from ( http://www.akadia.com/services/ssh_test_certificate.html )

cd /etc/apache2/
sudo mkdir certs                                        
cd certs                                                
sudo openssl genrsa -des3 -out server.key 1024          
sudo openssl req -new -key server.key -out server.csr

  Country Name (2 letter code) [GB]:US
  State or Province Name (full name) [Berkshire]:California 
  Locality Name (eg, city) [Newbury]:LA
  Organization Name (eg, company) [My Company Ltd]:Company
  Organizational Unit Name (eg, section) []:
  Common Name (eg, your name or your server hostname) []:dev.test.local
  Email Address []:username@gmail.com
  Please enter the following 'extra' attributes
  to be sent with your certificate request
  A challenge password []:
  An optional company name []:

sudo cp server.key server.key.org     
sudo openssl rsa -in server.key.org -out server.key
sudo openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt  

      

Next, I have the following settings for my apache config files:

and etc / apache2 / httpd.conf:

LoadModule ssl_module libexec/apache2/mod_ssl.so
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
Include /private/etc/apache2/extra/httpd-ssl.conf

      

and etc / apache2 / extra /HTTPD-ssl.conf:

Listen 443
SSLPassPhraseDialog  builtin
<VirtualHost _default_:443>
SSLEngine on
Mutex sysvsem default # Added after seeing mutex issues for apache 2.4, http://stackoverflow.com/questions/13969272/apache-sslmutex-issue

      

and etc / apache2 / extra /HTTPD-vhosts.conf:

<VirtualHost *:443>

    ServerName dev.test.local
    DocumentRoot "/Users/username/Sites/test/public"

    <Directory "/Users/username/Sites/test/public">
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         allow from all
    </Directory>

    SSLEngine on       
    SSLCertificateFile    /etc/apache2/certs/server.crt
    SSLCertificateKeyFile /etc/apache2/certs/server.key

</VirtualHost>

      

After restarting and running the Apache configuration test, everything looks like there are no problems:

sudo apachectl restart
sudo apachectl configtest
[Tue Jan 06 13:56:01.480270 2015] [so:warn] [pid 31636] AH01574: module php5_module is already loaded, skipping
Syntax OK

      

Help is greatly appreciated and I am happy to provide more information if needed.

+8


source to share


6 answers


I faced the same problem. Now I have solved this.

You have included

/private/etc/apache2/extra/httpd-ssl.conf 

      

in httpd.conf.



So you still need to set the following keys in 'httpd-ssl.conf'

SSLCertificateFile "path to your crt"
SSLCertificateKeyFile "path to your key"

      

Hope this is helpful.

+3


source


I only ran into this today after upgrading to macOS High Sierra version 10.13.6. My SSL virtual hosts were working fine before the upgrade. Then today when I tried to start my Apache web server I got this error:

[Fri Jul 20 10:51:06.021778 2018] [ssl:emerg] [pid 2236] AH02572: Failed to configure at least one certificate and key for work.localweb.com:80
[Fri Jul 20 10:51:06.022024 2018] [ssl:emerg] [pid 2236] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
[Fri Jul 20 10:51:06.022037 2018] [ssl:emerg] [pid 2236] AH02312: Fatal error initialising mod_ssl, exiting.
AH00016: Configuration Failed

      

Check my Apache version and it is now 2.4.33. Obviously in this version you will need to put the SSLCertificateFile and SSLCertificateKeyFile entries into the virtual host itself. So, I copied the entries from extra / httpd-ssl.conf and put them on every SSL virtual host I have configured.



<VirtualHost *:443>
  ServerAdmin me@mymail.com
  ServerName work.localweb.com
  SSLCertificateFile "/private/etc/apache2/server.crt"
  SSLCertificateKeyFile "/private/etc/apache2/server.key"
  ......
</VirtualHost>

      

Then the launch works again.

+3


source


I had the same errors after upgrading to Apache 2.4.33. It seems that SSLCertificateFile

and SSLCertificateKeyFile

should be within the block <VirtualHost>

, whereas before it was not.

+2


source


I ran into this problem after upgrading to Apache 2.4.33.

I had <VirtualHost></VirtualHost>

blocks in my httpd-vhosts.conf file. I removed this:

<VirtualHost *:443>
    ServerName "<your server name>"
    DocumentRoot "<your path>"
</VirtualHost>

      

restarted apache and it worked.

0


source


I had the same problem too. In my case, I also just included extra / httpd-ssl.conf as some others have mentioned. As stated above, make sure you have entries in this file for

SSLCertificateFile "/usr/local/etc/apache24/ssl.crt/mydomaincertificate.crt"

SSLCertificateKeyFile "/usr/local/etc/apache24/ssl.key/myprivatekey.key"

Although the same entries are in extra / httpd-vhosts.conf for my main domain. I also had to make sure that the "ServerName" entry in httpd.conf matches the name in the certificate.

Even though this parameter is not used, it can be useful for someone like me looking for this error after setting up SSL

0


source


Hoping to help new visitors.

I had the same error lines in the log file.

My mistake was to include

SSLEngine on

      

outside the block VirtualHost

in the file .conf

together with the common values of SSLProtocol

, SSLCipherSuite

, SSLHonorCipherOrder

...

0


source







All Articles