|
If you're at all familiar with open
source software or Web development, chances are you've heard the phrase "LAMP stack" at
some point. You may even know what it stands for. But do you know
what LAMP actually is? Short for Linux, Apache, MySQL and PHP,
LAMP is an open-source Web development platform that uses
Linux as the
operating system,
Apache as the Web server,
MySQL as the
RDBMS and
PHP as the
object-oriented scripting language.
Perl or
Python is
often substituted for PHP.
LAMP technology can drive Web
applications, and although it is powerful, is also comparatively
simple and easy to use.
Individually, Linux, Apache Web
server, MySQL database, Perl, Python or PHP are each a powerful
component in its own right. The key to the idea behind LAMP, a term
originally coined by Michael Kunze in the German magazine c't in
1998, is the use of these items together. Although not actually
designed to work together, these open source software alternatives
are readily and freely available. This has lead to them often being
used together. In the past few years, their compatibility and use
together has grown and been extended. Certain extensions have even
been created specifically to improve the cooperation between
different components.
Today, the products that make up the
LAMP stack are included by default in nearly all Linux
distributions, and together they make a powerful Web application
platform. |
Key Terms To
Understanding LAMP:
(L)
Linux
A freely distributed open source operating system that runs on a
number of hardware platforms.
(A)
Apache
Web server
Often
referred to as simply Apache, a public-domain open source Web server
developed by a loosely knit group of programmers.
(M)
MySQL
MySQL is an
open source RDBMS that relies on SQL for processing the data in the
database.
(P)
PHP
Self-referentially short for PHP: Hypertext Preprocessor, an open
source, server-side, HTML embedded scripting language used to create
dynamic Web pages. |
Benefits of the FOSS Approach
Each of the components in the LAMP stack is an example of Free or Open
Source Software (FOSS). The benefit of the FOSS approach is three-fold.
First, the nature of FOSS software means applications are available for free
download, making them readily available to a wide range of people without
payment. That makes the software incredibly attractive to a wide range of
users who would otherwise have to pay for "professional" commercial tools,
which is often an expensive step in producing a Web site.
Second, licenses are open and thus have few restrictions on their use
and the deployment of applications based on the FOSS technology. It is possible
to develop and deploy LAMP-based projects without paying any license fees
for distributing the software, and this, again, makes it popular for both
hobbyists and professionals alike.
Third, and a major reason for the growth and use of FOSS technology
(including LAMP), is that because users have access to the source it is much
easier to fix faults and improve the applications. In combination with the
open license, this simplifies the development process for many enterprises
and gives them flexibility that simply isn't available within the confines
of a proprietary or commercial-based product.
LAMP Is Greater Than the Sum of Its Parts
The Apache server running on Linux is an easy way of building a simple Web
server, but the information provided by the Apache server will be "static"
that is, basic pages of information that the you must build and type
yourself.
Adding interactive or dynamic components requires the use of a programming
language, like Perl or PHP. These allow you to work with forms. For example,
they let your users send you an e-mail or randomly select a page to visit.
For truly interactive and dynamic Web sites, however, what you need is a way
of building pages composed of information in a database. For example,
imagine you want to create an online store along the lines of Amazon. You
could do it using static pages. You could even use dynamic elements to let
people add products to their basket and send their order to you, but as the
number of products to be sold increases, the management overhead to control
everything will become a nightmare. Furthermore, providing advanced
functionality for customers, such as the capability to view past orders, can be
impossible.
This is where the power of the LAMP stack shines. By combining a Web server
(Apache), dynamic components (using Perl, Python or PHP), and a database (MySQL)
you can create a truly database-driven and dynamic Web site that is easy to
update and provides rich functionality to support users.
The easiest way to see the power and functionality of the LAMP stack in
action is to take a look at some of the pre-packaged applications available
that use LAMP technology. A well-known example of this is the WordPress
blogging system. WordPress uses PHP to interface with a MySQL database and
can be hosted on an Apache/Linux server.
This functionality is possible within other Web application environments,
but the key is how simply all of the LAMP components work together. The
WordPress code, for example, is surprisingly simple and straightforward. The
code is easily customized and extended, and formatting can be altered to
meet individual needs.
Using the LAMP Stack in Your Business
Choosing to use LAMP in your business is not about cost although many
enterprises will be attracted to the low-cost required for both development
and deployment. Instead, choosing LAMP for your organization is about the
benefits it provides, as summarized below.
- Flexibility: There are no limits
to what you can do with the LAMP stack, either technically or because of
licensing restrictions. This allows you the flexibility to build and
deploy applications in a method that suits you, not the supplier of the
technology you are using.
- Customization: Because LAMP
components are open source, they have built up a huge array of
additional components and modules that provide additional functionality.
The open source approach enables you to do the same, customizing
components and functionality to suit your needs.
- Ease of Development: You can
write powerful applications using LAMP technology in relatively few
lines of code. Often the code is straightforward enough that even
nonprogrammers can modify or extend the application.
- Ease of Deployment: With neither
licensing issues nor the need to compile applications, deployment is
often as easy as copying an application to a new host. Most hosting
services provide LAMP-based environments as standard, or they can be
deployed using a Linux distribution, such as Fedora or Debian.
- Security: With many eyes
developing the software and years of use by a wide range of users and
community groups, LAMP technology is secure and stable. Problems are
normally fixed very quickly, and without the need for a costly support
contract.
- Community and Support: A wide and
experienced group of people is willing to provide help and support
during the development and deployment of LAMP-based applications.
Related Acronyms
The original LAMP acronym has spawned a number of other, related acronyms
that capitalize on the main focus of the original combination of
technologies to provide feature rich Web sites. Although many alternatives
are out there, the most prominent are the following:
- LAPP - Linux, Apache, PostGreSQL,
Perl/Python/PHP
-
WAMP - Windows, Apache, MySQL,
Perl/Python/PHP
- MAMP - Macintosh, Apache, MySQL,
Perl/Python/PHP
- BAMP - BSD, Apache, MySQL,
Perl/Python/PHP
- WIMP - Windows, IIS, MySQL,
Perl/Python/PHP
- AMP - Which allows the omission
of the operating system
They are all based around similar principles,
with the most common item being the languages. To be fair, the operating
system is not as important as the server, database and language options,
because AMP is also an effective combination on other platforms, including
Windows. It is, however, more common to use an entirely open source
solution, and the support that comes with Linux distributions for easily
installable versions is an obvious bonus.
Did You Know...
Wikipedia uses PHP, MySQL, and Apache HTTPD to
provide an online encyclopedia with thousands of entries in multiple
languages. All of this is served by Linux servers running the
WikiMedia application.
(Source:
ServerWatch) |
By Martin Brown
This article originally appeared on
ServerWatch. You can read the original article,
Understanding LAMP.
Last updated: August 24, 2007
LAMPware.org

An open source community with the goal of advancing the technology known as LAMP
- Linux Apache MySQL and PHP.
ServerWatch - Guide to Internet Servers
and Platforms 
Includes ratings, industry news, extensive reviews, and downloadable server
software.
Understanding LAMP 
Each of the components in the LAMP stack is an example of Free or Open Source
Software (FOSS). The benefit of the FOSS approach is three-fold.
Webopedia's "Did You
Know...?" Section 
Use this Webopedia knowledge section for an in-depth overview of specific
technologies and occurrences in the areas of Computer Science, The Internet, and
Computer Hardware and Software.
Webopedia's Quick Reference Section 
Use this Webopedia reference section for information on common Internet and
computer facts and occurrences.
DevX

The know-how Behind Application Development. |