In general, upgrading DotNetNuke is a straightforward process. It is accomplished simply by copying the files for a new version over the top of an existing version and allowing the application to guide you through the upgrade. Having said that, there are of course lots of specific scenarios, consideration of 3rd party or custom modules, high traffic sites, etc. And so any extra steps in the upgrade process are in consideration of your site's particular circumstances. But it is important to understand that the basic approach to upgrading is as simple as copy & replace.
ALWAYS MAKE BACKUPS
The best laid plans can come undone on you, this is just a fact of life. If you've ever experienced a loss of data before, whether on a personal computer, a camera or a phone, you'll appreciate this point. Please, before you do even a simple upgrade, give yourself the peace of mind of knowing you have a full backup of the file system and the database. If these are hosted, you can speak with your hosting company about doing this for you (if you don't have access yourself).
If you have the resources, the very best approach is to test the upgrade on a backup site first. For some individuals this may not be possible or practical but for any business or organization that relies on their website this is a must. Testing an upgrade on a backup site will help you identify if there are any particular considerations with your skin, your applications or anything else so that you can respond accordingly.
UPGRADE BY MAKING A DUPLICATE WEBSITE BASED ON A BACKUP
- Add an upgrade portal alias to your website ex: upgrade.dnndocs.net in addition to the normal www.dnndocs.net
- Backup your website files
- Backup your database
- Make sure you completed steps 2 and 3
- Download the DotNetNuke_Community_XX.XX.XX.UPGRADE.zip package of the latest stable release of DotNetNuke.
- Restore the backed up website to a new folder path on your web server.
- Configure IIS for a new website with a host header for upgrade.dnndocs.net
- Setup Permissions on the file system
- Restore the database to a NEW database name.
- Modify the web.config of the new website to point to the new database
- Open your web.config and make sure autoupgrade is set to FALSE not TRUE
- Extract the contents of the UPGRADE package into a folder on your computer, it is not recommended that you extract directly over your website.
- Copy the files from the extracted UPGRADE package over the contents of your website's folder.
- Access your new website by browsing to it in a web browser, change the url to http://MYWEBSITE/install/install.aspx?mode=upgrade.
- Once you have the upgraded website running you can modify your website settings in IIS to utilize the new website, rather than the non-upgraded website.
Something to bear in mind If, like me, you are upgrading a site with customisations to the default.css, portal.css or menu.css, make sure that you copy these files over the contents of your website's folder after you have copied the UPGRADE package
Never perform an upgrade without a complete backup of the database and the website.
The preferred best practice is to use app_offline.htm to take your site offline before backing up the website and database. This provides an informative message during maintenance and when you are ready to perform the upgrade, simply rename the file to app_offline.htm.exclude to bring your site back online. (Next time you take your site offline, you only need to rename app_offline.htm.exclude to app_offline.htm).
SQL BACKUP TO APP_DATA
One trick is to put the database backup file in the app_data folder with a .resources extension. This allows you to copy the entire site including the database as a single package (or zip file) to a separate location for recovery and archival purposes. It is recommended to delete the file before your production site goes online.
Some module licensing schemes do not allow changes to the domain name, database name or installation folder. In this case it is much easier to do an in-place upgrade. If it fails, delete the contents of the web app folder and restore from the backup package and restore the database.
Now that IIS7 security includes application isolation, one of the many advantages of performing an in-place upgrade it that you do not have to reconfigure DNN, NTFS, IIS, SQL, or any other settings for a copy of your site.
IIS ROOT FOLDER
If you originally installed DotNetNuke in the root folder of IIS, you may experience problems trying to restore or duplicate your site to a new web application or virtual folder. This is caused by the nesting of web.config files from parent and child apps. When you plan for other web apps or duplicating DNN sites from dev to staging to production, it is worth your time to move DNN out of the IIS root folder into it's own web app folder.
A Simple way to Upgrade DotNetNuke
Upgrading Via FTP
Upgrading DotNetNuke on WebMatrix
Customizing the App_Offline.htm File