LAMP (application stack): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Gaurav Banga
mNo edit summary
 
(26 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{subpages}}
{{subpages}}
'''LAMP''' is an acronym for Linux / Apache / MySQL / Perl or PHP, a common and popular [[application stack]] which web-based applications are built on. In particular many [[open source]] projects take advantage of this stack.
'''LAMP''' is an acronym that stands for "Linux, Apache, MySQL, Perl/PHP/Python." Packaged together, they create an [[application stack]] that is both free to use and [[open source]] which functions as a general purpose [[web server]].


* [[Linux|'''L'''inux]] is an open source operating system
* [[Linux|'''L'''inux]] is an open source [[operating system]]
* [[Apache HTTP Server|'''A'''pache HTTP Server]] is a popular open source web server
* [[Apache HTTP Server|'''A'''pache HTTP Server]] is an open source [[web server]] [[middleware]]
* [[mySQL|'''m'''ySQL]] is an open source RDBMS (Relational Database Management System)
* [[MySQL|'''M'''ySQL]] is an open source [[Relational Database Management System]] (RDBMS, also known simply as a [[Database]])
* [[PHP|'''P'''HP]] or [[Perl|'''P'''erl]] are server-side programming languages which are well interfaced with Apache
* [[PHP|'''P'''HP]], [[Perl|'''P'''erl]], or [[Python|'''P'''ython]] are [[server-side programming language]]s which can be installed on Apache.


Many [[Linux]] distributions implements natively a LAMP solution, including all the needed packages.  
== History ==
The concept of a LAMP stack (the free general purpose [[web server]]) had been possible from as early as 1994 when [[CERN httpd]] introduced the [[Common Gateway Interface]], which allowed for the server-side execution of code to create dynamic webpages.<ref>{{cite web | coauthors = D. Robinson and K. Coar| title = The Common Gateway Interface (CGI) Version 1.1| publisher = The Apache Software Foundation| date = October 2004| url = http://www.ietf.org/rfc/rfc3875.txt| accessdate = 2009-11-30}}</ref><ref>[http://www.w3.org/Daemon/Features.html Change History for CERN httpd]</ref> [[Linux]], the [[CERN httpd]], and [[server-side programming language|server-side programming languages]] such as [[Perl]] were available for free, <ref>{{cite press release | title = ANNOUNCE: Slackware Linux 1.00| publisher = Slackware Linux, Inc.| date = 1993-07-16| url = http://www.slackware.com/announce/1.0.php| accessdate = 2009-11-30}}</ref><ref>{{cite web | last = Ashton| first = Elaine| title = The Timeline of Perl and its Culture| publisher = Perl.org| date = 1999| url = http://history.perl.org/PerlTimeline.html| accessdate = 2009-11-30}}</ref> but it wasn't until later that same year and the release of [[Postgre95]] that it was possible to obtain a free database as well.<ref>{{cite web | title = A Brief History of PostgreSQL| publisher = The PostgreSQL Global Development Group| date = 1996| url = http://www.postgresql.org/docs/8.1/interactive/history.html| accessdate = 2009-11-30}}</ref>


==== Variations ====
By 1995, the [[Apache HTTP server]] and [[PHP]] were released, allowing for a [[#Variations|LAPP]] [[application stack]].<ref>{{cite web | title = History of PHP| publisher = The PHP Group| date = 27 Nov 2009| url = http://www.php.net/manual/en/history.php.php| accessdate = 2009-11-30}}</ref><ref>[http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133 PHP release newsgroup posting from 1995]</ref><ref>{{cite web | title = How Apache Came to Be| publisher = The Apache Software Foundation| url = http://httpd.apache.org/ABOUT_APACHE.html| accessdate = 2009-11-30}}</ref> Finally in 1996, [[MySQL]] was released online and a full LAMP stack was possible.<ref>{{cite book | last = DuBois| first = Paul| title = MySQL; Third Edition | publisher = Sams| date = 2005 | id = ISBN 0672326736}}</ref><ref>{{cite news | last = Grimmer| first = Lenz| title = From Visions to Reality - an interview with David Axmark, Co-Founder of MySQL AB| publisher = MySQL AB| date = July 2007| url = http://dev.mysql.com/tech-resources/interviews/david-axmark.html| accessdate = 2009-11-30}}</ref> The popularity of the LAMP stack quickly increased during the [[dot-com bubble]] of the late 1990s, when many [[New Economy]] firms ran their websites with [[open source]] software for budget reasons.<ref>{{cite paper | author = Geipel, Markus Michael| title = Dynamics of communities and code in open source software| date = 2009| publisher = ETH| url = http://e-collection.ethbib.ethz.ch/view/eth:254| format = [[PDF]]| accessdate = 2009-11-30}}</ref>
Other languages can fit with the "P" letter and are used interchangeably in place of PHP or Perl. [[Python]] is a popular example.


There exist also variations of this stack at the [[operating system]] layer as well.
== Variations ==
* A [[WAMP|'''W'''AMP]] stack is one where the operating system is [[Microsoft Windows]].
Variations of LAMP packages (referred to as AMP packages) can differ based on the choice of [[operating system]] and other software
* The [[MAMP|'''M'''AMP]] acronym is also used for [[Apple Macintosh|Macintosh]] computers ([[UNIX]]-based [[Mac OS X]] replaces the operating system layer).
* '''LAPP''' substitutes [[PostgreSQL]] for [[MySQL]]
* A [[SAMP|'''S'''AMP]] stack is where [[Sun Microsystems]] enters the web development arena replacing the operating system by [[Solaris]].
* A '''WAMP''' stack uses [[Microsoft Windows]].
* The '''MAMP''' stack uses [[Apple Macintosh|Macintosh]] computers ([[UNIX]]-based [[Mac OS X]] replaces the operating system layer).
* A '''SAMP''' stack uses the [[Sun Microsystems]] [[Solaris]] operating system.
* '''XAMPP''' is a cross-platform version of the [[bundle]] that can be downloaded and installed on [[Microsoft Windows]], [[Mac OS X]], [[Solaris]], or [[Linux]].
* '''OAMP''' runs on [[OpenBSD]].
* '''DAMP''' runs on the [[Darwin operating system]], but can also be used to refer to [[DragonFly BSD]].
* '''SLAMPP''' is a [[Linux distribution]] that can be booted from an [[optical disc drive]] to turn any computer into an instant home web server.
* A '''LYME''' stack uses [[Linux]] as the OS, [[Yaws_(web_server)|Yaws]] as the web server, [[Mnesia]] as the database, and [[Erlang_(programming_language)|Erlang]] as the programming language
* A fully Windows stack, '''WINS''' uses [[Windows Server]] as the OS, [[Internet Information Services]] (or IIS) as the web server, [[SQL Server]] as the database, and [[.NET Framework|.NET]] as the programming language.
* '''WIMP''' is another variation of the above, except using [[MySQL]] or [[MS Access]] as the database and [[PHP]] as the programming language
 
{| class="wikitable"
{|style="margin: 1em auto 1em auto"
|-
!  width = 7%|Acronym
! width = 28%|Operating system
! width = 14%|Web server
! width = 20%|Database manager
! width = 25%|Server programming
|-
| '''LAMP'''
| [[Linux]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
|''' LAPP'''
| [[Linux]]
| [[Apache HTTP server|Apache]]
| [[PostgreSQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
|''' LYME'''
| [[Linux]]
| [[Yaws_(web_server)|Yaws]]
| [[Mnesia]]
| [[Erlang_(programming_language)|Erlang]]
|-
| '''SLAMPP'''
| Linux bootable from optical drive
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]], [[Ruby_(programming_language)|Ruby]], [[Lua]]
|-
| '''MAMP'''
| [[Apple_Macintosh|Macintosh]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
| '''WAMP'''
| [[Microsoft Windows]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
| '''WINS'''
| [[Windows Server]]
| [[Internet Information Services|IIS]]
| [[SQL Server]]
| [[.NET Framework|.NET]]
|-
| '''WIMP'''
| [[Windows Server]]
| [[Internet Information Services|IIS]]
| [[MySQL]], [[MS Access]]
| [[PHP]], [[Perl]], [[Python]]
|-
| '''XAMPP'''
| Cross-platform
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]]
|-
| '''SAMP'''
| [[Solaris]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
| '''OAMP'''
| [[OpenBSD]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
| '''DAMP'''
| [[Darwin operating system|Darwin]], [[DragonFly BSD]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|}
 
== References ==
{{reflist}}[[Category:Suggestion Bot Tag]]

Latest revision as of 11:00, 9 September 2024

This article is developed but not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable, developed Main Article is subject to a disclaimer.

LAMP is an acronym that stands for "Linux, Apache, MySQL, Perl/PHP/Python." Packaged together, they create an application stack that is both free to use and open source which functions as a general purpose web server.

History

The concept of a LAMP stack (the free general purpose web server) had been possible from as early as 1994 when CERN httpd introduced the Common Gateway Interface, which allowed for the server-side execution of code to create dynamic webpages.[1][2] Linux, the CERN httpd, and server-side programming languages such as Perl were available for free, [3][4] but it wasn't until later that same year and the release of Postgre95 that it was possible to obtain a free database as well.[5]

By 1995, the Apache HTTP server and PHP were released, allowing for a LAPP application stack.[6][7][8] Finally in 1996, MySQL was released online and a full LAMP stack was possible.[9][10] The popularity of the LAMP stack quickly increased during the dot-com bubble of the late 1990s, when many New Economy firms ran their websites with open source software for budget reasons.[11]

Variations

Variations of LAMP packages (referred to as AMP packages) can differ based on the choice of operating system and other software

Acronym Operating system Web server Database manager Server programming
LAMP Linux Apache MySQL PHP, Perl, Python
LAPP Linux Apache PostgreSQL PHP, Perl, Python
LYME Linux Yaws Mnesia Erlang
SLAMPP Linux bootable from optical drive Apache MySQL PHP, Perl, Python, Ruby, Lua
MAMP Macintosh Apache MySQL PHP, Perl, Python
WAMP Microsoft Windows Apache MySQL PHP, Perl, Python
WINS Windows Server IIS SQL Server .NET
WIMP Windows Server IIS MySQL, MS Access PHP, Perl, Python
XAMPP Cross-platform Apache MySQL PHP, Perl
SAMP Solaris Apache MySQL PHP, Perl, Python
OAMP OpenBSD Apache MySQL PHP, Perl, Python
DAMP Darwin, DragonFly BSD Apache MySQL PHP, Perl, Python

References

  1. The Common Gateway Interface (CGI) Version 1.1. The Apache Software Foundation (October 2004). Retrieved on 2009-11-30.
  2. Change History for CERN httpd
  3. Slackware Linux, Inc. (1993-07-16). ANNOUNCE: Slackware Linux 1.00. Press release. Retrieved on 2009-11-30.
  4. Ashton, Elaine (1999). The Timeline of Perl and its Culture. Perl.org. Retrieved on 2009-11-30.
  5. A Brief History of PostgreSQL. The PostgreSQL Global Development Group (1996). Retrieved on 2009-11-30.
  6. History of PHP. The PHP Group (27 Nov 2009). Retrieved on 2009-11-30.
  7. PHP release newsgroup posting from 1995
  8. How Apache Came to Be. The Apache Software Foundation. Retrieved on 2009-11-30.
  9. DuBois, Paul (2005). MySQL; Third Edition. Sams. ISBN 0672326736. 
  10. Grimmer, Lenz. From Visions to Reality - an interview with David Axmark, Co-Founder of MySQL AB, MySQL AB, July 2007. Retrieved on 2009-11-30.
  11. Geipel, Markus Michael (2009). Dynamics of communities and code in open source software (PDF). ETH. Retrieved on 2009-11-30.