Product Review: XAMPP, an Apache Distribution

by Daniel McCarthy

XAMPP is a collection of free software for installing and using the Apache Web server. Basically, it is an Apache distribution that includes the Apache Web server, MySQL, PHP, Perl an FTP server and phpMyAdmin. XAMPP is available for Linux, Solaris and Windows. According to the Apache Friends Web site, "The philosophy behind XAMPP is to build an easy-to-install distribution for developers to get into the world of Apache."

I discovered XAMPP while searching for an easier way to upgrade to PHP 4.3.10. A colleague of mine had a server running Red Hat 9, and he had asked me for help in doing the PHP upgrade. Red Hat is no longer supporting that particular version, however, and no RPM upgrades were readily available. Rather than compile Apache and PHP from source, I decided to give XAMPP a chance.

I must admit that I was skeptical when I first visited the XAMPP Web site. I'm not one to buy into the idea that Linux is more complicated to administer than Windows is, as the XAMPP site claims. But, I also didn't believe that installing Apache, PHP, Perl and MySQL would be nearly as easy as the Web site claimed, "just download, extract and start".

I was dramatically wrong. The XAMPP installation involved two steps. First, I downloaded XAMPP for Linux from the site. Second, from the command line, I went to the directory where the XAMPP download was saved and issued this command:

tar xzvf xampp-linux-1.4.11.tar.gz -C /opt

That was it. No, I did not leave out any steps. With those two steps complete, XAMPP was installed in /opt/lampp.

You can start the newly installed applications by issuing /opt/lampp/lampp. This command starts up Apache with PHP 5.0.3, MySQL 4.1.8 and ProFTP. To stop all the currently running applications, use /opt/lampp/lampp stop.

The server I was working on did not need MySQL, however, nor did I want to have ProFTP running. Fortunately, individual start and stop commands are provided by XAMPP for each of the applications offered. To start individual applications, use any of the following commands:

  • /opt/lampp/lampp startapache

  • /opt/lampp/lampp startmysql

  • /opt/lampp/lampp startftp

One addition to the above list is /opt/lampp/lampp startssl, which enables SSL support in Apache.

The stop commands, as I'm sure you've guessed, are:

  • /opt/lampp/lampp stopapache

  • /opt/lampp/lampp stopmysql

  • /opt/lampp/lampp stopftp

XAMPP was compiled specifically for developers, and it is an extremely easy way for developers to set up a local LAMP installation for the applications they are developing. In fact, one of the great uses of XAMPP is its ability to switch between PHP 4 and PHP 5. I have spoken with many developers who have informed me that applications they developed for PHP 4 do not work properly under PHP 5. XAMPP is a great way for these developers to switch easily between the two versions to test their application's migration to PHP 5. The commands to switch between PHP 4 and 5 are /opt/lampp/lampp php4 and /opt/lampp/lampp php5.

In addition to the previously mentioned applications, the default installation also includes several demo PHP applications and a handful of Web-based tools. Figure 1 shows a browser window pointed at a site running XAMPP.

Figure 1. Default XAMPP Page

As you can see, the Web-based tools offered by XAMPP include phpMyAdmin, a PHP-based MySQL administration tool; phpSQLLiteAdmin, a PHP-based tool to administer the embedded SQL database; and Webalizer, a site statistic tool written in C.

All in all, XAMPP is a great development tool. The ease with which anyone can install XAMPP certainly helps to dispel the myth that Linux applications are hard or complicated to install. In addition, the demo applications provided in the XAMPP distribution can help new developers find their way in using Apache, PHP and Perl. I look forward to working more with the XAMPP tools and showing this great collaborative collection to other developers.

Load Disqus comments