Installing DotNetNuke 4.7.0 on a Remote Host 

In previous articles on this site I have provided tutorials for installing DotNetNuke to a local machine, however, I have never yet approached the topic of installing DotNetNuke to a remote web hosting provider.  I have been asked many times why and the answer is simple; installations to remote hosts are not really standardized as depending on the hosting providers environments the steps to install can differ greatly.  However, due to popular demand I have created this tutorial which will provide you the basic overview of how to perform a clean installation of DotNetNuke on a remote web hosting provider.  In the article I will try to point out the most common areas of difference between different hosting providers, I will also be providing specific examples regarding the use of the Plesk control panel which is what my hosting provider (3Essentials) uses.  This article is my third revision updated to add some more clarifying points, be sure to share any feedback in the comments section at the bottom of the article!

First of all prior to starting this tutorial you must make sure that you have an established hosting account, an active domain name pointed to this hosting account, and you must be aware of all login information to your specific provider.  This login information includes but is not limited to FTP, Database, and control panel logins.  Below is a listing of each step that we will follow during this tutorial.

  • Prepare the hosting environment
    • Setup file permissions
    • Configure Database (if not already completed)
    • Validate ASP.NET Version
  • Download and Prepare DNN Files
  • FTP Upload of website
  • Triggering of DNN Installation Process

Preparing the hosting environment

This first portion of the install process is typically the most complicated and is ideally the only section of this article that will vary depending on your hosting provider.  Below I am providing installation instructions assuming the usage of Plesk as the application control panel.

Setup File Permissions

This step of the installation process is the one that is most commonly overlooked, therefore I am putting this as the first item on the agenda.  Due to the nature of DotNetNuke and the manner in which it allows you to dynamically install modules/skins/containers and the like you must ensure that the ASP.NET worker process account (ASPNET in Windows 2000 / NETWORK SERVICE in Windows 2003) has full permissions to the ENTIRE installation directory.  Typically on a hosted environment you are NOT able to configure this using your control panel.  My recommendation is to submit a support request to your hosting provider with text similar to the following.

I am preparing to install DotNetNuke on my ____________ account. Can you please ensure that the ASP.NET Worker Process has full file permissions to the root of this domain.

The good news is any hosting provider should be able to understand this request and they can quickly make the needed changes.  If you have a file permissions utility via your control panel, ensure that you are able to modify the root file permisisons.  3Essentials has a file permission utility, however, they do not allow customers to modify the permissions to the root folder, therefore I must submit a ticket to have my permissions modified.  If you are unsure, lean towards the side of caution and submit a request to your hosting provider!

Configure Database

DotNetNuke requires a SQL Server database to operate and this is something that must be configured.  Depending on your hosting provider the database and database user account might have already been configured, if not you might need to create the database and user.  The point of this step is to ensure that you have the following informaiton for your environment.

  • Database Server Name (The name/ip of the server where your database resides, never include HTTP in the name)
  • Database Name (The name of the database where you can store information)
  • Database User (The user account that you may use to access the database. NOTE: this account should have DBO permissions)
  • Database Password (The password for the username listed above)

You can obtain the Database Server Name from your hosting provider, most of them provide this information on their support sites. This value might be a fully qualified domain name (db1.3essentials.com) or as an ip address (10.12.12.5) or potentially a few other styles of values depending on their configuration. The remaining pieces of information all relate specifically to YOUR databaase on their server. If you are using Plesk you can obtain all needed information from the "Databases" section of your control panel.

If you are unsure of where to obtain this information contact your hosting provider.

Validate ASP.NET Version

This simple step is also one of the most common errors when installing DotNetNuke to a remote site. If you are installing 4.7.0 as this article is guided towards you MUST ensure that your website is configured to use ASP.NET 2.0. If you are using Plesk to manage your domain you can view the ASP.NET version in the settings page for your website, ensure that the version indicates (2.0.50727). Other hosting providers and control panels might provide a user accessible method for changing this or you might have to submit a support ticket, this all depends on the provider.

Once you have completed this step and received confirmation that you have ALL proper data values you can no proceed to the process of downloading and configuring the DotNetNuke installation files.

Downloading and Preparing DotNetNuke Files

To install DotNetNuke on a remote system you must first download the "Install" package of DotNetNuke 4.7.0 to your local machine, you must then UNZIP all files to a location on your computer to store the files before you migrate them to your hosting provider.  So the first step is to download the files and unzip them to a location on your machine.  For the ease of explaination I am going to assume that you unzipped the files to C:\DotNetNuke.

Now that you have your files on your local machine we need to make a few modifications. 

  1. Rename the release.config file to web.config.  This file is located in the root of the extracted files (C:\DotNetNuke\release.config in our example)
  2. Open the web.config file in your favorite editor, or Visual Studio whichever you desire.
  3. Modify the circled sections, this is configuring the connection to the database so substitute your values for "Server", "Database", "uid", and "pwd".  This format of connection string will work for any version of SQL Server.  You may use other valid connection string settings if desired, you may visit http://www.connectionstrings.com for assistance with other formats
    Connection String Values to Change
  4. Locate a setting called <add name="AutoUpgrade" value="True" />, change the value on this to "False"
  5. Locate a setting called <add name="UseWizard" value="True" />, change the value on this to "False"
  6. Save the modified document

The modifications to AutoUpgrade and UseWizard are completed to ensure that you are the one to trigger the upgrade and bypasses the wizard since we have already configured the web.config

Now that you have completed these web.configuration changes you have a DNN Installation that is ready to be uploaded to your website.

FTP Site to Hosting Provider

This step of the process is very simple, however, there are certain circumstances with hosting providers that can cause issues.  When using FTP to upload it is VERY important to make sure that ALL files are copied.  Due to potential timeouts and issues with FTP clients I highly recommend copying the files to your hosting location 1 folder at a time.  Copy the admin folder first, then the app_code folder, etc.  This will allow you to not only closely monitor the upload but will also allow you to quickly re-upload files in the case of an error.

Be sure when uploading these files that you are loading them to the proper location on your web host.

Execute the DotNetNuke Installation Process

Now that your files have been uploaded you just need to trigger the DotNetNuke installation process.  You can do this by going to the following url http://www.mysite.com/install/install.aspx (Where mysite.com is your domain name).  This should bring up the DNN install process where it should let you know that it is upgrading DotNetNuke and will provide you status messages.  If you receive a message that says unavailable, please try to visit the link again.  The installation should proceed with NO errors and should then provide a link that tells you to "Click here to access your portal". If you see any error messages be sure to note them before moving on as they will NOT be visible again!

You have now successfully installed DotNetNuke!  You should be able to login to your host account with the default password of dnnhost.  Be sure that you login with both the default host and admin accounts to reset the passwords and secure your DNN installation.

I hope this article has helped those looking to install DNN on a remote hosting provider.  If you need assistance please make a post in the forums on this site, if you have a general comment please feel free to leave it below!

Posted by Mitchel on Monday, November 19, 2007
 

Comments

when modifying the web.config file, do you mean "UseInstallWizard" instead of "UseWizard"?

By Empulse on Sunday, December 02, 2007 at 5:44 PM

I have followed your tutorial and after some hassles with my host, finally got the permissions changed. Connection strings have been updated and other web.config changes have been made.

Every time I run Install.aspx, the Under Construction (Site Not Currently Available) page comes up. Is this caused by a problem with web.config or should I be looking someplace else?

Thanks for your great tutorials. I don't think I would even be this far without having read them.

Ed

By Ed on Monday, December 03, 2007 at 4:50 PM

Ed,

I have noticed with 4.5 and later that sometimes you have to call the /install/install.aspx page a couple (2-3) times before it actually takes. The first time or two it will take you to the under construction page.

I don't know why it does that, but that is what I have noticed in about 20 of the installs that I have done since then.

By mitchel.sellers@gmail.com on Tuesday, December 04, 2007 at 3:46 AM

Thanks for the response Mitch.

I discovered your forum after posting here and came across that recommendation over there. It took several tries, but did eventually start the install!

I will move to the fourm to post another question. Thanks for the support!

Ed

By Ed on Tuesday, December 04, 2007 at 5:56 AM

I've noticed that when the install keeps redirecting you to the under construction page, so have to remove the www. from the URL and try again. That worked for me.

I have a new issue on this host that I haven't figured out yet. After a seemingly successful install (no errors reported), all attempts to access the site are redirected to the Install directory. I've tried reinstalling a few times (version 4.7 and 4.6.02) with the same results. Very odd.

By Michael Kizer on Tuesday, December 04, 2007 at 7:03 AM

Michael, your new problem was addressed in this Forum post. http://www.mitchelsellers.com/Forums/tabid/123/Default.aspx
I had the same problem and fixing the PortalAlias table entry fixed it.

Ed

By ECF on Tuesday, December 04, 2007 at 7:16 AM

Thanks Ed. I was able to resolve the issue with a combination of editing the PortalAlias table entry and forcing my way into the site via www.domain.com/default.aspx?tabid=36

That last trick allowed me to get in and update the portal alias list in the settings.

By Michael Kizer on Tuesday, December 04, 2007 at 8:35 AM

THANK YOU Michael!

I don't know exactly what that did, but it allowed the page to load! I've been discussing this issue over on the Forum with Mitchel and will post your solution over there.

Thanks!
Ed

By ECF on Tuesday, December 04, 2007 at 8:49 AM

Top notch post! The only thing I could add that has saved my bacon on these installs is I always set the trust level to Full for the install in the web.config.

<trust level="Full" originUrl=".*" />

When install is complete it can be returned to medium.

By Cheddar on Friday, December 21, 2007 at 5:08 PM

THANKS! the trick of getting around the "redirect to the install folder" of using the default page and a tab id worked wonders!

By ryan on Wednesday, March 12, 2008 at 11:09 AM

Trying to install DNN 4.8.2 to a subdomain on my site hosted at LunarPages. I have followed the steps and I keep getting the following:

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 87: <system.web>
Line 88: <!-- Ensure validationkey is not set to AutoGenerate,IsolateApps so it correctly supports webfarms -->
Line 89: <machineKey
Line 90: validationKey="AutoGenerate,IsolateApps"
Line 91: decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC"

Any help?

By Gary on Sunday, March 23, 2008 at 2:01 PM

Gary,

it sounds like you do not have DNN installed to the root of the application.....can you post this over to my forum and I can help you out better there.

By mitchel.sellers@gmail.com on Tuesday, March 25, 2008 at 3:27 AM

I tried registering for your forum but never received a confirmation email, (I did check the junk folder).

I installed DNN to mydomain.ca/DNN

Should it be in mydomain.ca?

Thanks,

Gary

By Gary on Wednesday, March 26, 2008 at 10:28 AM

DNN now installed to mydomain.ca.
Reconfigured database.
Now I get the UnderConstruction page or this:

Installing DotNetNuke
Upgrade Error: ERROR: Could not connect to database specified in connectionString for SqlDataProvider


Server Error in '/' Application.
Login failed for user 'DNN_admin'.

Thanks,

Gary

By Gary on Thursday, March 27, 2008 at 12:52 PM

Solved... Too much info in LP's connection string!

By Gary on Saturday, April 05, 2008 at 8:24 AM

Hi Mitchel, how do i find my validationKey from my Remote Host? I am new to DNN and windows servers.

Thanks!

By Doug on Tuesday, August 12, 2008 at 11:37 AM

Hi there,

Found this blog very useful. Setting up DotNetNuke 4 on Lunarpages, and noticed someone else ask about it... the machineKey error occurs when a folder isn't marked as an application... to do this, login to CPanel, go to WebDirectories, Add New Virtual Directory, enter the name of the virtual directory as you desire, and make sure Create Application is ticked at the bottom, and you can set whatever permissions you wish.

My problem is that I've done everything mentioned in this blog, but now get the following error:

System.Data.SqlClient.SqlException: CREATE DATABASE permission denied in database 'master'.
An attempt to attach an auto-named database for file *path*/Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
I've left my actual path out for obvious security reasons.

Any ideas or thoughts would be really appreciated.

Thanks

Douglas

By Douglas on Tuesday, September 30, 2008 at 8:27 AM

Douglas,

if you can move your question to the forum it would be appreciated!

The error indicates that your connection string values are not correct and are trying to dynamically attach the database which will be an issue.

By mitchel.sellers@gmail.com on Tuesday, September 30, 2008 at 8:51 AM

Hi Mitchel,

I managed to set up my DNN website on my hosting provider, using windows server 2003 and IIS6.
NETWORK SERVICE account was given full acces to root folder, version of ASP.NET was set to 2.xx in IIS manager. In IIS Manager, we have a website poiting to the root folder of the site. However, when I run the site, it gives an HTTP 404 error, page not found,

I don't know what's wrong. Please help

By Mukelabai Mukelabai on Tuesday, March 24, 2009 at 4:59 AM
Click here to post a comment

Disclaimer

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.

www.datasprings.com - DotNetNuke Modules ICG
SeablickMWK

Click here for advertising information.

Copyright Notice

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.