WinNMP - Nginx MariaDB Redis Php development stack for Windows

A lightweight, fast and stable server stack for developing php mysql applications on windows, based on the excellent webserver Nginx. A lighter alternative to XAMPP and WAMP.

How to enable HTTPS using free SSL Certificates from LetsEncrypt

WinNMP includes ACME PHP, a simple CLI client for Let's Encrypt certificate authority, witch will allow you, in a few steps, to get and renew a trusted HTTPS certificate for any domain, freely and easily.

In order to install free SSL Certificates, you need average network administration skills. This document is not intended for beginners.

1. Create a new WinNMP Project

New Project

2.1. Configure your router

If the computer with WinNMP is behind a router, forward the external ports 80 and 443 to that computer.

2.2. Configure Dynamic DNS

If your hosting provider assigns you a dynamic IP Address, configure a Dynamic DNS service like on your computer or on your router.  --->   WinNMP Server

2.3. Optionally, use your own domain name

You'll need to own a domain like You can buy one from any Domain Name Registrars

Edit the DNS settings for your domain, usually on your Registrar's website, and choose a hostname like, and

If you skip this step, and you only want to use your Dynamic DNS hostname, just replace below with

3. Allow access from LAN and Internet to your local project:

Edit WinNMP\conf\domains.d\myProject.conf directly or go to Project Setup and click on Edit Nginx Local Virtual Server Configuration File icon.

Edit Nginx Local Virtual Server

Modify like this:

server {
    listen          *:80;
    listen          *:443 ssl;

    server_name     myProject.test;

    ### Commented for now:
    ## ssl_certificate      .acmephp/master/certs/;
    ## ssl_certificate_key  .acmephp/master/private/;

    ### Access Restrictions
    allow           all;
    ## deny         all;

Apply changes: Kill Nginx, Check Nginx Configuration Syntax, Start Nginx

Test HTTP: access in your browser and make sure it points to your project

4. Run ACME PHP:

Open a command prompt by clicking the corresponding WinNMP Manager icon.

Follow the instructions from the original ACME PHP Documentation, but use the command acmePhp instead of php acmephp.phar

Register your account key in Let's Encrypt - Only once !

acmePhp register

Generate an authorization token for the domain ""

acmePhp authorize

Publish the authorization token in the project`s directory This step is implemented and available only on WinNMP

acmePhp publish myProject

Ask the server to check your proof

acmePhp check

Get the certificate!

acmePhp request

To renew, re-run acmePhp request -q -n For more information run

acmePhp help request

5. Enable SSL Certificates:

Edit WinNMP\conf\domains.d\myProject.conf and uncomment ssl_certificate..:

    ssl_certificate         .acmephp/master/certs/;
    ssl_certificate_key     .acmephp/master/private/;

Apply changes, then Test HTTPS: go to