Configuring Apache HTTP Server with SSL is very easy. This post assumes that you already have a certificate file generated and signed. I will not discuss here how to generate your own one using the open source OpenSSL. This guide is intended for people who already have signed certificates from a security certificate company to be used in their websites.
First off, you must download the binary of Apache HTTP Server with SSL. Install/extract it to your desired folder. Now it’s time for some configuration. Go to the folder conf/ in your Apache folder and open the file httpd.conf . Look for this string LoadModule ssl_module modules/mod_ssl.so and remove the # sign to uncomment it.
Next, place these lines anywhere in the file.
The file httpd-ssl.conf (or ssl.conf) is found in the extra/ folder in your conf/ folder. You can either move this file to your preferred directory or have it stay as is. You would have to change the path in the above tag to point it to the right path.
Now, let’s open up httpd-ssl.conf. Look for the following strings:
Change the path to where you stored your .crt file and .key file. Sometimes your host provider may require you to also set a certificate chain file in order for SSL to work. Just look for the string SSLCertificateChainFile and change the path. The file usually has a substring of the word “bundle”.
Next, we set the DocumentRoot, ServerName, and ServerAdmin values. Look for this string VirtualHost and change the values. Your DocumentRoot must be the same path as the DocumentRoot path in httpd.conf if you wish to have the same pages in SSL. Your ServerName should point to your domain url e.g. www.domain.com. ServerAdmin can be left out as it is.
Save the files and restart Apache and point your site to https://domain:443/
If in case your server doesnt start because of this error:
Error: Init: SSLPassPhraseDialog builtin is not supported on Win32
Copy your encrypted key file using this command:
openssl rsa -in file1.key -out file2.key
file2.key will contain your unencrypted key. Use that key file in your httpd-ssl.conf settings.