Nils-Erik Frantzell (email@example.com)Computer Science Department, UC Santa Cruz
30 Nov 2004
Open source stacks such as XAMPP from Apache Friends are simplifying open source development by making it easier to write and distribute applications in a stable and standardized environment. Traditionally, AMPP — Apache, MySQL, PHP, and Perl — have all been installed and configured as separate products. The trend of combining them into integrated middleware stacks promises to make open source development more competitive with J2EE™ application development, at least for low-end applications. In this article, you’ll learn how to install, configure, and back up XAMPP on Mandrake Linux™ 10.0 and also how to configure and administer XAMPP, as well as how to install your own applications in an XAMPP environment.
The advent of Java 2 Enterprise Edition™ dramatically changed the software landscape by providing an integrated middleware stack that greatly simplified the task of writing and deploying Java™ applications. For a while, the open source community was left behind because it lacked a similar integrated architecture.
Recently, with the introduction of integrated open source stacks like XAMPP from Apache Friends, this situation has started to change. These stacks are still quite simple and rudimentary when compared with J2EE, but they are nevertheless an important step on the way to fuller systems integration. PHP 5.0 (which makes PHP fully object oriented) is a good indicator that this trend will accelerate.
The focus of this article is on one of the integrated, open source stacks: XAMPP from Apache Friends.
XAMPP is a full-featured AMPP (Apache MySQL, PHP, Perl) package that is one of the few non-commercial AMPP middleware stacks available on Linux. With its tight integration, XAMPP makes it possible to run anything from a personal home page to a full-featured production site (though only for development purposes; XAMPP is not meant to be used on a production server due to security issues).
XAMPP really shines in the following areas:
- It is easy to install and set up.
- It contains a number of useful packages that make it easy to do things like generate traffic reports and accelerate PHP content.
- It has been thoroughly tested on the SUSE, Red Hat, Mandrake, and Debian Linux distributions, as well as on Windows® and Solaris.
For this article, we will install XAMPP under Mandrake Linux 10.0. Let’s start by looking at the default packages that come with XAMPP.
Basic packages include system, programming, and server software:
- Apache, the famous Web server
- MySQL, an excellent, free, open source database
- PHP, the programming language (in versions 4.3.8 and 5.0.1 at the time of this writing)
- Perl, the programming language
- ProFTPD, an FTP server
- OpenSSL, for secure sockets layer support
XAMPP includes the following graphics-related packages:
- GD, the “Graphics Draw” library
- libpng, the official PNG reference library
- libjpeg, the official JPEG reference library
- ncurses, the character graphics library
And what would an integrated stack be without some database packages such as:
- gdbm, the GNU implementation of the standard UNIX® dbm library
- SQLite, an extremely small, zero-configuration SQL database engine
- FreeTDS, a database library that gives UNIX and Linux programs the ability to talk to Microsoft® SQL and Sybase databases
For XML development, XAMPP includes the following:
- expat, an XML parser library
- Salbotron, an XML toolkit
- libxml, an XML C parser and toolkit for GNOME
For PHP development, XAMPP includes the following:
- PEAR, the PHP library
- A pdf class that generates dynamic PDF documents with PHP
- TURCK MMCache, a PHP performance enhancer
And finally, XAMPP demonstrates its versatility by including the following packages:
- zlib, a compression library
- mod_perl, which embeds a persistent Perl interpreter in Apache
- gettext, a toolset that assists GNU packages in producing multi-lingual messages
- mcrypt, an encryption program
- Ming, a Flash (SWF) output library
- Freetype2, a software font engine
- IMAP C-Client, a mail program API
Now let’s talk about installing XAMPP.