With the first full release of DotNetNuke 5.0 most likely coming sometime in the very near future I thought it was about time for an update to my standard DotNetNuke installation guides. This installation guide is geared towards local installation on a Windows XP or Windows Server 2000-2004 server. Installation on Vista or Server 2008 is slighly different when it comes to the IIS portion of the installation. This guide is the ninth total revision of my installation tutorials and contains many new updates and recommendations to prevent users from experiencing difficulties when installing. This tutorial still uses the "Automatic" installation process, this is done to help encourage the creation of a more secured DotNetNuke installation by disabling AutoUpgrade and other features that are not yet configurable via the Installation Wizard. If enough demand is shown, I can create a tutorial for the installation wizard as well.
Prior to following this instruction guide please ensure that you have downloaded the "install" version of DotNetNuke 5.0.0 from http://www.dotnetnuke.com. At this time only the Release Candidate version is available, but the full version will be coming sometime soon. 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. (or similar SQL Server version). 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. For more information on why I don't like dynamically attached databases please see my Why Dynamically Attached Databases Can Cause Problems article. 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 existing empty 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 DotNetNuke500 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.
- Using windows explorer navigate to c:\inetpub\wwwroot, then right click and select "New" -> "Folder" and create a folder called "DotNetNuke500". This folder will become the install directory for DotNetNuke
- Right click on your newly created folder and select "Sharing and Security"
- 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
- Click "Add.."
- In the textbox type ASPNET if on Windows 2000/XP or NETWORK SERVICE if on Windows 2K3/Vista, then press ok
- Under permissions for this account check the box for full control, then press "Ok" to save the changes
- Open the DotNetNuke 5.0.0 Install Zip package
- Select "Extract All Files/Folders"
- For the extraction location select the folder you created in step 1
- Once all files have been extracted you need to edit the "Web.config" file located in the root of the DotNetNuke folder
- 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 all editions of SQL Server. 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.
- Also inside the web.config look for a setting called <add name="AutoUpgrade" value="True" />, change the value on this to "False"
- Lastly inside the web.config look for a setting called <add name="UseInstallWizard" value="True" />, change the value on this to "False"
- 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)
- 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.
- Open the IIS Snap-In tool, this can be found via "Start" -> "Settings" -> "Control Panel" -> "Administrative Tools" -> "Internet Information Services"
- Expand the root notes until you can expand the "Default Web Site" node
- You should see your application folder (DotNetNuke500) listed under the "Default Web Site", right click on the folder and select "Properties"
- On the first tab, click the "Create" button next to the application name, you should then see DotNetNuke500 listed (NOTE: image from an older version of the guide)
- 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.
- 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.
- Now, switch to the "Directory Security" tab
- Click "Edit" in the "Anonymous access and authentication control"
- Ensure that a checkmark is included in the "Anonymous Access" box at the top of the screen then click "Ok" to exit
- Now switch to the "ASP.NET" tab and ensure that "2.0.50727" is selected for the ASP.NET version
- 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/dotnetnuke500/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!