Installing DotNetNuke 4.8.0 Locally 

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. for Vista information please view my video tutorial.  This guide is my fifth revision and includes additional steps and information based on feedback from previous users. 

Prior to following this instruction guide please ensure that you have downloaded the "install" version of DotNetNuke 4.8.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 Express 2005 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, 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 Express Database instance running on your machine that has been configured for mixed-mode authentication and to allow external connections.  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".

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 deducated 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 to use that method as it provides for more complex administration items 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), (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 DotNetNuke47 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 "DotNetNuke48". 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.8.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.
    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.

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 DotNetNuke48 listed
    IIS Directory Settings
  5. 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
  6. Now, switch to the "Directory Security" tab
  7. Click "Edit" in the "Anonymous access and authentication control"
  8. Ensure that a checkmark is included in the "Anonymous Access" box at the top of the screen then click "Ok" to exit
  9. Now switch to the "ASP.NET" tab and ensure that "2.0.50727" is selected for the ASP.NET version
  10. 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!

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/dotnetnuke48/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.

This walks you through the entire setup process to get a local copy of DotNetNuke working with 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 Wednesday, January 16, 2008
 

Comments

Hmm, everything installing without any problems, but on the end, configuring the IIS-server, it fails.

I get a 404-error, page cannot be found. Must I make a virtual directory (so the original manual says) or do I maybe something else wrong?

By Roland on Monday, February 04, 2008 at 10:05 PM

If you are installing to the root of a website it is just fine to install, but your links will be different to get to the install page

Also if you are on windows 2003 server, ensure in the web extensions that the "Check file exists" option is NOT checked!

By mitchel.sellers@gmail.com on Tuesday, February 05, 2008 at 6:08 AM

Thanks for your answer Mitchel, I've got it.

In IIS on my Windows 2003 Server, I looked to the Web Service Extensions, and I set the ASP.NET parameter to ALLOWED. Just a try...and it works!

Maybe you can write this at the end of the manual? I don't know if this happens on every installation of DNN...

Many thanks for the quick answer and (of course) the great and complete manual for the installation. Greetings from the Netherlands!

By Roland on Tuesday, February 05, 2008 at 11:19 PM

I will make a note to add this to the next revision of this tutorial.

By mitchel.sellers@gmail.com on Wednesday, February 06, 2008 at 5:16 AM

I managed to get this all working and it's pretty straightforward, with the exception of the connection string. I tried the method in the article, and I get an error connecting to the SQL Server. I enables TCP/IP and Named Pipes on the SQL Server to no avail. I finally got it to work using the DNN install doc, but I still don't think something is correct.

On a couple of modules, media and event to be exact, I continually get errors that I cannot open the databse file, that it already exists, permissions, etc.

Any tips?

Cheers
Dave

By colby-dnn on Thursday, February 07, 2008 at 6:41 AM

Dave,

I would ensure that both connection string values are the same. The one in the ConnectionStrings section and the one in the AppSettings section.

By mitchel.sellers@gmail.com on Thursday, February 07, 2008 at 6:57 AM

Mitchel,

Here are my connection strings that work (sort of):

<connectionStrings>
<!-- Connection String for SQL Server 2005 Express -->
<add name="SiteSqlServer" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|database.mdf" providerName="System.Data.SqlClient" />


<appSettings>
<!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules -->
<add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|cc316.mdf;uid=xxxxx;pwd=xxxxx" />

When I set them both to the same, I get this right from the start:

An attempt to attach an auto-named database for file c:\inetpub\wwwroot\ccc316\App_Data\cc316.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

Now the database does not exist there because I created it from SSMSE and it exists in the data directory under program files. Should this be moved?

By colby-dnn on Thursday, February 07, 2008 at 7:35 AM

You should switch your connection strings away from the dynamic attachment format, to the format specified in the guide that designates a specific Database that exists on your server.

If you need further assistance, please move this discussion to my forum.

By mitchel.sellers@gmail.com on Thursday, February 07, 2008 at 8:34 AM

Excellent tutorial.

How do I get past this error?
Line 31: Namespace YourCompany.Modules.$fileinputname$

By Bill Swanson on Saturday, February 23, 2008 at 2:18 PM

It sounds like you have a custom module that is creating errors.

By mitchel.sellers@gmail.com on Saturday, February 23, 2008 at 2:23 PM

Hi,
I just finished your tutorial and all went well with the exception of one error. At the end, when i run the "http://localhost/dotnetnuke48/install/install.aspx" address in IE, i get an error message that says "Failed to access IIS metabase" im not sure what this means. Thanks in advance,

Jonathan

By Jonathan on Friday, March 07, 2008 at 4:54 PM

Jonathan,

That error is caused when you have installed IIS after ASP.NET. There are 2 simple commands that you have to run to fix it.

If you can make a post in the forum I'll get you going, I just want to try and keep the comments here clean from individual troubleshooting issues.

By mitchel.sellers@gmail.com on Saturday, March 08, 2008 at 8:07 AM

Great tutorial. But I still get an XML can't be displayed as XSL error:Cannot view XML input using XSL style sheet.

By Tena on Wednesday, May 14, 2008 at 5:07 AM

The Vista video tutorial has a memory leak and crashes my computer. Can you post the video tutorial in an mpeg or quicktime format?

By Rob on Wednesday, May 21, 2008 at 6:28 PM

Rob,

I have just been made aware of this issue.

I am working to acquire a better application for recording video tutorials. As soon as I get this done I will update that tutorial, as well as get more tutorials published as I havebeen promising.

By mitchel.sellers@gmail.com on Thursday, May 22, 2008 at 4:45 AM

When I try to access http://localhost/dotnetnuke/default.aspx, I get 403 error access forbidden. Can anyone help?

Thanks,
Xaisoft

By Xaisoft on Friday, June 06, 2008 at 10:21 AM

Xaisoft,

Please post in the forums for assistance

By mitchel.sellers@gmail.com on Friday, June 06, 2008 at 12:37 PM

I follow your instuction and still couldn't get DNN 4.8.4 to work. Please the error I get. If I change debug mode to true I would get another after that. Please advice. I am new to DNN. Appreciate any help I can get.

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:

1. Add a "Debug=true" directive at the top of the file that generated the error. Example:

<%@ Page Language="C#" Debug="true" %>

or:

2) Add the following section to the configuration file of your application:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.

Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable(String name) +1093
System.Web.Hosting.ISAPIWorkerRequest.GetServerName() +15
System.Web.HttpRequest.get_Url() +283
DotNetNuke.Common.Initialize.RunSchedule(HttpRequest request) +24
DotNetNuke.Common.Global.Global_BeginRequest(Object sender, EventArgs e) +47
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433


After change debug to True:

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 101:
Line 102: 'run schedule if in Request mode
Line 103: Initialize.RunSchedule(Request)
Line 104:
Line 105: End Sub


Source File: C:\Inetpub\wwwroot\dnn484\App_Code\Global.asax.vb Line: 103

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable(String name) +1093
System.Web.Hosting.ISAPIWorkerRequest.GetServerName() +15
System.Web.HttpRequest.get_Url() +283
DotNetNuke.Common.Initialize.RunSchedule(HttpRequest request) +24
DotNetNuke.Common.Global.Global_BeginRequest(Object sender, EventArgs e) in C:\Inetpub\wwwroot\dnn484\App_Code\Global.asax.vb:103
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64


By Peter on Wednesday, September 10, 2008 at 10:47 AM
Click here to post a comment

Disclaimer