Oct 172009
 

One of the first things that I did after creating a shared hosting account with GoDaddy was to look for a good content management system. After pestering loads of people at work meticulous research, I settled on DotNetNuke. After downloading it, it seemed pretty easy to work with.

Now came the difficult part- getting it to work on a shared website. Having grown accustomed to full administrative rights with IIS and the local system, it seems strange when working with shared hosting providers, to tweak the application installation according to their security. On Visual Studio Ctrl+F5 was about the most difficult thing I had done to get an application built and running.

After 2-3 hours of googling, I found that installing DotNetNuke in the root website folder would be too much of a hassle since GoDaddy didn’t provide write permissions to the root directory. Anticipating a lot of work, I directly jumped to the second option – Installing it in a subfolder in the website.

Here the steps I used to install DotNetNuke 5.x to a subfolder. Hope it helps.

  • Create a subfolder in your website. (I named it dnnroot). I did this using FileZilla, the free FTP tool. You can also use the built in FileManager by going to Content -> File Manager in your control panel

Create new directory in root

  • Create a new Sql Server database by going to Databases -> Sql Server. I cant show that since, I have already created my maximum allowed quota of 1 db.  Some people have managed to run DotNetNuke on MySql using a provider. But mostly it will cause issues. Get the connection string by going to the Configuration section.
  • Get Connection String

    Get Connection String

    • Download the install package from the DotNetNuke website.
    • Unzip the package to a folder in your system.
    • There is a file called release.config in the install package. Rename it to web.config and modify the Connection string specified in two places inside the file. Make sure you don’t have two config files in the folder, because this will throw errors.
    • The custom errors need to be turned off in the web.config file.
    Custom Errors need to be set Off
    • After changing the web.config, copy all the files in the DNN directory to the newly created folder in the website. I preferred FileZilla for doing this, but you can use the FileManager as well.
    • Then come the permissions issue. DotNetNuke is apparently a free bird and doesnt like to be held down too much by restrictive permissions imposed by IIS. So there are two permissions settings that you need to tweak to get it work.
    • The first is the file permissions.  DNN needs write access to the folder it resides in. We need to provide this using FileManager application which we used for creating a subfolder for DotNetNuke. Click the permissions button. Uncheck the Inherit checkbox and check the write one.
    Permissions Button

    Permissions Button

    Permission2

    • Last but not the least, you need to tell IIS that what is being installed is an application, for this a simple setting change is needed. Click on Content -> IIS Management. If you dont see the subfolder you created, then create a new directory with the same name as your subfolder. Then click on edit and check the “Set Application Root” option.

    IIS-Settings

    Voila!!! You are all set. DotNetNuke 5.x has been successfully installed in your website. If you still face any other issues, feel free to comment on this article, I will help you to the best of my knowledge.

    P.S: Though many people prefer to install DNN in website root, its quite complicated to do so. However, if you want your website address to point to your DNN installation. A simple 301 redirect script should do that. Will follow that up in a later blog post.