Configure the IIS to host Sitefinity projects
If you are using Microsoft Internet Information Server (IIS) to host your Sitefinity CMS projects, you must configure the server in the following way, depending on your operating system:
Windows Server 2008 with IIS 7.0
Automatic configuration
- Download the Windows Server 2008 PowerShell script and save it on your computer.
- In the context menu of the downloaded file, click Run with PowerShell.
- Restart the server.
NOTE: When running the PowerShell script, your system may become slower. Keep in mind that the script modifies Windows features that can affect other parts of the system.
Manual configuration
- Open the Server Manager by opening your Start Menu and clicking Administrative Tools » Server Manager.
- Select and expand Roles.
- If you do not see Web Server (IIS) role, you must add it using the Add Roles button.
- Click Web Server (IIS) and in the right pane, expand Role Services.
- Make sure you have installed the following services:
- Common HTTP Features » Static Content.
- Application Development » ASP.NET, .NET Extensibility, ISAPI Extensions, and ISAPI Filters.
- Management Tools » IIS Management Console, IIS Management Scripts and Tools, and Management Service.
- In the navigation tree on the left, click Features.
- Make sure you have the following features installed:
- Desktop Experience.
- .NET Framework 3.5.1 Features » WCF Activation » HTTP Activation.
- After you have Run projects on IIS, expand Web Server (IIS) node and click Internet Information Services (IIS) Manager.
In the right pane, the Internet Information Services (IIS) Manager appears.
- In the navigation of the IIS manager, expand your server node.
- Expand Sites node and click your website.
- In section IIS on the right, double-click Authentication.
- Perform one of the following:
- If you are using Forms authentication, make sure Anonymous Authentication and Forms Authentication are enabled and all other authentications are disabled.
- If you are using Claims-based authentication, make sure only Anonymous Authentication is enabled and all other authentications are disabled.
- Click your website again and in IIS section, double-click Handler Mappings.
- Make sure you have enabled handler mappings for *.svc and *.xamlx with executable path set to one of the following:
- For 64-bit OS: %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- For 32-bit OS: %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Close the Server Manager.
Windows Server 2008 R2, Windows Vista, and Windows 7 with IIS 7.5
Automatic configuration
- Download the Windows Server 2008 R2 PowerShell script and save it on your computer.
- In the context menu of the downloaded file, click Run with PowerShell.
- Restart the server.
NOTE: When running the PowerShell script, your system may become slower. Keep in mind that the script modifies Windows features that can affect other parts of the system.
Manual configuration
- Open your Control Panel and click Programs and Features » Turn Windows features on or off.
- Turn on Internet Information Services.
- Under Internet Information Services, turn on the following features:
- Web Management Tools » IIS 6 Management Compatibility » IIS Metabase and IIS 6 configuration compatibility.
- Web Management Tools » IIS Management Console, IIS Management Scripts and Tools, and Management Service.
- Under World Wide Web Services, turn on the following:
- All features under Application Development features, except Server-Side Includes.
- Common HTTP Features » Default Document, Directory Browsing, HTTP errors, Http Redirection, Static Content.
- Security » Basic Authentication, Request Filtering, Windows Authentication.
- Under Microsoft .NET Framework 3.5.1 » Windows Communication Foundation HTTP Activation.
- After you have Run projects on IIS, open the Internet Information Services (IIS) Manager.
- Expand your server node.
- Expand Sites node and click your website.
- In section IIS on the right, double-click Authentication.
- Perform one of the following:
- If you are using Forms authentication, make sure Anonymous Authentication and Forms Authentication are enabled and all other authentications are disabled.
- If you are using Claims-based authentication, make sure only Anonymous Authentication is enabled and all other authentications are disabled.
- Click your website again and in IIS section, double-click Handler Mappings.
- Make sure you have enabled handler mappings for *.svc and *.xamlx with executable path set to one of the following:
- For 64-bit OS: %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- For 32-bit OS: %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Close the Internet Information Services (IIS) Manager.
Windows Server 2012 and Windows 8.0 with IIS 8.0
Automatic configuration
- Download the Windows Server 2012 PowerShell script and save it on your computer.
- In the context menu of the downloaded file, click Run with PowerShell.
NOTE: When running the PowerShell script, your system may become slower. Keep in mind that the script modifies Windows features that can affect other parts of the system.
Manual configuration
- Install ASP.NET 4.5.
- Open your Control Panel and click Programs and Features » Turn Windows features on or off.
- Turn on Internet Information Services.
- Under Internet Information Services, turn on the following features:
- Web Management Tools » IIS 6 Management Compatibility » IIS Metabase and IIS 6 configuration compatibility.
- Web Management Tools » IIS Management Console, IIS Management Scripts and Tools, and Management Service.
- Under World Wide Web Services, turn on the following:
- All features under Application Development features, except Server-Side Includes.
- Common HTTP Features » Default Document, Directory Browsing, HTTP errors, Http Redirection, Static Content.
- Security » Basic Authentication, Request Filtering, Windows Authentication.
- Turn on Windows Identity Foundation 3.5.
- After you have Run projects on IIS, open the Internet Information Services (IIS) Manager.
- Expand your server node.
- Expand Sites node and click your website.
- In section IIS on the right, double-click Authentication.
- Perform one of the following:
- If you are using Forms authentication, make sure Anonymous Authentication and Forms Authentication are enabled and all other authentications are disabled.
- If you are using Claims-based authentication, make sure only Anonymous Authentication is enabled and all other authentications are disabled.
- Click your website again and in IIS section, double-click Handler Mappings.
- In the right pane click Add Managed Handler… and register the following managed handlers:
- *.svc
- In Request path, enter *.svc
- In Type input field, enter System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Type input field, enter System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- In the right pane click Add Script Map… and register the following script maps:
- *.svc
- In Request path, enter *.svc
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.svc
- In Request path, enter *.svc
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- Close the Internet Information Services (IIS) Manager.
Windows Server 2012 R2 and Windows 8.1 with IIS 8.5
Automatic configuration
- Download the Windows Server 2012 R2 PowerShell script and save it on your computer.
- In the context menu of the downloaded file, click Run with PowerShell.
NOTE: When running the PowerShell script, your system may become slower. Keep in mind that the script modifies Windows features that can affect other parts of the system.
Manual configuration
- Install ASP.NET 4.5.
- Open your Control Panel and click Programs and Features » Turn Windows features on or off.
- Turn on Internet Information Services.
- Under Internet Information Services, turn on the following features:
- Web Management Tools » IIS 6 Management Compatibility » IIS Metabase and IIS 6 configuration compatibility.
- Web Management Tools » IIS Management Console, IIS Management Scripts and Tools, and Management Service.
- Under World Wide Web Services, turn on the following:
- Application Development features » .NET Extensibility 3.5, .NET Extensibility 4.5, Application initialization, ASP, ASP.NET 3.5, ASP.NET 4.5, CGI, ISAPI Extensions, ISAPI Filters, Server Side Includes.
- Common HTTP Features » Default Document, Directory Browsing, HTTP errors, Http Redirection, Static Content.
- Security » Basic Authentication, Request Filtering, Windows Authentication.
- Turn on Windows Identity Foundation 3.5.
- After you have Run projects on IIS, open the Internet Information Services (IIS) Manager.
- Expand your server node.
- Expand Sites node and click your website.
- In section IIS on the right, double-click Authentication.
- Perform one of the following:
- If you are using Forms authentication, make sure Anonymous Authentication and Forms Authentication are enabled and all other authentications are disabled.
- If you are using Claims-based authentication, make sure only Anonymous Authentication is enabled and all other authentications are disabled.
- Click your website again and in IIS section, double-click Handler Mappings.
- In the right pane click Add Managed Handler… and register the following managed handlers:
- *.svc
- In Request path, enter *.svc
- In Type input field, enter System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Type input field, enter System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- In the right pane click Add Script Map… and register the following script maps:
- *.svc
- In Request path, enter *.svc
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.svc
- In Request path, enter *.svc
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, select All verbs.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- *.xamlx
- In Request path, enter *.xamlx
- In Executable input field, enter C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
- Click Request Restrictions.
- On Mappings tab, deselect Invoke Handler if request is mapped to.
- On Verbs tab, enter GET,HEAD,POST,DEBUG.
- On Access tab, select Script.
- Close the Internet Information Services (IIS) Manager.
NOTE: By default, all HTTP verbs are enabled on the IIS. We do not recommended restricting HTTP verbs on IIS level. If absolutely necessary, however, you can restrict verbs for a specific service instead.
Configuring folder permissions
You must provide the identity of the application pool, in which your website in running under IIS, with Read & execute permissions for the entire folder structure of your website.
Make sure the identity has Modify, Read & execute, Read, and Write permissions set for the App_Data folder and its subfolders.
Configuring IIS for Silverlight applications
Sitefinity CMS backend uses Silverlight RadControls. They require the following server extensions – .xaml, .xap, .xbap.
You must set the following MIME types in the server configuration:
MIME Type |
.xaml |
application/xaml+xml |
.xap
|
application/x-silverlight-app |
application/x-ms-xbap |
CAUTION: If you do not set the MIME types, error message are displayed to users browsing the backend.
For more information on how to set the MIME types, see Configuring IIS for Silverlight Applications.