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.
source to share
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.
source to share
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.
source to share
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
source to share