XAMPP - Let's Encrypt SSL Installation
If you currently run Apache (or the other distributions such as XAMPP and Wamp Server) on Windows which is hosted as a virtual machine in some cloud based server, then this guide is for you.
Prerequisites
XAMPP installed on your Windows Server.
A registered domain pointing to your server's IP address (via DNS A record).
Port 80 (HTTP) and 443 (HTTPS) open in firewall.
Step-by-Step Guide
Download win-acme
Download the latest version (x64 recommended).
Extract it to a folder, e.g.,
C:\win-acme\
Before we go on, Create a new folder called “apache-certs” on your C-drive.
You need to make sure your webroot is allowing .well-known/acme-challenge/ to be publicly accessible.
If this folder is not available under the website directory then you need to create it and then win-acme will automatically create the required txt files for verification.
Generate the SSL Certificate
Open Command Prompt as Administrator.
Navigate to the win-acme folder:
“M” - Create new certificate
“1” - Manually input host names
“Enter your domain name here”
“Enter” - Just click enter to confirm again
“5” - Save file on local or network path
“C:\xampp\htdocs” - Your site root folder (C:\xampp\htdocs\<domain name>)
“y” - Default config settings
“2” - Choosing CSR
“3”- Write .pem files
“C:\apache-certs” - The reason we created the folder.
“3” - No extra steps
“1” - No extra steps
“Enter e-mail” - Enter your email adres
“Y” - Opens some docs
“Y” - Ofcourse we agree
Your SSL Files should now be created and placed in your “C:\apache-certs” folder and you see something like this on your console:
The hard part is now over.
Now we need to configure Apache to be able to use the SSL-Files. Before we start this please make a new folder on your C:\ Drive named “Logs”.
Configuring Apache
To use certificates obtained with the help of WACS with the Apache 2.4 server, you need to make settings in Apache\conf\extra\httpd-vhosts.conf file; you could also make these changes in the \Apache24\conf\extra\httpd-ssl.conf file as well instead if you so wish.
Updating C:\xampp\apache\conf\extra\httpd-ssl.conf
Replace the certificate file paths with your actual file locations.
Step 4: Enable SSL in Apache
Open C:\xampp\apache\conf\httpd.conf and make sure these lines are uncommented:
Configure C:\xampp\apache\conf\extra\httpd-vhosts.conf
Enable Virtual Hosts in Apache
In httpd.conf (main Apache config), make sure this line is uncommented:
Load the Required Apache Module
Open this file:
Find this line (or similar):
Uncomment it by removing the #:
Force Redirect HTTP → HTTPS
Add this to your .htaccess file in:
Opening the Port in Windows Firewall Security.
Search for Windows Firewall Security for Windows and Open it.
Click on Inbound Rule, and follow the below steps:
Click on New Rule from the right panel
Select Port, Hit Next
Click on TCP and Give Specific Port number as 443,80
Allow all connection
Check on Domain, private and Public
Give the respective name and Click Finish
And then, repeat the same steps for Outbound Rules and Finish
Troubleshooting Commands
REFERENCES
Last updated
Was this helpful?