DoNetNuke DNN Setup and IIS Security Permissions

Website Developer Sydney

How to Install DotNetNuke (DNN)
by Erin Burns | .NET, DotNetNuke (DNN)
DNN is a free open source .NET content management system (CMS). Like any CMS, users can easily manage site content and users, as well as develop and install custom themes and extensions (similar to WordPress “plugins”). The system requirements for DNN are as follows:

Operating Systems

Windows 8, 8.1, 10
Windows Server 2008 R2, 2012 R2
.NET Framework

Web Server

Microsoft IIS 7.5, 8.0, 8.5, 10
Database Server

Microsoft SQL Server 2008 R2, 2008 Express R2, 2012, 2012 Express, 2014, 2014 Express, 2016 (for DNN 8.0.4+)
Microsoft Azure SQL Database
In this tutorial, I am using Windows 10, Microsoft IIS 10, Microsoft SQL Server 2014 Express and DNN Platform 9, and I am assuming you already have your database server set up. If your system is different (e.g. Microsoft Azure SQL Database), the installation process below is still the same.

1. Download the Install package
Download the package for the latest release from github.

DnnInstall 1a DownloadZip 1024x365

You can also download the latest install package directly from DNN’s website – be sure to scroll down and select the Install Package download option.

DnnInstall 1 DownloadZip 1024x406

2. Extract the files
Go to your Downloads folder and find the zip file. Right click the zip file, select Properties, then check Unblock and click Apply. This marks the file as trusted and ensures all the content is extracted and accessible.

DnnInstall 2 ExtractFiles Unblock

Next, create the directory for the website. I am using D:\Tutorials\DnnTutorial. Now copy and paste all the extracted files and folders from the zip file into your new website directory.

3. Configure IIS
To install IIS (or to confirm you have the appropriate settings configured), select Turn Windows Features on/off in the Control Panel, and turn on the following options below Internet Information Services:

Web Management ToolsIIS 6 Management CompatibilityIIS 6 Management Console
IIS Metabase and IIS 6 configuration compatibility
IIS Management Console
World Wide Web ServicesApplication Development Features.NET Extensibility 3.5
.NET Extensibility 4.6
ISAPI Extensions
ISAPI Filters
WebSocket Protocol
Common HTTP FeaturesDefault Content
Static Content
Health and DiagnosticsCustom Logging
Performance FeaturesDynamic Content Compression
Static Content Compression
SecurityBasic Authentication
Request Filtering
Windows Authentication
Once IIS is configured, you need to create the site. Open IIS, right click Sites and select Add Website.

DnnInstall 3a IIS CreateSite

Use for the Site and Host names. Enter or select the website directory you created in step 2 for the Physical Path. Click OK.

DnnInstall 3b IIS CreateSiteSettings

4. Grant File Permissions
You may or may not have noticed that an Application Pool was automatically created with the same name as the website we just created. We need to grant this Application Pool access to our website directory.

DnnInstall 3c IIS AppPool

In File Explorer go to your website directory, right click the folder, select Properties, select the Security tab, then click Edit.

DnnInstall 4a FolderSecurity

Click Add

DnnInstall 4b FolderSecurity Add

Now we need to enter the name of the Application Pool – in our case, we need to enter iis apppool\ Please note that there are three p’s in that name.

DnnInstall 4c FolderSecurity AddAppPool

Click Check Name to ensure it resolves to our Application Pool, then click OK. (If you are on a domain, you may need to change the Location field from the domain to your computer).

DnnInstall 4d FolderSecurity AddAppPool CheckNameSuccess

After that, select from the Groups and Users list, check Modify permissions, and click Apply. Close out of the remaining windows.

DnnInstall 4e FolderSecurity AddAppPool ModifyPermissions

5. Setup the Database
Now we are going to create a new database and login credentials. Open up your database server, right click on Databases and select New Database. Enter your Database Name and Owner, then click OK. You will need the Database Name later in this step and step 6.

DnnInstall 5a ConfigureSql CreateDB

After creating the database, expand Security, right click on Logins and select New Login. On the Generalpage, enter a new Login Name (I like to use straightforward login names so it is clear which system or application is using it), select SQL Authentication, and enter a Password. Please note, you will need to remember the Login Name and Password for step 6.

DnnInstall 5b ConfigureSql CreateUser

Then select the User Mapping page on the left – check the name of the database we just created and set the Default Schema to dbo, then check db_owner and public options for Database role memberships. Click OK.

DnnInstall 5c ConfigureSql CreateUser UserMapping

6. Run DNN Installation Wizard
We’re almost done! Now open a browser and go to your site ( You should be redirected automatically to the Installation Wizard.

DnnInstall 6a WebsiteInstaller a 1024x647

Enter the desired settings in the Administrative and Website Information sections. In the DatabaseInformation section, use the following values:

Database Setup: Custom
Database Type: SQL Server/SQL Server Express Database
Server Name: .\SQLExpress (if you are using a professional version of SQL Server or Azure, enter the appropriate server name instead)
Database Name: DnnTutorial (the Database Name created in step 5)
Security: User Defined
Database Username: web_dnntutorial (The Login name created in step 5)
Database Password: (The login password created in step 5)
Run Database As: Database Owner (make sure this is checked)

DnnInstall 6b WebsiteInstaller CustomDbInfo 1024x844

Now click Continue to run the Installation Wizard.

DnnInstall 6c WebsiteInstaller Success 1024x723

Once the Installation Wizard is complete, click Visit Website – you should be redirected and automatically logged in (using the admin credentials you specified earlier in step 6).

DnnInstall 6d WebsiteInstaller ViewWebsite 1024x748


Leave a Reply

Your email address will not be published. Required fields are marked *