Categories
Bloggers
Blogs RSS feed

Installing Sitefinity 4 on IIS 6

by Josh Morales

In our last post, we took a walkthrough installing Sitefinity 4 on IIS 7, but many websites also run on Windows Server 2003, which uses IIS 6. For the most part, installation follows the same path and only a few minor differences need to be accounted for.

Today we'll walkthrough setting up another fresh site, this time on Windows Server 2003.

Video

As with our last example, evangelist Gabe Sumner has compiled a companion video walkthrough through the installation step by step.

IIS-6-Installation-Video

Watch Video on Telerik TV

System Requirements

The basic system requirements for Sitefinity 4 remain the same on IIS 6:

  • Microsoft .NET 4.0
  • SQL Server (2005/2008/Express)

However, by default, Windows Server 2003 ships with Internet Explorer 6. This browser is not supported by the Sitefinity Administration Dashboard. Although your public website will work with IE6, the Sitefinity administration backend requires at least IE7, or other modern browser.

Please be sure to update your browser before continuing.

IE8-Download_120X54

In addition, there is a complete description of the required IIS 6 configuration for Sitefinity available in the documentation, all of which should all be setup by the time we're done with this walkthrough.

Silverlight

Because some of the backend administration relies on Silverlight, it is important that your server is configured to host Silverlight applications. In most environments this is already the case. However, for additional help setting up Silverlight on your server, visit this article: "Configuring IIS for Silverlight Applications.

Website Installation

The steps for installing the Sitefinity project are identical to that laid out in the IIS 7 instructions. Simply use FTP, XCOPY, or the Project Manager to add a new or existing website to the web server.

Sitefinity-Project-Manager-Blank

IIS Registration

Just as we did for IIS 7, we'll stop the Default Web Site so that we can add our site and access it via localhost.

IIS-6-Stopped-Website

Register a new web site by right-clicking the Web Sites folder and select New > Web Site. The dialog will step you through creation. For the most part, you can leave things at default, just be sure to use the file path that matches the your website

IIS-6-Add-Website-Step-1IIS-6-Add-Website-Step-2IIS-6-Add-Website-Step-3
IIS-6-Add-Website-Step-4IIS-6-Add-Website-Step-5IIS-6-Stopped-Website

IIS Configuration

Websites running newer features like ASP.NET 4.0 usually require some additional configuration before they are ready for use.

ASP.NET 4.0

New websites in IIS 6 often do not automatically configure with ASP.NET 4.0 and need to be modified manually. Right-clicking the website, select Properties and navigate to the ASP.NET Tab and make sure the version is set to 4.0.

IIS-6-ASP.NET-Version

ISAPI Mappings

Configuring the site to run ASP.NET 4.0 should automatically register the appropriate file mappings for extensions .svc and .xamlx in IIS. You can verify this in the Home Directory tab of the website properties and clicking Configuration.

IIS-6-Extension-Mappings

If these are not in the list, click “Add” and point themto the ASP.NET 4.0 runtime, usually located at the path %WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll. If you have running on 64-bit, be sure the path maps to that version instead.

IIS-6-Add-Extension-Mapping

In addition, you need to add a Wildcard Mapping so that ASP.NET can process all requests for the website. This is needed because Sitefinity pages do not physically exist on the server, and the mapping ensures that all requests are handled correctly by Sitefinity.

Click "Insert" to add a wildcard mapping, routing all requests to the same ISAPI as above. Be sure to uncheck the option to "verify that file exists" since as mentioned, Sitefinity files are not physically located on the web server.

IIS-6-Add-Wildcard-Mapping

Permissions

In the Home Directory tab you can also see the application pool that is configured to host the website. In this case it is Default Application Pool. You can reassign it to an existing pool, or use the "Application Pools" folder in IIS to create a new one.

IIS-6-Website-Application-PoolIIS-6-Add-Application-Pool

Application Pools in IIS 6 run as a specific user, in most cases "NETWORK SERVICE". The identity can be verified by right-clicking the Application Pool, going into properties and selecting the Identity tab.

IIS-6-Application-Pool-Identity

This is the user that needs write permissions to the App_Data folder of your website. If you attempt to run your website before granting these permissions, you will the receive a System.UnauthorizedAccessException such as “Access to the path ‘C:\inetpub\Sitefinity\App_Data\Sitefinity\Configuration\SecurityConfig.Config is denied”.

In Windows Explorer, right-click the App_Data folder and select Properties then the Security Tab. Click "Add" to register the "NETWORK SERVICE" user (or whichever user matches your application pool) and grant it the permission to "Modify"

IIS-6-Permissions-Add-UserIIS-6-Permissions-Add-Rights

Database Setup

At this point navigating to http://localhost will reveal the standard Sitefinity Welcome message. This means the administration is also accessible via http://localhost/sitefinity.

Just as with the IIS 7 installation, you're prompted to create the database connection. Use the credentials that correspond to your SQL Server, create the user and installation will be complete.

You're Live!

The new Sitefinity site is now installed and ready for use. If you encounter any issues with this guide, be sure to double check the IIS settings and verify that your environment matches the documentation.

As always, be sure to share your installation experience and feedback with us in the Sitefinity discussion forums.

Leave a comment