Install Server Components
by Simon Tan
Introduction
This article will walk you through installing the required server components to be WebMatrix compatible and fulfill the Spotlight requirements for the Web Hosting Gallery.
Prerequisites
We recommend having two separate machines both running Windows Server 2008 R2:
- One acting as the web server
- One acting as the database server
While it is possible to run both the web server and database server on the same machine, it is not recommended for performance and security reasons.
You will need both machines connected to the Internet to download required server components.
To simplify the installation of the web server components, we highly recommend installing Web Platform Installer, also known as WebPI, on both machines. WebPI is a tool that automates the installation of a vast majority of server components and other products for Microsoft's Web Platform.
If you prefer to not use WebPI, all of the required components can also be installed by hand or via your own provisioning scripts.
Web Server Components
Option 1 : Via Web Platform Installer 3.0 (recommended)
If you have WebPI 3.0 installed, the following link will automatically launch it with all of the basic web server components you'll need ready to install:
Install Spotlight Components using Web PI (you will be able to review the list of products before installation begins)
(This list of components completely fulfills the Spotlight requirements from the Web Hosting Gallery.)
Note that many of the web applications that can be published by WebMatrix have PHP/MySQL components as requirements. To ensure you are able to support those applications, you can use this alternative link to install everything above plus PHP/MySQL related components:
Install Spotlight Components plus PHP/MySQL related components using Web PI
After WebPI launches from the links above, you'll just need to click the "Install" button to review the list of components and proceed with installation.
Note
Even when using the links above, you'll still have to install the Extensionless URL Hotfix separately, discussed below.
Option 2 : Manually install Web Server components
Here is the full list of which components are installed by those links, so you can confirm against the list of products listed in WebPI. Note that many of them bring in dependencies – that is expected behavior – but the total download should not exceed 50 MB or so.
Server
[Required] IIS 7 Web Server basic components
- Required for basic web server functionality
Frameworks
[Required] .NET Framework 3.5 SP1
- Some applications depend on this framework
[Required] .NET Framework 4.0
- Some applications depend on this framework
[Optional] PHP (5.3.2 or higher)
- This is not required for Spotlight, but many applications that can be published by WebMatrix depend on this framework
ASP.NET
[Required] ASP.NET
- This framework is the backend of many of the most popular web applications
[Required] ASP.NET MVC 1.0
- A handful of applications in the App Gallery depend on this installed centrally
[Optional]
Note that you can also optionally install ASP.NET MVC3 and ASP.NET Web Pages, which gives you the ability to host applications written in the new "Razor" syntax of ASP.NET. However, note that the binaries required for these kinds of applications are automatically published by WebMatrix. That is, each end user who publishes applications of this type will automatically end up with the required binaries in a /bin/ folder within their site root directory, so it is not really necessary to install them centrally.
In fact, we actually recommend that you do not install anything except MVC 1.
Also, note that this ASP.NET Web Pages is not a final release of the product. If you choose to install ASP.NET Web Pages, you will need to re-install it when future versions are released.
IIS Modules
[Required] Microsoft Web Deploy 2.0
- Web Deploy is a client-server tool that simplifies the deployment of sites and applications to IIS servers. While WebMatrix supports web application publishing using both FTP and Web Deploy protocols, the latter providers a faster, more secure, and richer experience. It also lets the user deploy whole apps, including databases, ensuring they work both locally and remotely. It is the highlight of the WebMatrix publishing story.
[Required] FTP Publishing Service
- To ensure the option of FTP exists for maximum compatibility
[Required] IIS Remote Management Service
- To allow your users to manage aspects of their accounts using the IIS console
- Also a dependency for Web Deploy to function properly
[Required] FastCGI for IIS
- Provides a much faster CGI implementation than the default
[Required] URL Rewrite 2.0
- A dependency for many applications to function correctly
[Required] SQL Server 2008 Management Objects
- A dependency for many applications to function correctly
[Optional] Windows Cache Extension 1.1 for PHP
- Highly recommended when running PHP on Windows
[Optional] MySQL Connector/Net 6.2.3 or higher
- Necessary for .NET applications using MySQL databases
[Optional] Microsoft Drivers for PHP for SQL Server 2.0 in IIS
- Necessary for PHP applications using SQL Server
Install Web Server Patches
-
- Required for ASP.NET Web Pages to function correctly. It is discussed further in this blog post.
Database Server Components
SQL Server
[Required] Microsoft SQL Server 2008
WebPI supports installing Microsoft SQL Server 2008 Express edition, but we do not recommend this product in shared hosting environments. (You should use the full version instead.)
[Optional] PHP Driver for SQL Server
We highly recommended installing this component on your database server if you are supporting PHP.
MySQL
For more information on configuring a MySQL installation for WebMatrix support, please see this article.
Next Steps
You should ensure that the Web Deploy 2.0 component is configured to allow delegated deployments. This is critical, as it is the primary method that allows your customers to publish to your servers with WebMatrix.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for