LAMP: The Most Popular Server System Ever
You may have heard of a server system called LAMP, and wondered
what it is. Well, the answer is that LAMP isn't any one thing on
its own - it's actually a combination of four technologies.
Together, the LAMP technologies form the most popular overall
server system on the web today.
Which technologies are they? The answer lies in the name. LAMP
stands for Linux, Apache, MySQL and Perl/PHP. The term
originated as a marketing word to help point out that open
source (free) software, when combined, could be just as
effective as expensive 'enterprise solutions' like J2EE (Java)
or Microsoft's .NET. To understand the system, let's take a look
at the components individually.
Linux
Linux is widely considered to be the open source operating
system of choice, and the main alternative to Microsoft Windows.
Thousands of volunteers from all over the world work on Linux
and create programs for it. At its heart, the system is
more-or-less a Unix derivative, which means that it's very
stable and fast. While widespread adoption of Linux for the
desktop seems far off, mainly because of the difficulty of
getting people to switch, it isn't stopping Linux from doing
very well on web servers.
There are many different varieties of Linux, known as
'distributions', with each one focusing on different features.
Some popular distributions include Debian (www.debian.org), SuSE
(owned by Novell, www.novell.com/linux/suse) and Red Hat (free
version at fedora.redhat.com). If you're thinking of trying out
Linux on your own computer, you might like to look at Ubuntu
(www.ubuntulinux.org), which is a less technical and relatively
easy to use distribution.
Apache
Apache is the world's most popular web server bar none. It was
based on the second-ever web server, which was developed at the
NCSA, and its history goes back as far as 1995.
For all intents and purposes, Apache has become the industry
standard server: it would be silly to say that Apache isn't
suitable for business use, considering that it is included in
enterprise packages like Oracle and IBM's WebSphere. Apache is
developed by the non-profit Apache Foundation (www.apache.org).
MySQL
MySQL is a relational database, popular because of its relative
simplicity and the fact that it's free. It is considered to be
much easier to set up and use than more 'traditional' database
software, and MySQL databases can be managed using a range of
graphical software. MySQL is controversial among database
professionals, however, as its developers haven't included many
complicated advanced features, feeling that they would make the
software too difficult to use without making it any more useful.
MySQL is developed by a Swedish company, MySQL AB, and its
website is www.mysql.com.
Perl and PHP
Perl and PHP are both scripting languages, and they are both
often used as the 'glue' that makes a database-driven website do
what it should. However, the two languages, are very different:
Perl is powerful but hard to read, while PHP is simpler but more
limited. Choosing between them is largely a matter of
preference, which is why they're both included in the system -
some people also include a third P, Python, as an alternative
language.
If you're starting out, it's probably best to use PHP - the
official site at php.net has good tutorials and references on
the language. Perl's site is at perl.org, but you should only
really start with Perl if you've got some previous programming
experie Getting LAMP.
If you want to get the whole LAMP system together instead of
downloading the components separately, a good place to go is
www.apachefriends.org/en. They offer it for download - don't
worry, all the software is free. You don't get Linux, but you
get everything else, and it will install easily on most
operating systems, including Linux and Windows.
LAMP Variants
There are a number of LAMP variants that replace parts of the
system. While these systems aren't as popular, they're still
worth knowing about and considering.
WAMP: Windows replaces Linux. MAMP: Mac OS replaces Linux. AMP:
Apache, MySQL and Perl/PHP running on any operating system.
LAPP: PostgreSQL replaces MySQL. LAMJ: JSP replaces Perl/PHP.
There is also the insulting-sounding term WIMP, which means that
Windows replaces Linux and IIS replaces Apache - this is
considered to result in a much worse system than LAMP.