LAMP (application stack): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Lance Knifehand
mNo edit summary
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{subpages}}
{{subpages}}
'''LAMP''' is an acronym that stands for 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]].
'''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 an open source [[web server]] middleware
* [[Apache HTTP Server|'''A'''pache HTTP Server]] is an open source [[web server]] [[middleware]]
* [[MySQL|'''M'''ySQL]] is an open source [[Relational Database Management System]] (RDBMS, also known simply as a [[Database]])
* [[MySQL|'''M'''ySQL]] is an open source [[Relational Database Management System]] (RDBMS, also known simply as a [[Database]])
* [[PHP|'''P'''HP]], [[Perl|'''P'''erl]], or [[Python|'''P'''ython]] are [[server-side programming language]]s which can be installed on Apache.
* [[PHP|'''P'''HP]], [[Perl|'''P'''erl]], or [[Python|'''P'''ython]] are [[server-side programming language]]s which can be installed on Apache.


= History =
== 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>


The combination of a [[web server]], [[database]], and [[Common Gateway Interface|CGI]] scripting was possible as early as 1993.<ref>[http://www.ietf.org/rfc/rfc3875.txt RFC3875: The Common Gateway Interface (CGI) Version 1.1]</ref><ref>[http://www.w3.org/Daemon/Features.html Change History for httpd]</ref><ref>[http://www.oracle.com/timeline/index.html History of Oracle]</ref> Yet it was not until 1994 that free [[database|databases]] became available for public download.<ref>[http://www.postgresql.org/docs/8.1/interactive/history.html History of PostgreSQL]</ref> By 1995, [[Apache HTTP server|Apache]] and [[PHP]] were released, allowing for a [[LAPP]] [[application stack]].<ref>[http://www.php.net/manual/en/history.php.php History of PHP]</ref><ref>{{cite newsgroup | title = Announce: Personal Home Page Tools (PHP Tools) | author = Lerdorf, Rasmus | date = 1995-06-08 | newsgroup = comp.infosystems.www.authoring.cgi | url = http://groups.google.com/group/comp.infosystems.www.authoring.cgi/msg/cc7d43454d64d133 | accessdate = 2006-09-17 }}</ref><ref>[http://httpd.apache.org/ABOUT_APACHE.html History of Apache]</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>
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>
 
= Variations =


== Variations ==
Variations of LAMP packages (referred to as AMP packages) can differ based on the choice of [[operating system]] and other software
Variations of LAMP packages (referred to as AMP packages) can differ based on the choice of [[operating system]] and other software
* [[LAPP]] substitutes [[PostgreSQL]] for [[MySQL]]
* '''LAPP''' substitutes [[PostgreSQL]] for [[MySQL]]
* A [[WAMP]] stack uses [[Microsoft Windows]].
* A '''WAMP''' stack uses [[Microsoft Windows]].
* The [[MAMP]] stack uses [[Apple Macintosh|Macintosh]] computers ([[UNIX]]-based [[Mac OS X]] replaces the operating system layer).
* 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.
* 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]].
* '''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]].
* '''OAMP''' runs on [[OpenBSD]].
* [[DAMP]] runs on the [[Darwin operating system]], but can also be used to refer to [[Dragonfly BSD]].
* '''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.
* '''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 '''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]] 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
* '''WIMP''' is another variation of the above, except using [[MySQL]] or [[MS Access]] as the database and [[PHP]] as the programming language


{| class="wikitable"
{| class="wikitable"
Line 57: Line 57:
| [[Apache HTTP server|Apache]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]], [[Ruby_programming_language|Ruby]], [[Lua]]
| [[PHP]], [[Perl]], [[Python]], [[Ruby_(programming_language)|Ruby]], [[Lua]]
|-
|-
| '''MAMP'''
| '''MAMP'''
Line 75: Line 75:
| [[Internet Information Services|IIS]]
| [[Internet Information Services|IIS]]
| [[SQL Server]]
| [[SQL Server]]
| [[.NET]]
| [[.NET Framework|.NET]]
|-
|-
| '''WIMP'''
| '''WIMP'''
Line 88: Line 88:
| [[MySQL]]
| [[MySQL]]
| [[PHP]], [[Perl]]
| [[PHP]], [[Perl]]
|-
| '''SAMP'''
| [[Solaris]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
|-
|-
| '''OAMP'''
| '''OAMP'''
Line 96: Line 102:
|-
|-
| '''DAMP'''
| '''DAMP'''
| [[Darwin operating system|Darwin]], [[DragonFlyBSD]]
| [[Darwin operating system|Darwin]], [[DragonFly BSD]]
| [[Apache HTTP server|Apache]]
| [[Apache HTTP server|Apache]]
| [[MySQL]]
| [[MySQL]]
| [[PHP]], [[Perl]], [[Python]]
| [[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.