Back to article

Review: XAMPP--An Apache Server Stack

The Need

June 8, 2005

The cornerstone of most open source application serving is the ubiquitous LAMP (Linux Apache MySQL PHP/Python/Perl) stack. Yet it's not always as easy as you'd expect to get all the elements of the stack properly installed and working together. Enter XAMPP, which is an effort to provide a working stack that will provide all of the stack components (except for the OS) in one simple install. No messy ./configure commands required.

The difficulty in getting Apache, PHP, Perl, Python and MySQL all properly compiled and working together is no laughing matter. Certainly RPM based distributions that include all the elements in a pre-compiled state have made the task easier than it once was. However a visit to just about any open source application support board will give you an indication of how widespread configuration difficulties of the AMP stack are for users of all stripes. More often than not MySQL support is not configured into PHP or PHP support is not configured into Apache or some other similar combination mismatch.

If you read the documentation for compiling and installing Apache from source (http://httpd.apache.org/docs-2.0/install.html for 2.x or http://httpd.apache.org/docs/install.html for 1.3.x) and follow the quick installation instructions, you will end up with an Apache installation that may not necessarily have either Perl, PHP or MySQL support. The same kinds of difficulties are often experienced when compiling PHP.

XAMMP is an effort to fix the above problem. Rather than slaving over ./configure extensions to ensure that PHP/MySQL/Python/Apache all play nice together it provides one simple install that makes it all work. It also includes an impressive list of additional applications like ProFTP, PhpMyAdmin to administer MySQL and eAccelerator which helps to dramatically improve PHP performance.