< Back to index

The acronym LAMP (or L.A.M.P.) refers to a set of free software programs commonly used together to run dynamic Web sites or servers:
* Linux, (more precisely GNU/Linux) the operating system;
* Apache, the Web server;
* MySQL, the database management system (or database server);
* PHP (Sometimes Perl or Python), the programming language.

The combination of these technologies is used primarily to define a web server infrastructure, define a programming paradigm of developing software, and establish a software distribution package.

Though the originators of these open source programs did not design them all to work specifically with each other, the combination has become popular because of its low acquisition cost and because of the ubiquity of its components (which come bundled with most current Linux distributions particularly as deployed by ISPs). When used in combination they represent a solution stack of technologies that support application servers. Other such stacks include unified application development environments such as Apple Computer's WebObjects, Java/Java EE, Grails, and Microsoft's .NET architecture.

The scripting component of the LAMP stack has its origins in the CGI web interfaces that became popular in the early 1990s. This technology allows the user of a web browser to execute a program on the web server, and to thereby receive dynamic as well as static content. Programmers used scripting languages with these programs because of their ability to manipulate text streams easily and efficiently, even when they originate from disparate sources. For this reason system designers often referred to such scripting systems as glue languages.

Michael Kunze coined the acronym LAMP in an [http://www.heise.de/ct/english/98/12/230/ article] for the German computing magazine c't in 1998 (12/98, page 230). The article aimed to show that a bundle of free software could provide a viable alternative to commercial packages. Knowing about the IT-world's love of acronyms, Kunze came up with LAMP as a marketing-like term to popularize the use of free software . O'Reilly and MySQL AB have popularized the term among English-speakers. Indeed, MySQL AB has since based some of its marketing efforts on the popularity of the LAMP stack.

Software


Linux


Linux (also known as GNU/Linux) is a Unix-like computer operating system.

Apache HTTP Server


Apache HTTP Server is a free software/open source web server, the most popular in use, (http://news.netcraft.com/archives/web_server_survey.html) serving as the de facto reference platform against which other web servers are designed and judged.

MySQL


MySQL is a multithreaded, multi-user, SQL Database Management System (DBMS) with more than six million installations.[http://dev.mysql.com/tech-resources/articles/dispelling-the-myths.html]

PHP


PHP (PHP: Hypertext Preprocessor) is a reflective programming language originally designed for producing dynamic Web pages. PHP is used mainly in server-side application software, but can be used from a command line interface or in standalone graphical applications.

Variants


Sometimes Perl and Python are used in place of PHP and are often referred to as LAMP systems as well. One review of the platform goes so far as to say "Let the P stand for PHP, Perl, Python, and Ruby." Some developers prefer to use the M to mean mod perl or mod python and the P to mean PostgreSQL in effect reversing the M and the P in functionality, which can cause some confusion.

Another variant designates the M to be Middleware (including Ruby, Perl,Python etc) and the P to be PostgreSQL. Although not generally accepted, this definition could be seen as a token of the continuing evolution in the free software community while redefining its objectives and boundaries.

Operating system


* AMP, omitting the operating system
* AMPS, using SSL or Solaris
* BAMP, using BSD
* FAMP, using FreeBSD specifically
* MAMP, using Macintosh [http://www.mamp.info/en/home/]
* NAMP, using Novell NetWare
* PAMP, using PC-BSD
* PUMA, using Unix
* WAMP, using Microsoft Windows
* VAMP, using OpenVMS [http://vamp.issinoho.com]
* XAMPP, using Microsoft Windows, Mac OS X, Linux [http://www.apachefriends.org/en/xampp.html] (PP = PHP and Perl)

Web server


The most common replacement for Apache HTTP Server is Microsoft Internet Information Services or IIS. Because this can only be run on Microsoft software, the Linux operating system is replaced with Microsoft Windows.

* FWIP, for Firebird, Windows, IIS, and PHP
* WIMP, for Windows, IIS, MySQL, and PHP
* WIMSA or WISA, for Windows, IIS, Microsoft SQL Server, and ASP
* WISC, for Windows, IIS, Microsoft SQL Server, and C#
* WISP, for Windows, IIS, Microsoft SQL Server, and PHP

Database


* BAPP, using BSD and PostgreSQL
* FLAP, using Firebird
* LAIP, using Informix
* LAPP, using PostgreSQL
* LAPS, using PostgreSQL servlets
* OPAL, using Oracle
* WASP, using Windows, Apache, SQL Server and PHP

Programming language


* LAMP, where the P is for Perl or Python
* LAMP, where the P is for Primate, using Mono (software)
* MALT, using Apache Tapestry
* GLAM, using Groovy
* LAMJ, using JSP servlets
* LAMR, using Ruby

Other variations


* "A Brighter LAMP", with the last two letters meaning Middleware and PostgreSQL; this allows selection of languages that do not start with the letter P such as Tcl and Ruby
* AMPLE, with the E for Eclipse
* FWAP, for Firebird, Windows, Apache, and PHP
* LAMPS, with the S for SSL or SugarCRM
* MARS, for MySQL, Apache, Ruby, and Solaris [http://www.tbray.org/ongoing/When/200x/2006/04/25/Scaling-Rails]
* STOJ, for Solaris, Tomcat, Oracle and Java
* WAPP, for Windows, Apache, PostgreSQL, and PHP
* LAMAR, for Linux, Apache, MySQL, AJAX, and Ruby on Rails
* JSAS, for Joomla! Stand Alone Server
* MSAS, for Mambo Stand Alone Server

Some employ the term LAMP generically to describe such alternative systems rather than make a new acronym, using it to denote the contrast between such systems and a unified web application development environment.

As an example, Wikipedia, the Free Encyclopedia, runs software in what one could characterize as a LAMP environment. Wikipedia uses MediaWiki software, developed primarily under Linux, with content served with Apache HTTP server, content stored in a MySQL database, and program logic implemented in PHP.
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.