Website Security Solutions | Latest Guides | Blog

WAMP (Windows, Apache, MariaDB, PHP) is a local web development stack developed by Romain Bourdon. WAMP allows its users to create web applications with Apache2, PHP and a MySQL database. Alongside, PhpMyAdmin allows you to manage easily your databases. It is the second most popular local development stack after XAMPP and is known for its ease of use and swift deployment.

Pre-requisites:-

1: Make sure you have a valid domain name and a DNS Service to validate the certificate

Step 1. Generating a CSR and Private Key

Head over to SSLTrust's CSR Generator and generate your Certificate Signing Request and Private Key.
Make sure that you save your Private Key and CSR locally on your device. By doing so, you can re-install the certificate as many times as
required.

Step 2. Order and Configure the SSL Certificate

Now we need to order an SSL Certificate. If you visit our SSL Certificates List page, you will have a selection of Certificates you can order. If you have a simple website wanting to secure the one domain, you will be fine to use a Comodo PositiveSSL. If you are a business website you may want to look at using a Business SSL, we recommend a GeoTrust SSL such as the True Business SSL.
If you require any assistance with selecting an SSL Certificate, please feel free to contact our sales team and they will be happy to assist.

1: Order the SSL and complete the checkout.

2: Once you have completed the SSL Certificate Purchase you can begin the configuration process. This can be started by going into your SSLTrust account and managing your recent purchase.

manage ssl

You then will need to click the Submit Configuration button to begin the configuration process.

submit ssl configuration

3: You now need to paste in the CSR you generated with SSLTrust's CSR Generator. This includes the lines:

  -----BEGIN CERTIFICATE REQUEST----
  -----END CERTIFICATE REQUEST-----
configure SSL

Select Apache for your Web Server Type.

ssl admin details

You will need to also enter the Site Administrator Contact Information.

This information is to be of the individual who is responsible to approve and SSL Certificate. If it is a business SSL, it needs to be a contact under the business.

The Technical Contact Information is the details of the individual responsible for the installation and management of the Certificate.
If you have ordered a business SSL, you will also be required to enter your business details. These should be the correct address and phone number and legal entity name. They will be required to be validated by the Certificate Authority, any mistakes will cause delays. More information on Business Validation can be found here.

4: Click Continue to go to the next Step. Here you need to select the Authentication Method to validate your domain name. This is required to prove you own the domain name and have permission to issue an SSL Certificate for the domain.

select domain validation method

Select the method that will be the easiest for you to use; File-Based Authentication ( HTTP / HTTPS ), CNAME Based Authentication ( DNS ) or Certificate Approver Email.

If you have access to one of the listed emails, this can be the quickest method

Click Continue/Submit to finish the Configuration process.

After you complete the domain validation via your selected method, your SSL will be issued. If you ordered a Business SSL, you will need to wait for the Certificate Authority to complete the Business address and phone validation. If the validation has not progressed, or you have not received your Certificate after some time, please contact our support team so we can check on its status.

sectigo validation manager

Step 3. Download the SSL Certificate files and move them to WAMP

When your SSL Certificate has been issued, you will be emailed the Certificate Directly from the Certificate Authority. You can also download it from your SSLTrust Portal. Downloading it from the SSLTrust Portal is a good option as we format the certificate in an easy to use way.

Again; View your certificate management page within SSLTrust

manage ssl


1: Click on the Manage button and collect/download your certificate

download ssl

2: Select the format as "separate primary and intermediate .crt files (zipped)" and download your certificate

3: Once you've downloaded the certificates, open them both with your preferred editor and combine both certificates into one file. Make sure that the primary certficate comes first and then the intermediate certificate. Installing an intermediate certificate makes sure that there are no security warnings on your website. Additionally, it makes for best SSL practices and makes your site more secure.

4: Once you've combined the certificate files, create a folder named ssl as shown in the following path

"C:\wamp\bin\apache\apache2.4.51\conf\ssl"
and paste your combined certificate file and your private key in that folder.

Note:- Make sure your replace "C:" with the drive you installed WAMP in if you did not install it in the default location.

Step 4. Add the site in Windows Hosts


1: Open notepad as administrator.
2: Edit C:\Windows\System32\drivers\etc\hosts (the file has no extension)
3: Add this at the bottom:
127.0.0.1 yourdomain.com
This command points Localhost to http://yourdomain.com locally and displays the default WAMP Dashboard Page. WAMP Dashboard Page

Step 5. Configure the main Apache and SSL Configuration files

1: Open httpd.conf located in "C:\wamp64\bin\apache\apache-(version)\conf\httpd.conf (based on where you installed WAMP) Now, uncomment the following 3 lines:-
  LoadModule ssl_module modules/mod_ssl.so
  Include conf/extra/httpd-ssl.conf
  LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
2: Open httpd-ssl.conf located in "C:\wamp64\bin\apache\apache-(version)\conf\extras\httpd-ssl.conf (based on where you installed WAMP) Change the following lines:-
  DocumentRoot "${INSTALL_DIR}/www"
  ServerName localhost:443
  ServerAdmin admin@example.com
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/private.key"
  SSLCertificateFile "${SRVROOT}/conf/ssl/certificate.crt"
Furthermore, make sure that the following all lines are the same. If not, make sure to change them.
  SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
  CustomLog "${SRVROOT}/logs/ssl_request.log" \
       "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


Step 6. Configure the Apache VirtualHost

Open C:\wamp64\bin\apache\apache-(version)\conf\extra\httpd-vhosts.conf (based on where you installed WAMP) Make sure to make the changes as follows:-
  
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot "${INSTALL_DIR}/www"
    
      Options +Indexes +Includes +FollowSymLinks +MultiViews
      AllowOverride All
      Require local
    
    SSLEngine on
    SSLCertificateFile "${SRVROOT}/conf/ssl/certificate.crt"
    SSLCertificateKeyFile "${SRVROOT}/conf/ssl/private.key"
  
Double check the paths to the certificate and the private key and make sure they match the locations.

Step 7. Restart Apache WebServer

Restart all Services via the WAMP Control Panel to restart your server and implement all changes. That's it, you should have now successfully installed an SSL Certificate on WAMP. Head over to https://yourdomain.com:443 and check your secure connection.


Author: Siddiqui Ammar
Published:

    Next Guide...
    Litespeed Webserver (LSWS) SSL/TLS Installation Guide

    LiteSpeed Web Server is a high-performance HTTP server that is designed to handle large amounts of traffic and provide fast response times for web applications. It is optimized for speed and security, and offers a range of features to help administrators improve the performance and security of…