Believe it or not I still find myself building websites after all these years. It’s something I enjoy to do and when most people are out playing golf, I find myself playing with some new piece of software. Generally, I use a content management system (CMS) like DotNetNuke or WordPress to build a website today. It allows you to quickly get a website online with a great looking theme, with out of the box functionality that used to take months to integrate and it just works! Unfortunately, what often didn’t just work was upgrading your site or testing out a new plugin, theme or module without impacting your production website. After all, you wouldn’t want visitors on your website while you’re in the midst of testing out a new theme!
That’s where WebMatrix comes in, it will allow you build a staging area on your local company that you can use as a test and development environment that will mimic EXACTLY your production environment. This means you’ll be using the same version of IIS, ASP.NET, PHP, SQL, etc that your production environment would use. Then when you publish it will not only publish all of your files for you but also your database content and set any file permissions, application settings and even change the version of .NET or PHP your site runs as if necessary! This is HUGE!
Using WebMatrix to upgrade DotNetNuke
A couple years ago Applied Innovations acquired awesome.net into our company. It’s still run as it’s own independent company with it’s own website built on top of DotNetNuke. Today we needed to upgrade the install of DotNetNuke from 5.5 to 5.6.1 and because this is a production website for a company that gets a decent amount of traffic we didn’t want to do the upgrade in-place on the webserver. I decided to use WebMatrix to do this upgrade and built out a tutorial video of the progress. The video has been broken down into 4 steps each only a couple minutes long and the total video is about 10 minutes total.
This is a great example of how anyone (regardless of their web development experience) can leverage WebMatrix to manage their production website today.
NOTE: To do this you have to be on Windows Server 2008, running IIS7 and have Web Deploy enabled. If you’re uncertain if your site supports this just email firstname.lastname@example.org and we’ll let you know if you’re on a 2008 server that supports this or not.
Getting DotNetNuke Ready
Ultimately, we’re going to download a copy of our production website to our local company and work on it there. Before this will work though we need to set a Portal Alias in DotNetNuke so that the site will run on our local computer just as it does on the web server. If you don’t set the Portal Alias then when you run the site on your local computer the first time it’s just going to redirect to domain and your production site.
In the below video we set a Portal Alias for “localhost:42533” which is our local computer and port number we’re going to run the local web server.
Getting Our Development Environment Ready & Downloading The Content
Next we’ll want to make sure we’ve downloaded WebMatrix. If you haven’t or you’re not familiar with WebMatrix, you can get it from www.microsoft.com/webmatrix. In the video below we’re going to use WebMatrix to download and install a DotNetNuke site on our local computer. It will prepare the files and database for us. We’re not actually going to run this site because once it’s created the directory structure and a blank database we’re going to connect to our production site and pull down all of our website’s files, images and even it’s database. Yes WebMatrix is going to do all of that for us including the database!
Setting Our local WebMatrix server to run on port 42533
In my first video we set a Portal Alias for “localhost:42533”. By default WebMatrix picks a random port to run on each time you create a new site in it. Chances are you’re on a different port. This is easy to fix though, you just go into webmatrix, click on Site, settings and change the port number to whatever the port is you used in the portal alias. In this video I quickly step you through that.
Let’s Upgrade DotNetNuke and Publish Our Changes
In this last video, we’ve already downloaded the latest upgrade package from www.dotnetnuke.com. We’re going to go ahead and extract these files over the top of our development/webmatrix site and then run it locally. That’s going to upgrade our local DotNetNuke site and allow us to test it out completely. Once we’re pleased with it, then we’re going to use WebMatrix and publish all the files AND the database back to the production environment overwriting everything that’s there. I know what you’re thinking “oh man, this is where it’s going to blow up my website!”. But in reality we’ve done the upgrade and all of the testing using WebMatrix so we know we’ve tested that this application runs using the same version of IIS, ASP.NET and SQL that we’re going to use in our production environment, so we’re good!
We’d Love To Hear From You
So that’s how I used WebMatrix to upgrade our production website for www.awesome.net. I could have used a dummy website for this testing but since we’re telling you that it can be done with production websites, I thought it would be best to actually show you it can by doing it. WebMatrix is a fantastic tool that would let you do this type of operation with just about any type of dynamic website out there be it based in ASP.NET and SQL Server or PHP and MySQL! It’s a great way to test new modules, new themes, code changes, etc before actually making them live.
I hope you’ve enjoyed this tutorial and if you’re still not certain about WebMatrix and leary about running on your production server you can sign up for 3 Months of free WebMatrix ready hosting at www.appliedi.net/webmatrix and give it a try!