Installing WordPress on Windows Server 2012
Note: Article updated to reflect changes as of February 2016
Installing WordPress on Windows Servers have been a challenge for me in the past. Mostly because of my ignorance to web development and the pre-requisites such as PHP and MySQL. Pre-requisites especially because I didn’t know where to get it, how to install it and ofcourse searching the web always gave me an answer, it was never simple or easy.
Easy compared to what Microsoft Web Platform Installer has to offer. Web PI was an accidental discovery on my part but Microsoft has made it easy to discover. For an example, if you have IIS installed on Windows Server 2012, when you launch IIS Manager, it comes up with informative prompt asking you if you want to get started with Microsoft Web Platform:
Usually I simply ignore it but since I wanted to install WordPress, I figured why not. While I didn’t expect WordPress to be a direct download there, I clicked Yes to see what it has to offer.
It landed me on Microsoft Web Platform Installer download page. And glancing at the page it took me no time to notice there was a WordPress logo in the “It’s App-tastic section:
This was euphoria. Call me lazy but for the stuff that I am not an expert on, I would rather have someone else help me get it right. MAny reasons besides I don’t have to do it. I know it’s being done right, I know that I am not making mistakes that someone with knowhow won’t make. The package should usually take care of best practices and proper install. So putting trust in it, I figured to give it a go.
After downloading and starting the installer, I headed to Applications section:
The first application in the list is WordPress! All I had to do was click “Add”. If WordPress isn’t listed on first screen anymore, you can search for it from the installer. So what about pre-requisites? I should mention all I had on a plain vanilla Windows Server 2012 install. I didn’t even have IIS installed on it. I just clicked “Install” anyway. The first screen came up asking about MySQL password:
It then presented me with license agreement screen. It also showed me everything it was going install. IIS components, MySQL, PHP… exactly what I was hoping for. Less work for me!
After pressing obligatory “I Accept” on the page, it started the download of required components:
Install was part of the same dialog. First download and then install.Ofcourse that wouldn’t cover all we need to setup WordPress successfully. So, next came the configuration dialog. Asking configuration items such as Which website in IIS to use for hosting the blog, What to name the Application in IIS, where to put the files and so on:
I chose to put the blog in new site of its own.
As you proceed to next step, you may get a warning that the destination folder is not empty. I had just created the folder and was completely empty so I ignored the warning and marched on. Now, the installer asked for the keys and salt WordPress uses to secure configuration. To create the random strings you will use for keys and salt, head over to https://api.wordpress.org/secret-key/1.1/salt. Copy the keys and salt strings generated and use your favorite text editor to find and replace and single quotes, backslash and dollar symbol with any other alpha numeric character of your choice. The installer does not accept it and will throw an error. Create another set of keys if UI refuses to accept the keys that does not contain characters mentioned above. I had to try twice before it accepted the keys I provided:
After providing the keys and salt, the installation pressed on to install WordPress:
And finally, I was presented with completion screen:
Notice little password checkmark at the bottom. It asked me to copy password information to clipboard. I guess without it I would have been in trouble when I need to configure database information later for any reason. It is one link that was easy to miss but I clicked on it anyway and copied all information (database name, database username and database password) in safe place for future reference.
And Finally, when you click finish, it will pop open your browser and try to get you to the website. If you have DNS configured and is pointing to your server (goes without saying firewall port open if needed), WordPress language selection page should open:
After selecting language and pressing continue, I needed to provide required information to setup the blog:
From here on, it’s the same as installing WordPress on any platform. Gotta say Windows Server 2012 combined with Web Platform Installer has me singing praises for making my life easy. Cheers for Web PI.