LAMP (software bundle)

From Wikipedia, the free encyclopedia

The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers. The original expansion is as follows:

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). When used in combination they represent a solution stack of technologies that support application servers.

Contents

[edit] History

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.[2] 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 increase the popularity of free software.[citation needed] O'Reilly and MySQL AB have made the term popular among English-speakers. Indeed, MySQL AB has since based some of its marketing efforts on the popularity of the LAMP stack.

[edit] Software

[edit] Linux

Main article: Linux

Linux is a Unix-like computer operating system kernel.

[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.[3]

[edit] MySQL

Main article: MySQL

MySQL is a multithreaded, multi-user, SQL Database Management System (DBMS) owned by Sun Microsystems with more than eleven million installations.[4][5]

[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 and alternatives

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 Programming language like PHP, Perl, Python, and Ruby."[6] Some developers prefer to use the M to mean mod perl or mod python and the P to mean PostgreSQL, reversing the M and the P in functionality. The acronym "LAMR" is occasionally used, to indicate Ruby on Rails in place of PHP.

Another variant designates the M to be Middleware (including Ruby, Perl, Python etc.) and the P to be PostgreSQL.

Other such stacks include unified application development environments such as Apple Inc.'s WebObjects, Java/Java EE, Grails, and Microsoft's .NET architecture.

Similarly, the L is occasionally replaced with an M (for Mac OS X), D (for Darwin OS), B (for BSD Unix variants) or W (for Microsoft Windows). In the case of Microsoft Windows, the A can be replaced with an I (for IIS) to create the acronym WIMP.

[edit] See also

[edit] References

[edit] External links