One of our Microsoft Partner benefits is the ability to test and run Azure Cloud Services. Having done a fair amount of data center server configurations over the years, I’ve been very impressed with this all in one cloud server solution from Microsoft. When I was running Hosted Business Server, a typical server outlay for us was about $30K in hardware, $15K in software, and an $800/month bill from the data center for rack space, power, and bandwidth. With Azure, the same setup would be roughly $1200/month with Microsoft not only taking care of the data center for you, but the hardware, software licensing, installation, etc. Beyond that the scaling options are amazing as you can start small and increase your resources as you need them, as well the ability to load balance to multiple geographic locations with ease, was unheard of just 5-8 years ago.
Enough waxing on Azure, the point of this post is to detail how to use an Azure Virtual Machine to host a WordPress Blog. Here’s what’s involved:
Installing the Virtual Machine
- The first step is to . This trial will be plenty to get you up and running the first month for free.
- Login to your new account, go to the portal and Configure a new Virtual Machine.
Click the New button at the lower left part of the portal. Select Virtual Machine, and then the From Gallery Option.
- From here select Windows Server 2012 R2 Datacenter.
- On the next page pick the most recent version, name your server, pick a server size (for one or two sites with moderate traffic you can go with just an A1), and enter a username and password for your administrator account.
- For page 3, create a new cloud service and give it a DNS name (this will be used until you point your domain name to the server), select your region, let it create a storage account for you, and you can ignore availability set for now as this would be for if you have huge traffic at a later date. The final step on this page is to create an endpoint for your server for HTTP and HTTPS (if you’re going to use SSL). Just select them from the pull down box. This will create the mapping to push the web traffic through a public IP microsoft will give you to your server. It is this address (you’ll get it later) that you point your domain to.
- On the final page you will probably not select any of the extra extensions, just click the check mark to do the install. Amazingly in just about 5 minutes your new Virtual Machine will be installed and ready to login! Much easier than doing it yourself.
Configure Your Server with IIS (Internet Information Services)
- Once the server is provisioned, select it in your portal, and visit the dashboard. On the right side you’ll see some important information. First is the DNS name servernameyoucreated.cloudapp.net, and then the virtual Public IP MS has given you. Make note!
- Now click on the endpoints tab. Here you need to make note of the public port that Microsoft has opened in the firewall for you to connect to Remote Desktop.
- Open up the Remote Desktop Connection app on your computer (if you can’t find it, just type mstsc in the run box). In the computer box type in either the DNS name or Public IP followed by a colon and the port number. Say your DNS name is wordpress.cloudapp.net and the port is 55493 you would type: wordpress.cloudapp.net:55493
- Once connected enter the username and password you created the VM with and you’ll be logged into the desktop on your new server!
- Once there, go to the server manager (it will either open automatically, or you can click the icon one in from the windows logo on your start bar).
- Before we install IIS, I thought I’d give you a quick tip if you’ve never worked on Windows Server before. Select Local Server from the left, and then in the middle right of the properties that are displayed click where it says ON next to IE Enhanced Security Configuration. You want to turn this off for administrators or it will want you to approve every portion of every website you browse to on your sever. Very frustrating!
- With that done, click back on Dashboard and select Add Roles and Features. Here you click next, select Role/Feature based Installation (next), select your server (it’s the only one, next). Now scroll through the roles and select the Web Server (IIS) option. For WordPress, you can just accept the default options.
- Select Next, you don’t need any features (although if you’re familiar with using Telnet for testing purposes now is a good time to check the box to install the telnet client, otherwise it will not be available at the DOS prompt), and click install on the confirmation page.
- Be patient, especially if you selected a low powered server. Reboot if necessary, and if you’re inclined install Windows Updates.
Installing WordPress to IIS
- Open up Internet Information Services (IIS) Manager by selecting it from the Tools menu in the upper right portion of the Server Manager mentioned above.
- On the right side of the start page, under online resources, select Microsoft Web Platform. This will send you to a website (aren’t you glad we turned off the enhanced security in internet explorer? :)) where you can click on the free download link, and select run.
- Click on Applications and WordPress should be the first option as it is most popular, if not, find it in the list and click Add, and then install at the bottom.
- For the Download prerequisite accept and it will download and install WordPress.
- On this next tab, you need to configure the website in IIS that is going to use WordPress
- Select New Web Site
- Leave the / for application name if you want the WordPress site to be at the root of the domain. I.E. if you want www.blog.com to bring up your blog leave the / , but if you want your blog to be www.mysite.com/blog , then add that to the application name.
- The web site name is a logical description for you within IIS. Not important if you only run one website for yourself, but if you’re hosting a bunch on the same server this field will identify the specific site.
- For path, select a folder on the server to hold the website. Typically on Windows server you would create a new folder for this site within the inetpub folder at the root of the system drive.
- Leave All Unassigned for IP addresses, and then type in the DNS Host Name for your site. If you’re just testing you can use the thenameIcreated.cloudapp.net here, or if you have a domain name that you will be pointing the www A record to this servers virtual public IP, type it in here. This is what tells IIS to serve up this blog when someone requests info from the server by typing in the domain name in their browser.
- Click Continue. If it warns you about the folder not being empty and contents being overwritten it is OK, select Yes.
- The final configuration step is to create the encryption keys for your site. You can type just about anything in these boxes, such as alskfeioewjfoi9310791klfhn, but if you want a little random help follow this , and then copy and paste the different keys (what’s inside the single quotes) into the correct fields. Continue.
- Copy and record the Database configuration information that is displayed on the final page and then click on Launch WordPress. Tada! Go ahead with a standard configuration of WordPress.
- If you haven’t created or pointed the DNS Host Name you used for your site yet you will get a page can’t be displayed error when going to your new site. To fix so you can browse to it on the server you need to open the hosts file from c:\windows\system32\drivers\etc in notepad, and add a line to resolve your host name to the local host IP address 127.0.0.1
- By default IIS will not let you use the WordPress update feature. There are two steps you need to perform in order to fix this issue. In IIS Manager go to the Application Pools and right click the pool for your WordPress site selecting Advanced Settings. Here you want to change the Identity from ApplicationPoolIdentity to LocalSystem.
- You also need to change permissions on your folder in order to change the perma-link structure or perform some other WordPress configuration changes. To do this right click your site listed under sites in IIS manager and select Edit Permissions. On the Security Tab click the Edit button and then click Add. For object name, type in “authenticated” and press OK, this will resolve to Authenticated Users. Select Full Control and then OK both boxes.
Enjoy your site! To add a 2nd or more WordPress sites just repeat these instructions making sure to use a new web site name, physical path, and host name.
Need help? We provide onsite support for local business in and around Bozeman Montana, but will happily do remote consulting for web, server hosting, email hosting, and other services that require us be onsite.