Want to install DNN on GoDaddy (but also want it to be easy)? Here's a brief overview of options and a handy tip -- removing subfolder name from URL -- when auto-installing DNN under GoDaddy's "Deluxe" hosting plan...
Multiple Installation Options
With GoDaddy you have multiple installation options. You can go the easy route with the GoDaddy-provided auto-installer or you can chose to perform a manual installation.
Auto-install DNN with GoDaddy's Auto-Installer
The easiest method by far. The downside is that you must start with whatever version of DNN GoDaddy is offering (but you can later upgrade if needed) and all of your site's pages include a subfolder name as part of the URL (but I'll show you how to fix that).
Manual install DNN yourself via GoDaddy Control Panel and FTP
As an alternative to the auto-installer and the related "subfolder-in-the-URL" issue, a number of people have posted information on how to install DNN in the root on a GoDaddy shared hosting plan. There are at least a couple of ways to do this (usually involving, at some point, the manual movement of files from a subfolder to the root). Such methods work perfectly fine but may cause headaches later when it comes time for a major DNN upgrade with changes (additions, actually) to the root. The upside of this approach is that your site is accessible without need for a subfolder name the URL.
I won't cover the manual installation procedure (there's more than one method). Instead, I'll show how to get rid of the unwanted subfolder name in the URL for those who prefer to take the easy way out and use the provided auto-installer.
TIP -- Remove subfolder name from URL in an Auto-Installed DNN site
When using GoDaddy's auto-install feature (installs DNN in a subfolder), you'll need to modify your WEB.CONIG file, your PORTAL ALIAS settings and you'll need to do a bit of domain name trickery (using GoDaddy's online admin console) to get rid of the subfolder name in your site's URL.
Step 1: Domain Name Changes
Do to GoDaddy's default configuration of virtual folders, you'll need to disable your default domain (by changing its asigned name in the GoDaddy control panel) and recreate the domain to point to the DNN subfolder as the domain's root folder. The good news is that this is easy to do. The bad news is that it may take a day or more to accomplish. Why? Because when you change the domain name you need to wait for the change to replicate to the DNS servers before proceeding.
Ok, here we go:
Step 1a: Change your default domain
- Log in to the GoDaddy account manager. In the left-hand menu under "My Products", click on "Hosting" to bring up the list of your hosting accounts.
- In the hosting accounts list, find your DNN website domain and click on "Manage Account" for that domain. This will open a new window with the "Hosting Control Center".
- In the new "Hosting Control Center" window, click the "Your Domains" button (or use the menu options: SETTINGS->DOMAIN MANAGEMENT).
- Now you should see your domain name listed in a table with "status" equal to "Setup Primary". Click the checkbox in from of your domain name, then click the "Change Primary" icon a little above the checkbox you clicked.
- In the "Edit Primary Domain" box that opens, type in a fake domain name. This cannot be a real domain and you'll still want it to be something meaningful. I recommend that you add "-false" to the end to show it is a fake name. For example, if your site is "xyz.com" then you'd change it to "xyz-false.com". Click "OK" after you've typed in your fake domain name.
That's the end of step 1a. It will also soon be the end of web access to your site once the DNS servers drop your real domain name and replace it with the fake name. Don't fret: this is exactly what we want the DNS servers to do. Once your site is no longer accessible on the web (may take up to a day), proceed to step 1b...
Step 1b: Add your "real" domain with a new root folder
- Does your site no longer come up in a browser? Good! Log in to the GoDaddy account manager and go back to the domain management screen for your DNN site.
- Do not click on your "fake" domain name -- we will not do anything more with it. Instead, click the "Add Domain" button near the upper-right corner of the domain name table.
- In the "Add Domain(s)" box that appears, type in your "real" domain name. For example, if your website is "xyz.com" then type in "xyz.com" in the "Domain" field.
- In the "Folder" field, type in the name of the subfolder your DNN site is installed in along with a trailing forward slash. For example, if your site is installed in a folder named "dnn" then type in "dnn/" as your folder.
- Click "OK" to create your new domain reference with the website subfolder set as your site's root folder. Your list of domains should now have your "fake" domain with no folder set as well as your new "real" domain with your site's subfolder set.
Again, as with Step 1b, it may take up to a day for your new domain setting to make its way onto the web. Wait until you are able to (once again) bring up your website (using just the domain name without the folder name) and then move on to Step 2.
Question #1: Why did we just do all of that?
Answer: Because GoDaddy does not allow us to change the default folder setting for the "primary" domain. If GoDaddy allowed this, we could have fixed things in just a few minutes.
Step 2: Portal Alias
Your DNN site should once again be accesible. Now you can browse to it using just the domain name (with no folder name in the URL). Unfortunately, clicking a menu link to any page will once again add the subfolder name into the URL. Steps 2 and 3 will take care of that!
Log into your DNN site and browse to ADMIN->SITE SETTINGS. At the bottom of the page are your Portal Alias settings. Click "Add New HTTP Alias" to add a new alias with the name of the subfolder your copy of DNN is installed in.
Example:
If your site is "www.mywebsite.com" and the subfolder your DNN site is installed in is "mws", then the portal alias you want to add is:
www.mywebsite.com/mws
For good measure, go ahead and add another alias without the leading "www" (mywebsite.com/mws). Do the same without the trailing folder name (mywebsite.com). When you're done you should have the following portal alias entries:
mywebsite.com
www.mywebsite.com
mywebsite.com/mws
www.mywebsite.com/mws
Step 3: WEB.CONFIG
Within the "appsettings" section, find the "HostHeader" key (do a text search for "hostheader"). Set the value to be the name of the subfolder containing your auto-installed copy of DNN.
Example:
If you installed DNN into subfolder "mws" then the "HostHeader" entry in WEB.CONIG should be
< add key="HostHeader" value="mws/" >< /add >
Be sure to include the trailing slash at the end of your subfolder name. Also note that I've added an extra space just after each "<" and before each ">" so you'll want to remove those if you copy-and-paste.
That's it -- you should now be able to browse your site without having the subfolder name appearing in the URL.
Hopefully this will help those already on GoDaddy servers as well as those just starting out. To be honest, once I knew how to get around a few basic limitations, I have experienced very few issues with GoDaddy-hosted DNN sites. Compared to some good "DNN-friendly" hosts, GoDaddy certainly required a bit more effort to figure things out. I must admit, though, that the low monthly hosting fees have proven to be an ongoing benefit.