July 27, 2007

Migration of Existing Site to 3Essentials

Recently there have been numerous discussions on the DotNetNuke.com Forums regarding hosting providers and who one should go with and who they should switch to because they are unhappy with their current provider. During all of these discussions I have always recommended the company that I use for hosting 3Essentials. Since making this recommendation I have been receiving numerous e-mails regarding the process to actually migrate a live site over to 3Essentials so I thought I would write a short blog article that explains the basics of moving a website over to 3Essentials, in actuality these instructions SHOULD work for most providers, however there might be some differences.

The Setup

First you must get your plan setup with 3Essentials so that you have all proper elements available to configure and move your website. Once you have selected your hosting plan and provided them with payment they will send your your needed login information for Plesk and the FTP location.

Before we start the migration process you will want to setup a database instance for your application. You can use the following steps to create this via their website, be sure to remember the database name, username, and password as you will need this information later.

  1. Login to Plesk Control Panel
  2. Select your domain name from the list
  3. Select the "Databases" option
  4. Select the "Add" option
  5. Supply your desired database name, username and password then save the changes

Now that we have this completed we will want to make a few other settings changes to make sure that our site is completely configured. First under the site settings ensure that the ASP.NET is enabled and that the version selection is set to 2.0.50727 (1.1 if on DNN 3.x). Once you have verified this the last thing to do is to submit a support request to 3Essentials. In this support request we will ask for them to confirm the permissions for the root directory. Please follow the below steps to submit this request.

  1. Visit their help site at help.3essentials.com
  2. Click on "Submit a Ticket"
  3. Select "Support" for the group, then click "Next"
  4. Select "High" for the priority
  5. Enter your domain name in the box provided
  6. Enter "ASP.NET Modify Permissions" as the subject
  7. Enter "Please add MODIFY permissions to the IUSR/IWPD users to the ROOT directory for this domain" as the body of the message  (NOTE: if not installing to the root they only need to change permissions on the actual DNN folder)
  8. Click "Send" to submit the message

Once they have confirmed this setting you are now ready to start the migration process!

Preparing the Existing Site

Now that you have your new environment all ready to go it is now time to get the existing environment ready for migration. Typically you will want to notify your users of the move as when you start the actual move process changes to the current site will not transition.

From your current hosting provider you need to obtain a backup of the SQL Server database in the form of a .bak file. Once you have this you will need to submit another request to 3Essentials to have this database restored to the new location. Instructions for the ticket submission are below.

  1. Visit their help site at help.3essentials.com
  2. Click on "Submit a Ticket"
  3. Select "Support" for the group, then click "Next"
  4. Select "High" for the priority
  5. Enter your domain name in the box provided
  6. Enter "Restore Database" as the subject
  7. Enter "Please restored this database file to my existing database (Database name, username, password)." as the body, providing the actual values for the database you created above
  8. In the attachments section you will want to attach your database to the ticket
  9. Click "Send" to submit the message

Once they have confirmed that the database has been restored then you can proceed to the final migration step which is to download ALL website contents from your existing server. When you do this you must be sure to grab all files, be careful of potential FTP download issues. Once you have the files downloaded to your computer you will need to then modify the database configuration in your web.config.

To perform these changes you will need to replace both connection strings with the new information for 3Essentials which include the database name, username, and password as well as their database server name. They will provide you the database server information.

Load Files and Make the Change

Now that you have modified the files on your local machine you will need to simply FTP them to 3Essentials and you will be set to go. When you connect to the 3Essentials FTP servers you will need to go to the httpdocs folder and then upload your site to that folder. Even though via the FTP it is a sub-folder it is actually the ROOT directory for the website. Be very careful when uploading to ensure that all files do successfully transfer.

You may now test your DNN site on 3Essentials before making the DNS change by modifying your hosts file on your local machine to point to the temporary URL.  Luckily 3Essentials has provided a document on how to make this change.  http://knowledge.3essentials.com/index.asp?menu=a1_2&go=knowledge&action=kw.  I have also been informed by 3Essentials that if you have any questions regarding what this hosts entry should be that you can simply submit a support ticket and they will gladly confirm the proper setting. 

Once you have the files up on the server and you have validated that the site is ready to go you can now make the DNS change to move your existing domain over to your new hosting plan. Please remember that DNS changes can take up to 72 hours to complete propagation across the world so some users might still get to your old site after you make the changes.

If anyone has questions/comments/concers please let me know!

Updated on 8/1/2007 with additional information from 3Essentials

tags: Tutorials, ASP.NET, .NET 1.1, .NET 2.0
comments powered by Disqus

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.