LetsEncrypt Windows

LetsEncrypt provide Free SSL with 90 day validity. You need to renew it every 90 days, there are software to do this. For windows some of the popular software are.

win-acme

This is a small exe file, it have command line interface (No GUI). You need to run this program ad Administrator (Run as Administrator), then only it will setup Scheduled Tasks needed for auto SSL renew.

It support auto SSL install on IIS and have option for custom SSL install.

https://www.win-acme.com/

CertifyATheWeb

This is a GUI program.

https://certifytheweb.com

Delete SSL Certificate in IIS

To delete SSL certficate in IIS,

1) Start Internet Information Service (IIS) Manager
2) Click on Server Name (server hostname)
3) On right side, click on Server Certificates button.

On next screen, you will get a list of all SSL certfificates. You can right click on any of the certficate and delete it.

For older version of IIS

1) Open MMC (Start > Run > MMC). Open the Certificates Snap-in.
2) Select Local Computer Account
3) Select Certificates > Personal
4) Find the certficate and delete.

See Internet Information Server (IIS)

Auto Start Nginx on Windows

To auto start Nginx on Windows, download

http://nssm.cc/download

Extract the file, you will find “nssm.exe” file for 32 and 64 bit windows. Copy the file for your Windows version to a folder like

C:\utils\nssm.exe

Start a command promt as user Administrator, then to go the folder where nssm.exe is, then run

In the GUI select the nginx.exe path, click install service.

Now in Service Manager, you will see new service Nginx, that is set to autostart by default.

You can right click service name and select start.

See Windows Nginx

IIS redirect site to HTTPS

To force a site to always use HTTPS, add following content to web.config file.

Here is full web.config file for a web site that use WordPress and Force SSL

Windows 2016 IIS not listen on external IP

On a Windows 2016 server, IIS web site is set to bind on all IP address on the server.

But site is only available on 127.0.0.1 (localhost). To check if this is due to firewall, i disabled firewall, the problem still exists after disabling firewall.

To fix the problem, run following commands as user “Administrator”

Now restart IIS

Install Apache and PHP 7 On Windows

Lets start with PHP. Go to

https://windows.php.net/download/

Decide which PHP version you need.

At the time of this post, PHP 7.2 is latest version is available in following 4 version

VC15 x64 Non Thread Safe
VC15 x64 Thread Safe
VC15 x86 Non Thread Safe
VC15 x86 Thread Safe

x64 vs x86

x64 is for 64 bit OS. Most computers these days are 64 bit.

Thread Safe vs Non Thread Safe

Download “Thread Safe” version if you are using PHP as Apache Module or IIS.

Non-Thread Safe version is for running PHP as FCGI process.

Exact and put the content of ZIP file in folder

Download and Install Apache

Download latest Apache version from

https://www.apachelounge.com/download/

Download 32 or 64 bit depending on your Windows install.

Since we are installing PHP compiled with VC15, we need Apache compiled with VC15. So i downloaded following

https://www.apachelounge.com/download/VC15/binaries/httpd-2.4.33-Win64-VC15.zip

The site have other version available for VC14 and VC11, this is useful if you are installing older version of PHP that is compiled with older Visual Studio C++.

Edit httpd.conf, add following to end of the file

If you want to install Apache as Service, run

-n “Apache 2.4” is the service name that will be visible in windows service manager.

php