A couple of months ago I noticed that the BlogEngine.net guys had released the 2.0 version of their excellent and free blog software. I had decided that since the new version has awesome SQL Server integration, I was going to switch from XML-based data storage to SQL Server 2008 R2.
Yesterday I took the plunge and upgraded my site. Here's how I did it...
Before starting, log in to your existing website as administrator and export your blog contants to a BlogML file as follows...
- Log in as Admin and click "Settings" from the administration links.
- Scroll to the bottom of the page, to the Import & Export section and follow the wizard to create a BlogML export file on your local machine.
Now it's time to install the new BlogEngine.Net 2.x
- Download the latest version of BlogEngine.net (which in my case was 18.104.22.168) and install it into a separate directory alongside your exiting 1.6 installation.
- Follow the steps to create the new database and run the database scripts.
- Set up directory security using "Network Service" and set up the security properly on your SQL Server database.
- Copy the .NET 4.0 SQL Server web.config file from the proper setup directory, and modify the connection string to point to the right database, and use integrated security.
- Delete the contents of the App_Data folder, since we won't be needing those files.
- If you are storing any imagery in a local folder on the old site, you'll need to move that folder over to the new site as well. If you are using Flickr or some other service for images, then that's not necessary.
- Edit the website settings in IIS as follows...
- Edit the ApplicationPool, so as to enable .NET 4.0 and run under the "Network Service" identity.
- Point the website's home directory path to the new installation.
You should be able to hit the site now, set up basic site settings and change your admin password. If everything works right, let's import the blog contents from the old site as follows...
- Log in as admin.
- In the administration menu, click on "Settings".
- On the settings page, there is a set of tabs along the right hand side. Select "Import & Export".
- Click the "Import" button and browse to the BlogML export file you created earlier.
- Follow the prompts to upload and install it.
That should have merged your content with the default content from the new installation. This will ONLY import the blog content. None of the users, or settings from the old site will be migrated. Delete the sample posts and you should be all set.
In my case, I noticed that the pages didn't get migrated, so I switched IIS to the old site (which ran under .NET 4.0 without a hitch!), copied out the contents of each page and then switched back to the new site and manually re-created each one. It was kind of a pain and something I didn't expect, since I was led to believe that the export would get the pages too.
Note: Themes from the older version of BlogEngine.net will mostly work, but if they have a link to the login page in the theme, then you will need to edit that to point to the new login page location on BE.NET 2.0.