Earlier this year Microsoft released a small piece of software called the Web Platform Installer (Web PI)—a dead-simple way to install a complete suite of web software on your Windows machine. It offers IIS with a number of extensions, SQL Server, ASP.NET, PHP, and a wide range of free web applications and tools. The inclusion of PHP might be surprising to some, but Microsoft has been making efforts to improve PHP performance under IIS, and the brand-new Windows Cache Extension for PHP is among the software available for installation with this tool. Building on that, there are also a number of high quality open-source PHP apps included in the Installer’s Web Applications section, including Drupal, WordPress, and SugarCRM.
The Web Platform Installer can be a great way to set up a Windows-based development box, or quickly launch a blog or CMS for your small business.
To show you how simple it is to use and to give you an idea of what software is available, I’ll walk through the installation of PHP with the Web PI, as well as a few key PHP apps from scratch. I’ll also point out a few choice goodies and extensions you can try out.
You might be asking yourself why we need an installer tool for this software. After all, it’s available for free on the Web anyway, right? True, but it can be a hassle tracking it all down, downloading each individual package, installing them all, and configuring them to play nicely together. The Web Platform Installer is a great way to have all that work done for you. As we’ll see shortly, it will even create databases and write configuration files for your applications.
Once you’ve finished following along, you can test yourself with our Article Quiz, sponsored by Microsoft.
The first step is to download the Web Platform Installer, which is only 2MB in size as it’s simply a front end for downloading and installing various other software components.
For the purposes of this tutorial we’re using Windows 7 RC1, but the installation process should be the same on Vista. If you’re using an older version of Windows with IIS 6.0 rather than 7.0, some of the screens might be a little different, but the overall process should be much the same.
Let’s run the installer.
Figure 1. The Web Platform Installer
Notice there are three tabs on the left-hand side of the installer screen, and that Web Platform is selected by default when you run the Installer for the first time. When you run it again after the initial install, will be selected, highlighting available updates for installed software or newly available apps or components. If you click the link in the lower left, you can add two non-default tabs: Media Platform and Developer Tools. The contents of those sections are outside the scope of this article, but have a poke to see what’s in there (of potential interest is the trial edition of Expression Web 3 included in the Developer Tools section).
Inside the Web Platform section are a number of subsections: Web Server, Frameworks and Runtimes, Database, and Tools. Each subsection has a quick link to install the recommended defaults, as well as a link to customize which individual components will be installed. The defaults are fairly sensible, but as we’re just becoming familiar with the platform, let’s take a closer look at what’s available. For example, we’ll examine what’s contained in the Frameworks and Runtimes section.
For the purposes of this walk-through, we’ll be focusing on PHP and PHP-based applications, so I’ll just grab PHP from this section, and the recommended defaults from the other sections.
Speaking of applications, it’s time to move on to the fun part: the Web Applications tab.
Figure 3. Web Applications
The applications contained in this tab are grouped by function (blogs, content management, galleries, and so on), and you’ll find there’s quite a lot available. For this tutorial I’m going to grab some of the more popular PHP-based apps: Drupal, WordPress, and SugarCRM Community Edition.
The version of Drupal included in the installer is Acquia Drupal. Acquia is a company that provides commercial Drupal support, but they also put out a version of Drupal packaged with some of the more widely used contributed modules (that is, contributed by the Drupal community). This is great if you’re trying to set up your site quickly and want to avoid having to download all these modules individually from the Drupal site.
When you click on, you’ll see a screen revealing everything that’s about to be installed. As I’ve already mentioned, there’s no need to worry about dependencies. If the Installer detects that a necessary component is missing from your selection, it will grab it for you. For example, this pleasant surprise: the Installer will automatically download and install MySQL if you’re installing an application that requires it (such as Drupal or WordPress).
Figure 4. Installation confirmation
This screen also gives you a chance to review the license terms of all the software components. Assuming you’ve done that, let’s clickand see what happens.
If you’re installing MySQL (which should be the case unless it was already installed), the Installer will prompt you to enter a password for your root user. If MySQL was already installed, you’ll need to enter your password to allow the Web PI to create your applications’ databases for you.
Then it will set about downloading and installing all the components and applications you selected. Various component installers may also ask you to restart your machine, so go ahead and do this; the installer will pick up where it left off when Windows starts back up.
Once the downloads and installations are complete, you’ll be prompted to create databases and database users for each of your applications (as well as a few encryption keyphrases for WordPress). This is a really nice touch: rather than updating your databases and editing your configuration files manually, you just fill in a few form fields and everything is taken care of for you.
When that’s done, click through to the next screen and you’ll see a summary of all that’s been installed. Under each application is a
index.php for WordPress or SugarCRM, or
install.php for Drupal). If it’s all gone smoothly, your app should be up and running! Let’s launch WordPress.
Figure 5. WordPress installation page
If you see this screen, it means that:
IIS is functioning
PHP is running via FastCGI (with the Windows Cache extension speeding it up if you installed it)
your MySQL database server is active and PHP can connect to it
your WordPress database and user have been created
your WordPress configuration file has been edited with the appropriate settings
That’s a fair amount of work we were saved from having to do ourselves! The process for Drupal and SugarCRM is much the same, so I’ll leave it up to you to install and launch those apps.
There you have it! That’s really all you need to know to install and run your PHP-based apps with the Web Platform Installer. Let’s just quickly step through each component a little more closely to show you how to administer it.