Setting up a Drupal site on the Windows operating system can seem like a daunting task, especially when coming from the Linux world. The biggest difference is getting used to configuring tools with a user interface, rather than entirely on the command line.
Selecting Web Server Software
The traditional choice for Windows is IIS (Internet Information Services), but it’s not the only one. As with Linux, both Apache and Nginx can be used on Windows. Configuring IIS to work with PHP and Drupal can be a challenge to get working correctly. To make installation easier, a good installation guide is essential. Setup of Apache is similar to Linux, except in installable executable is used to complete the process. Configuration is done in the familiar “conf” files.
In any case, using in installation manager to handle to basic configuration and installation of the components required for Drupal can save you time and some headaches. Microsoft has a neat tool to help install various open source projects called the Web Platform Installer. A popular way to get the Apache stack installed on Windows is to use Xampp.
Selecting a Database
The usual choice of MySQL/MariaDB for Drupal is not the only one that can be used. Pretty much any database can be adapted to work with the database api, given a driver is there to support it. There is a good amount of support for the SQL Server database in Drupal and it happens to work very well with Windows.
The standard installation steps are used with either choice to setup the database software. SQL Server has a few extra tricky steps where the database drivers being installed need to match up with the version of PHP installed.
Connecting to the Server
If you are used to using SSH with Linux, connecting via remote desktop to Windows will certainly be a new experience. These connections are best done from another Windows machine, but can be done with 3rd party software for Mac and Linux.
Setting up SSH on Windows can be tricky. The installation of the SSH software is fairly straightforward. The tricky part involves changing the default shell being used when SSH users are connecting to the server. These settings have to be changed in the Windows registry.
Additional software commonly used with Drupal can include git, drush, and composer. These are all simple installations via an executable. They are best accessed through powershell, the bash shell that comes with the git install, or the native Windows 10 bash shell.
While setting up and maintaining a Drupal site on a Windows server can be more challenging than on Linux, it doesn’t mean it shouldn’t be done. The workflow is a little different but once everything is properly setup, Windows can be a good alternative to Linux, especially if your organization wants to take advantage of power of Drupal but is limited to Windows on servers.