LAMP (software bundle)

From Wikipedia, the free encyclopedia

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:

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 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 [reference?]. 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.

Contents

[edit] Software

[edit] Linux

Main article: Linux

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

[edit] Apache HTTP Server

Main article: Apache HTTP Server

Apache HTTP Server is a free software/open source web server, the most popular in use,[1] serving as the de facto reference platform against which other web servers are designed and judged.

[edit] MySQL

Main article: MySQL

MySQL is a multithreaded, multi-user, SQL Database Management System (DBMS) with more than six million installations.[1]

[edit] PHP

Main article: 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.

[edit] 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."[2] 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.

[edit] Operating system

See also: List of operating systems and Comparison of operating systems

[edit] Web server

See also: Comparison of web servers

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

[edit] Database

See also: List of relational database management systems and Comparison of relational database management systems

[edit] Programming language

See also: Comparison of programming languages

[edit] 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 [4]
  • STOJ, for Solaris, Tomcat, Oracle and Java
  • WAPP, for Windows, Apache, PostgreSQL, and PHP
  • LAMAR, for Linux, Apache, MySQL, AJAX, and Ruby on Rails

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.

[edit] See also

[edit] References

[edit] Further reading

[edit] External links