Introduction


This article aims to help newcomers to web development install and configure the Apache HTTP Server, MySQL Database and PHP Scripting Language (with various extensions) on either a Windows XP or Windows Vista operating system.

After completing this article you'll have a working setup that will allow you to develop database driven web sites from the comfort of your local computer.

Please note the setup detailed in this article is intended for development purposes only and should not be used in production. Configuring a secure and optimal production server is well beyond the scope of this article.

About the Software


The software we'll be working with today is not the kind of software you would traditionally be installing on Windows. Installing and configuring this software requires more work than traditional software and it's not always as intuitive as we might like. Don't fret though, just be prepared to employ a little patience as the end result is well worth it.

Apache HTTP Server
Apache is an open source, commercial-grade and generally awesome HTTP server. Early on it played a notable role in the growth of the World Wide Web because it was the first viable alternative to the Netscape Communications Corporation web server. [1] Apache has been the most popular HTTP server since April 1996 and as of June 2008 Apache served 49.12% of all websites. [2]

MySQL RDBMS
MySQL is an open source, commercial-grade, multi-threaded and multi-user SQL server with over 11 million installations. [3] MySQL offers a variety of storage engines and for those of us that want ACID compliance there is InnoDB and BDB.

PHP Scripting Language
PHP is an open source, general-purpose scripting language especially suited for web development. PHP is very popular, easy to learn, has command line interface capabilities and there are many extensions for it.

Alternative Software


In this age we're fortunate enough to have many choices when it comes to open source software. There are around half a dozen notable web servers and databases out there for you to choose from. For example, the fast lighttpd web server is quickly becoming popular and a lot of people swear by the PostgreSQL database.

There are pros and cons to just about everything and in the end it boils down to what best meets our needs and what we're the most comfortable with. I personally like Apache and MySQL but I'm always open to investigating other solutions.

Links of Interest


Throughout this article we'll be referencing various documents found in the following list of helpful resources. I recommend you bookmark each of these links for future reference.

Apache Documentation
MySQL Reference Manual
PHP Reference Manual
Installation of PHP Extensions on Windows
PECL Windows Repository
PHP MySQL Reference
PHP MySQLi Reference

Continue with Getting Started ➜