September 11, 2008

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 Download SSMS from Microsoft.)
  • 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!

tags: Tutorials, DNN Install/Upgrade
comments powered by Disqus

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Content Copyright

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.