Review: WAMP stacks for Web developers
All-in-one Apache-MySQL-PHP server packages for Windows vary widely in features, flexibility, and easeFollow @syegulalp
XAMPP 1.7.7 (1.8 beta)
XAMPP, from Apache Friends, is one of the best-known and consistently maintained development stacks out there, available not only for Windows but for Mac OS X, Linux, and Solaris. It includes Apache, MySQL, PHP, Perl, and a few other bits of plumbing such as an FTP server and a mail agent, should you need them.
XAMPP comes in two basic incarnations: with and without an installer. The "installed" version sets up XAMPP as if it were an application, with the program icon launching XAMPP's system-tray control panel app. The installer-free version is just an archive that you can unpack anywhere, but which needs to be configured manually by way of a batch file. You can actually skip the configuration step if you've unpacked the whole of XAMPP into the root directory of a device (for example, a USB flash drive).
Certain components of XAMPP -- Apache, MySQL, and the FileZilla FTP server -- can be run either as a standard Windows application in the background or as a system service. The former is useful if you want XAMPP to run with a minimal system footprint and if you hate having unneeded system services hanging around in the background even when they're not being used. XAMPP's version of Apache also comes preconfigured with SSL, which is handy if you want to test apps that need it.
XAMPP's system-tray launcher lets you control the activation of each major component of the stack, and install or remove Windows-service versions of each stack component where available. It also provides you with quick access to the management consoles (Web-based or otherwise) for each component, and a minimal event log for the whole stack.
One problem I immediately ran into: When you launch XAMPP, you aren't warned if any of the running services conflict with existing port assignments. My copy of Skype used port 80, which resulted in Apache refusing to start -- I had to debug it manually.
To fix this and many other problems, a new iteration of XAMPP's launcher is in the works. It's still a beta product, but a copy of the beta edition is supplied with the current version of XAMPP, so you can use it interchangeably with the original launcher. The beta warns you about port conflicts and provides you with quick links to the log files for each component. It can also launch an instance of the Netstat tool to see which programs are using which network ports on the local machine.
XAMPP's second main drawback is that it doesn't have a culture of add-ons to expand its functionality. What you see is all you get. What few add-ons were created for it (Tomcat, Perl) have since been rolled into the main package. Those interested in any languages not supported directly in XAMPP (Ruby, for instance) are probably better off with another stack that has a richer collection of products. There's also no direct integration with any development environments, so you're entirely responsible for your own code maintenance.
For those of you who use the PortableApps collection of programs, there's a version of XAMPP packaged for PortableApps. It omits some of the packages found in the original distribution for the sake of a smaller installation, but it's got all the most crucial pieces.
Recommended for: Beginners and those who want a "server on a stick" setup.
The new beta version of the XAMPP control panel includes port checking and a more detailed interface than its predecessor.
This article, "Review: WAMP stacks for Web developers," originally appeared at InfoWorld.com. Follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.