Website Security Solutions | Latest Guides | Blog

Sometimes you need to install an SSL certificate in your local development environment to ensure that all code works perfectly and there are no errors due to security reasons. Additionally, the same SSL Certificate can be used to secure your deployed website provided you have the same CSR and Private Key.
XAMPP (Cross Platform, Apache, MariaDB, PHP, Perl) is an open-source cross-platform web server solution stack package developed by Apache Friends. XAMPP makes sure that the transition from your local environment to the web is seamless and easy to implement.

Pre-requisites:-

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 in a .txt file. By doing so, you can make sure that you can re-install the certificate in case of any error.

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 previously generated. 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 the XAMPP

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 and extracted 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: Copy and paste the combined certificate file and the private key in

"X:\xampp\apache\conf\ssl"
Note:- Create an ssl folder if necessary and make sure your replace "X:" with the drive you installed XAMPP in.

Step 4. Add the site in Windows Hosts

1: Navigate to C:\Windows\System32\drivers\etc\hosts (the file has no extension)
2: Add this at the bottom of the file:
127.0.0.1 yourdomain.com
This command points Localhost to http://yourdomain.com locally and displays the default XAMPP Dashboard Page. XAMPP Dashboard Page

Step 5. Edit the SSL Configuration file for Apache

We need to let the Apache Webserver know where we store the SSL Certificate file. Navigate to "C:\xampp\apache\conf\extra\httpd-xampp.conf". You can either use the XAMPP interface or File Explorer to find the configuration file. Find and change the following directives:-
ServerName yourdomain.com
ServerAlias www.yourdomain.com
SSLCertificateFile "path-to-combined-certificate"
SSLCertificateKeyFile "path-to-private-key"
Note:- I've used a different path for the certificate and private key in this step. Please make sure to specify the correct path to both the files.
Your path should look like somewhat like:-
  "X:\xampp\apache\conf\ssl\certicate.crt"
  "X:\xampp\apache\conf\ssl\private.key"


Step 6. Restart XAMPP Apache WebServer

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


Author: Siddiqui Ammar
Published:

    Next Guide...
    WAMP SSL Configuration and Installation Guide for Windows

    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…