Configure HTTPS using SSL certificate on WAMP local server

  1. Requirements for SSL configurationYou should have below 2 certificate files
    1. Certificate.cer or certificate.crtprivate.key
    If you already have certificate files then skip steps [2,3,4] and just to step#5
  2. Install open SSL from Here

Generate Private key

Open terminal as an Administrator and goto openssl installation path by typing below commad.


  cd C:\Program Files\OpenSSL-Win64\bin

then enter below command and enter a password 2 times


  openssl genrsa -aes256 -out private.key 2048

and then enter below command and enter same password you entered in previous step.


 openssl rsa -in private.key -out private.key

Create SSL Certificate

Enter below command and enter real or dummy company information



openssl req -new -x509 -nodes -sha1 -key private.key -out certificate.crt -days 36500

You have to provide below information


        Country Name (2 letter code) [AU]:AE
        State or Province Name (full name) [Some-State]:Abu Dhabi
        Locality Name (eg, city) []:Madinat Zayed
        Organization Name (eg, company) [Internet Widgits Pty Ltd]:alampk.com
        Organizational Unit Name (eg, section) []:IT
        Common Name (e.g. server FQDN or YOUR name) []:alampk.com
        Email Address []:alamnaryab@gmail.com

Move SSL Certificate files

copy both certificate files to D:\wamp64\bin\apache\apache2.4.46\conf

Changes in httpd.conf

open httpd.conf file from D:\wamp64\bin\apache\apache2.4.46\conf\httpd.conf and uncomment below lines


        LoadModule ssl_module modules/mod_ssl.so
        Include conf/extra/httpd-ssl.conf
        LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Changes in httpd-ssl.conf

Open httpd-ssl.conf file from D:\wamp64\bin\apache\apache2.4.46\conf\extra\httpd-ssl.conf and update the following linkes as per path where you have pasted 2 certificate files.


        DocumentRoot "${INSTALL_DIR}/www"
        ServerName localhost:443
        ServerAdmin alamnaryab@gmail.com

        SSLCertificateKeyFile "${SRVROOT}/conf/key/private.key"
        SSLCertificateFile "${SRVROOT}/conf/key/certificate.crt"

        SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)"
        CustomLog "${SRVROOT}/logs/ssl_request.log" \
            "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Make a virtual host


    

        SSLEngine on
        SSLCertificateFile "${SRVROOT}/conf/key/certificate.crt"
        SSLCertificateKeyFile "${SRVROOT}/conf/key/private.key"

        ServerName mydomain.com
        ServerAlias mydomain.com
        DocumentRoot "D:\wamp64\www\myproject"
        
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            AllowOverride All
            Require all granted
        
    

Changes in Host file

Open notepad with Run as Administrator and open host file from C:\WINDOWS\System32\drivers\etc
add below line, note domain name must be same as you mentioned in vhosts file

Restart WAMP Server

Test websites

try opening your website in browser with https protocol eghttps://mydomain.com

Errors Handling

If there is any error you can find it by any of below methods

  1. In CMD goto D:\wamp64\bin\apache\apache2.4.46\bin and run httpd -t
  2. Check log files
  3. I faced an issue that was because of forward-slash instead of back-slah as path separator. So use (/ instead of \) in certificate paths in vhost file
  4. Google or commenting your error in this blog

Leave a Comment

Your email address will not be published. Required fields are marked *