This is the first of what I hope will become a series of tips focused on DNN hosting providers. I'm not advocating any particular provider (there are plenty of good ones). I'm simply sharing operational tips regarding various providers I've dealt with when setting up DNN sites for clients. Hopefully these tips will save others some time and a few headaches when setting up their own DNN sites in shared hosting environments...
What's a good DNN host?
If you're here to find out if Network Solutions (NS) is a better host than some other provider then I'll have to dissapoint you because that's not the purpose of this post. I will tell you that Network Solutions is a relative newcomer to hosting DNN via automated installation script (this option has been available for less than two years at the time of this posting). Also, Network Solutions currently only offers hosting under DotNet framework 2.0 even though version 3.5 was released well over a year ago. EDIT 7-7-2009: Network Solutions now provides the .Net 3.5 framework as the default option. Read more, here. Fortunately DNN still only requires the 2.0 framework though some third-party modules/components are starting to require 3.5.
On the plus side, NS allows direct, external connections to your shared-hosting SQL Server 2005 database (are you listening, GoDaddy?!?). This means you can do (some) DB management via MS SQL Server Management Studio instead of using some clunky web DB interface. As of this posting, NS offers DNN 4.9.0 as its auto-installed version (you can also install DNN manually if you prefer). Hosting prices are generally competitive with other major providers.
Network Solutions is not a "DNN-centric" provider so, if you need a lot of hand-holding regarding DNN, you may want to look elsewhere. That's about all I'm going to say on the subject of "is a good / is not a good" hosting provider. Now for the tips...
Manual Install or Auto-Install?
With NS you can go either way. Choosing to auto-install doesn't limit you in any real sense as it does with some providers. The main difference is that auto-installed sites are placed in a subfolder while a manually-installed site must be placed in the root folder.
"Subfolder? No way!" you might be thinking. A subfolder means your site must be accessed using the subfolder name as part of the URL...ugh! For instance, if I auto-installed a site named "www.mywebsite.com" and chose "mws" as the folder, my DNN website homepage URL would resolve to "www.mywebsite.com/mws" and every single webpage would have "mws" in the path. Not cool.
Those with a little more experience with DNN already know that you can get around this issue and make your site appear as though it's installed in the root folder. This brings us to tip #1...
TIP #1 -- Remove subfolder name from URL in an Auto-Installed DNN site
When using Network Solution's auto-install feature (installs DNN in a subfolder), you'll need to modify both your WEB.CONIG file and your PORTAL ALIAS settings to get rid of the subfolder name in your site's URL.
Step 1: Portal Alias
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 2: 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.
TIP #2 -- Accessing your auto-installed DB
I already mentioned that NS allows you to remotely log into the shared-hosting database for direct data access. To find the login info for your auto-generated database, check the DB settings in the WEB.CONIG file (that you edited in Tip #1). Look for the line following the comment "< !-- Connection String for SQL Server 2000/2005 -- >". The next line should have a "connectionstring" attribute that shows you the values of the server name (Server), the database name (Database), the user id (uid) and the password (pwd). Use these values when connecting to the database server.
Now, just because you can directly connect to your database don't start thinking you're in complete control. Your access rights are limited so you won't be able to use SQL Management Studio to directly perform backups, generate scripts of the database, etc. You also cannot COPY your hosted database to down to your local box (though you can certainly spend 20 minutes trying and waiting for it to fail). Instead, you'll need to rely on using the provider's website backup and database backup features (in the Network Solutions' Account Manager web panel). Note that you can download a backup copy of your database (for long-term storage and/or so you can run a local test copy of your site) but you cannot upload and restore an edited copy of the database. You can only restore unedited versions of your database.
Looking past the backup/restore limitations imposed by NS, you can use SQL Management Studio to edit live data in existing tables, create new tables, create stored procedures, etc, so it's still quite a step up from being forced to use a host-provided web interface for your DB.
TIP #3 -- Running Multiple DNN Instances(?)
The basic NS Windows hosting plan has some limitations. You do get two SQL Server databases but....you can only run one dotnet-based site per account. There is an exception, though: if you use the auto-install feature to create a DotNetNuke site then the subfolder will get its own operational space independant of the root folder. In theory this means you could run one dotnet-based site in a subfolder and a different dotnet-based site in the root (or in another subfolder). I have not attempted this nor have I encountered anyone who has so try it at your own risk... UPDATE on 3-23-2009: Chuck Self reports that he has witnessed a root DNN site and subfolder DNN site run at the same time on NS. See "Comments" section, below.
Final Note: You win this time, Chuck Self....
My final note regards a nice posting by another DNN consultant, Chuck Self of NarrowGate Solutions. I do not know Chuck but it seems he recently had the same idea to post helpful DNN-related hosting provider tips...only he did it a week before I did. In fact, Chuck posted a well-polished 30-page PDF covering installation of DNN on....Network Solutions. (Drat! I swear I started my "tips" post before running across Chuck's...*sigh*)
Chuck put a bit more effort into things and provided a full walkthrough (with screenshots) on setting up a DotNetNuke site using the Network Solutions auto-installer. Chuck diverged from my tips a bit with regards to getting rid of the subfolder name in the URL. Chuck advocates moving the entire site from the subfolder to the root folder while I believe it's sufficient (even for SEO) to simply use the provided configuration setting in "WEB.CONIFG".
Chuck goes even further by giving some initial DNN configuration tips which could be very helpful to first-time DNN admins. Check out Chuck's posting and very handy PDF guide at the following SEO-friendly but oh-so-long URL:
http://dotnetnuke.narrowgatesolutions.com/Blog/tabid/289/articleType/ArticleView/articleId/4/Successfully-Installing-DotNetNuke-on-a-Network-Solutions-Hosting-Package.aspx
Comments?