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.
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
- 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. Basically 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 (ASP.NET 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.
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 to 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)
- 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 your 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.5.5 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.5.5 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.
- 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)
- Open the web.config file in your favorite editor, or Visual Studio whichever
- 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
- Locate a setting called <add name="AutoUpgrade" value="True" />, change the value on this to "False"
- Locate a setting called <add name="UseWizard" value="True" />, change the value on this to "False"
- Save the modified document
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?mode=install
(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".
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!