Installing DotNetNuke 4.9.0 Locally (Non-Vista) 

Installing DotNetNuke can be somewhat difficult at times, therefore I am writing this article to give you a full step by step guide to installing DotNetNuke on a Windows XP Pro system. The instructions are similar for Windows 2000 but might vary slightly, I have tried to note as many differences as possible. Windows Vista installation is similar but requires a few different steps relating to IIS.  This guide is my eighth revision and includes additional steps and information based on feedback from previous versions.  Additionally a few new instructions and notes have been provided for users installing on Windows 2003 Server to address a few common "stumbling blocks" that have prevented successful installations.

Prior to following this instruction guide please ensure that you have downloaded the "install" version of DotNetNuke 4.9.0 from http://www.dotnetnuke.com. You can save the zip file to your desktop for the time being.  You will also need to have SQL Server 2005 or SQL Server 2005 Express installed and correctly configured to allow mixed-mode authentication.  You can use windows authentication only, however, that configuration is NOT discussed in this article. (Other SQL Server versions work (2000 & 2008), but these instructions might not match 100% if using something other than 2005). You must also be logged into your machine with administrative permissions.

The setup will be broken into the following 4 sections; pre-requisites/disclaimer, creating the needed SQL Serveer database and user account, unzipping DNN and configuring the web.config file, and finally setup of the virtual directory and starting DotNetNuke.

Pre-Requisities / Disclaimer

Before we start with the tutorial I would like to start by explaining what will be covered and what must be configured PRIOR to using this guide.  This guide assumes that you have a SQL Server 2005 or SQL Server 2005 Express instance running on your machine that has been configured for mixed-mode authentication and to allow external connections.  If you have not yet done these two steps, both can be enabled via the Surface Area Configuration options.  This guide also assumes that you have IIS and ASP.NET 2.0 installed and correctly enabled.  The last assumption that is made with this tutorial is that you have "simple file sharing" turned off for your Windows installation.  This can be completed by adjusting the setting under "Folder Options" from Windows Explorer.

If you have any concerns regarding any of these items, please post a question in my support forum as these items all must exist and be configured properly as a baseline before this guide can walk you through the DNN installation.  Incorrect cofiguration of any pre-requisites will cause unreliable error messages and will make for a longer troubleshooting process.

Creating SQL Server Database

The first step of this process is to create a dedicated SQL Server database for your DotNetNuke installation.  DotNetNuke by default is configured to dynamically attach a database to your SQL Server Instance, I do NOT recommend using that method as it provides for more complex administration in the future.  The below steps will guide you through the creation of a new database for usage by DNN.  If you want to install DotNetNuke inside of another database you can skip these steps as long as you know the connection information to the existing system.

  • Start SQL Server Management Studio Express (SSMSE) (Full version if working with non-express editions), (if you don't have this please install it from here.)
  • Once SSMSE has opened, please note the "Server Name" of the server that you are connecting to, this is the full text of the information in that field. 
  • Once you have connected and opened the utility you will want to expand the node for your server name as located in step 2
  • Right Click on the "Databases" node and select "Create New Database"
  • Specify a name for your database, I will use DotNetNuke490 for this example, then click create 
  • Now expand the "Security" node, then right click on "Logins" and select add
  • Provide the information for the dnn account, be sure to select "SQL Server Authentication" and remember the password. (If SQL Server Authentication is not available see this to enable mixed mode on your server) 
  • Now select "User Mappings" and check the box next to your newly created database at the top, then select the "dbowner" role from the listing at the bottom, this maps the account to have full access to your database. 
  • Click "Create" to have your user account created. Once this is completed you are now done with the databse setup. Please remember the database server name from step two and the username and password used to create the SQL Server account as we will be using this in the next section

Unzipping and Configuring DotNetNuke

All files from the DotNetNuke install zip must be extracted to a common folder, typically this folder is created as a sub directory of C:\inetpub\wwwroot. The instructions below will be based on installation to this location, if you desire to install DotNetNuke at a different location simply substitute your folder path anytime it is referenced in the below instructions.

  1. Using windows explorer navigate to c:\inetpub\wwwroot, then right click and select "New" -> "Folder" and create a folder called "DotNetNuke490". This folder will become the install directory for DotNetNuke
  2. Right click on your newly created folder and select "Sharing and Security"
  3. Switch to the security tab, if you do not see the "Security" tab, you will need to disable the "Use Simple File Sharing" option in your Folder View Options. For assistance with turning off simple file sharing please visit the forums
  4. Click "Add.."
  5. In the textbox type ASPNET if on Windows 2000/XP or NETWORK SERVICE if on Windows 2K3/Vista, then press ok
  6. Under permissions for this account check the box for full control, then press "Ok" to save the changes
  7. Open the DotNetNuke 4.9.0 Install Zip package
  8. Select "Extract All Files/Folders" 
  9. For the extraction location select the folder you created in step 1
  10. Once all files have been extracted you need to edit the "Web.config" file located in the root of the DotNetNuke folder
  11. Modify the circled sections of the web config, you will need to set this up to connect to your database, so substitute your values for "Server", "Database", "uid", and "pwd".  This format of connection string will work for both SQL 2000 and SQL Express.  You may use other valid connection string settings, you may visit http://www.connectionstrings.com for assistance with other formats NOTE: be sure to use your proper values for the connection string, this image is for example purposes only and is from an older version of this guide, thus the different database name.  Be careful when editing this information to ensure that you edit the ACTIVE connection string and not one that is commented out.
    Connection String Values to Change
  12. Also inside the web.config look for a setting called <add name="AutoUpgrade" value="True" />, change the value on this to "False"
  13. Lastly inside the web.config look for a setting called <add name="UseInstallWizard" value="True" />, change the value on this to "False"
  14. If you desire you can specific ObjectQualifier and DatabaseOwner values in the DataProvider section of the web.config to isolate the tables and procedures on this installation.  (This is only recommended if you intend on installing two DNN sites to 1 database)
  15. Save the modified document

The above finishes the actual configuration of the DotNetNuke file system first we created the needed directory, then we assigned the proper file permissions, then we configured the web.config file to not only connect to the database but to also do some preventative settings changes to secure the site.  The changes to AutoUpgrade and UseWizard are to ensure that you are the individual that triggers the installation and to bypass the wizard since we have configured the web.config.  These changes also help prevent issues with future site upgrades to ensure that upgrades are not accidentally triggered.

Setup Virtual Directory and Start DotNetNuke

Now that we have the database and file system setup we will proceed to the final step of setup, configuring IIS to host your website.

  1. Open the IIS Snap-In tool, this can be found via "Start" -> "Settings" -> "Control Panel" -> "Administrative Tools" -> "Internet Information Services"
  2. Expand the root notes until you can expand the "Default Web Site" node
    IIS Default Web Site View
  3. You should see your application folder listed under the "Default Web Site", right click on the folder and select "Properties"
  4. On the first tab, click the "Create" button next to the application name, you should then see DotNetNuke490 listed
    IIS Directory Settings
  5. If you did not place DNN inside the C:\inetpub\wwwroot folder, you will need to right click on 'Default Web Site" and select "New" -> "Virtual Directory", then simply select the folder location, and continue to step 6.
  6. Now, switch to the "Documents" tab. Remove all current entries and add "Default.aspx" to the listing. Your window should look like the following when complete.
    IIS Documents Settings
  7. Now, switch to the "Directory Security" tab
  8. Click "Edit" in the "Anonymous access and authentication control"
  9. Ensure that a checkmark is included in the "Anonymous Access" box at the top of the screen then click "Ok" to exit
  10. Now switch to the "ASP.NET" tab and ensure that "2.0.50727" is selected for the ASP.NET version
  11. Click "Ok" to save your changes and complete the IIS setup

This now completes the IIS setup. NOTE: If you are using Windows Vista the above steps are much different, please view my video tutorial for a step by step walk-through of the Vista IIS setup. I will work to get a text based tutorial for Vista up soon!

If you were NOT able to select ASP.NET 2.0.50727 you MUST install the .NET 2.0 framework before you continue!!

Now that we have everything configured it is time to start the installation process, you can do this by opening Internet Explorer and navigating to "http://localhost/dotnetnuke490/install/install.aspx". This should trigger the DNN installation process, if you are directed towards the "UnderConstruction.htm" page simply try navigating to the install page a second time, I have noticed a sporadic bug in DNN that causes this to occur in special circumstances.  Once the installation is completed you should see a link that says "Click here to access your portal", once you click this link you will have your new site up and going. Be sure that you click on this link, if you do not it is possible that your DNN portal alias will be configured incorrectly.

If you are on Windows Server 2003 and receive a 404 error when trying to install, validate under "Web Server Extensions" that ASP.NET 2.0 is Allowed and not Prohibited.  Some cases of installations on Win 2K3 server had resulted in errors due to this configuration.

This walks you through the entire setup process to get a local copy of DotNetNuke working with SQL Server 2005 or SQL Server 2005 Express, for installation on a hosting provider please see my other tutorials.

If you have any comments please leave them below, if you have any trouble and need assistance please utilize my forum to request assistance!

Posted by Mitchel on Thursday, September 11, 2008
 

Comments

I had to set the web site's IIS properties (directory tab) to allow 'script source access' and to also allow 'script and executables' in the execute perm drop down. Otherwise, I was getting a 'This site is under construction' message when I would try and go to install.aspx.

By Ryan Constantine on Monday, September 15, 2008 at 8:04 PM

A name was started with an invalid character. Error processing resource 'file:///E:/DNN490/Install/install.aspx'. Line 1, ...

<%@ Page language="vb" AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.Services.Install.Install" CodeFile="I...


this was the error which i encountered when i tried to install dnn

what shud i do....i followed all ur instructions...

By sinjo on Wednesday, September 17, 2008 at 10:01 PM

Thanks Mitchel - that was a life saver, the install that DotNetNuke explains how to do in it's documentation just doesn't seem to work...

Or at least I couldn't make it work... it always hung when you hit visit portal after installation... spent all day yesterday trying to get it to work.

Anyway all working now - MANY thanks!!!

By Wayne Theisinger on Wednesday, September 17, 2008 at 11:05 PM

Hi Mitchel, great article...it really comes in handy. One thing you may want to add (since I've seen this pop up for quite a few people) is a way to handle a successful install that results in 403 errors when accessing the page the first time. To fix this error on my local install I went into the PortalAlias table and removed the trailing "/install" from the default alias. After that I still had issues with IE and Chrome (too many redirects, error 413, I believe), but Firefox was able to get in (I think I may have had to use http://localhost/DNN/default.aspx?tabid=36 however) so I added another alias for my local static IP address. Both IE and Chrome could then log in no problems.

It seems like there is a slight issue with the installer finishing up the alias table on some systems.

By Michael Kizer on Saturday, September 20, 2008 at 6:10 AM

Hi, I followed the installation guide above but gets an Server Error: The stored procedure 'dbo.GetPortalAliasByPortalID' doesn't exist.

Does anyone knows whats could be wrong?

By Magnus Holmberg on Tuesday, September 23, 2008 at 12:24 AM

Magnus - make sure your db login / user is part of the db_owner role.

By Tom Kraak on Monday, September 29, 2008 at 4:06 PM

I tried to follow all the configurations for DotNetNuke and at the end when I try to open install.aspx sometimes it gives me >>This Site is currently unavailable<< and sometimes it gives me error that it cannot acces to the web.config file to check if I have disabled file sharing, and I already done that. What can be the rpoblem here?

By Vera on Tuesday, December 09, 2008 at 5:10 AM

Vera,

Please post to the forums for assistance

By mitchel.sellers@gmail.com on Tuesday, December 09, 2008 at 5:18 AM

I have the same problem as Vera I checked the permissions reinstalled to different directory location still the same. Any Ideas?

By Clay on Tuesday, December 23, 2008 at 7:46 AM

I had the same problem as Michael Kizer had and I have removed the trailing "/install" from the default alias, and run used the Firefox to browse and it gives the following error:
Redirect Loop
Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
The browser has stopped trying to retrieve the requested item. The site is redirecting the request in a way that will never complete.
* Have you disabled or blocked cookies required by this site?
* NOTE: If accepting the site's cookies does not resolve the problem, it is likely a server configuration issue and not your computer.
Any Idea???
Can someone please help.

By Imran on Thursday, February 05, 2009 at 5:40 PM

I am new to the DNN and have been trying to get it work for me on my localhost, but have so far failed at one location or the other.
I have strictly followed the instructions in this guide to install the DotNetNuke4.9.1 and was able to reach till I saw the button "Click here to access your portal". When I clicked this button now I am confronted with the problem as given below:

DotNetNuke Error: - Version 04.09.01

--------------------------------------------------------------------------------


Domain Name localhost/dotnetnuke491 Does Not Exist In The Database

DotNetNuke supports multiple portals from a single database/codebase. It accomplishes this by converting the URL of the client browser Request to a valid PortalID in the Portals database table. The following steps describe the process:


Web Server Processing

When a web server receives a Request from a client browser, it compares the file name extension on the target URL resource to its Application Extension Mappings defined in IIS.
Based on the corresponding match, IIS then sends the Request to the defined Executable Path ( aspnet_asapi.dll in the case of ASP.NET Requests ).
The aspnet_isapi.dll engine processes the Request in an ordered series of events beginning with Application_BeginRequest.
HttpModule.URLRewrite OnBeginRequest ( UrlRewriteModule.vb )

The Request URL is parsed based on the "/" character
A Domain Name is constructed using each of the relevant parsed URL segments.

Examples:

URL: http://www.domain.com/default.aspx = Domain Name: www.domain.com
URL: http://209.75.24.131/default.aspx = Domain Name: 209.75.24.131
URL: http://localhost/DotNetNuke/default.aspx = Domain Name: localhost/DotNetNuke
URL: http://www.domain.com/virtualdirectory/default.aspx = Domain Name: www.domain.com/virtualdirectory
URL: http://www.domain.com/directory/default.aspx = Domain Name: www.domain.com/directory
Using the Domain Name, the application queries the database ( PortalAlias table - HTTPAlias field ) to locate a matching record.

Note: If there are multiple URLs which correspond to the same portal then you can add multiple records to the PortalAlias table pointing to the same portal (PortalId).

Note: If you are installing the application to a remote server you must modify the HTTPAlias field value for the default record in the PortalAlias table according to the rules defined above.

I have installed it in "http://localhost/dotnetnuke491/Default.aspx" any help to resolve it will be appreciated.
TIA

By Tanveer Malik on Friday, February 06, 2009 at 1:17 AM

Comments from the following blog entry: Installing and Upgrading to Most Current DNN Versions, located at: http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/294.aspx

By Mitchel's Personal Web Portal on Wednesday, February 18, 2009 at 10:51 AM

Hi Mitchel, after struggling for several hours with this installation I've found your site and with this guide I've managed to get my site up and running in 15 minutes!

Thanks

By Derek De Witte on Friday, March 13, 2009 at 3:12 AM

If you encounter an error like this:

Access to the path 'c:\inetpub\DotNetNuke434\Portals\_default\03.00.08.txt' is denied.

during the installation, go to your website folder, (c:\inetpub\DotNetNuke434 in my case), and grant Modify rights to the ASPNET and IUS_computername users. You may have to delete the database and all DNN files and start the installation fresh too.

After a successful install you can (should) remove the "Modify" rights.

I struggled quite a while with this issue. Unless DNN resolves this somehow you might want to add this to your guide Mitchell.

By PatrickR on Tuesday, April 14, 2009 at 6:37 AM

Thank you so much for your detailed article on installing DotNetNuke. I was able to get up and running quickly owing to you! Did have the following issue: "The stored procedure 'dbo.GetPortalAliasByPortalID' doesn't exist" which required db_SecurityAdmin role.

By Linda on Monday, September 07, 2009 at 7:10 AM

Hi Mitchel,

I have installed dnn 4.9.0 and everything was intalled correctly until i clicked "Click here to access your portal", it didnt go to new site like it usually does but to an error page - Domain Name 210.247.213.6/holiday Does Not Exist In The Database ... i dont know how to proceed from this point onwards. please advice. thanks.

By Nitha on Sunday, January 31, 2010 at 6:41 PM

I have got the below error:

DotNetNuke Error

--------------------------------------------------------------------------------


Domain Name Windows Server 2008 Does Not Exist In The Database

DotNetNuke supports multiple portals from a single database/codebase. It accomplishes this by converting the URL of the client browser Request to a valid PortalID in the Portals database table. The following steps describe the process:


Web Server Processing

When a web server receives a Request from a client browser, it compares the file name extension on the target URL resource to its Application Extension Mappings defined in IIS.
Based on the corresponding match, IIS then sends the Request to the defined Executable Path ( aspnet_asapi.dll in the case of ASP.NET Requests ).
The aspnet_isapi.dll engine processes the Request in an ordered series of events beginning with Application_BeginRequest.



HttpModule.URLRewrite OnBeginRequest ( UrlRewriteModule.vb )

The Request URL is parsed based on the "/" character
A Domain Name is constructed using each of the relevant parsed URL segments.

Examples:

URL: http://www.domain.com/default.aspx = Domain Name: www.domain.com
URL: http://209.75.24.131/default.aspx = Domain Name: 209.75.24.131
URL: http://localhost/DotNetNuke/default.aspx = Domain Name: localhost/DotNetNuke
URL: http://www.domain.com/virtualdirectory/default.aspx = Domain Name: www.domain.com/virtualdirectory
URL: http://www.domain.com/directory/default.aspx = Domain Name: www.domain.com/directory


Using the Domain Name, the application queries the database ( Portals table - PortalAlias field ) to locate a matching record.

Note: If there are multiple URLs which correspond to the same portal then the PortalAlias field must contain each valid Domain Name in a comma seperated list.

Example:

URL: http://localhost/DotNetNuke/default.aspx
URL: http://MACHINENAME/DotNetNuke/default.aspx
URL: http://209.32.134.65/DotNetNuke/default.aspx
PortalAlias: localhost/DotNetNuke,MACHINENAME/DotNetNuke,209.32.134.65/DotNetNuke

Note: If you are installing the application to a remote server you must modify the PortalAlias field value for the default record in the Portals table according to the rules defined above.

I have follow all the steps provided in your article, but I still face the same issue.

Please help me out for it solution.

Regards,
Mahesh

By Mahesh on Wednesday, August 11, 2010 at 8:47 AM
Click here to post a comment

Disclaimer