LAMP (application stack)
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.
- Linux is an open source operating system
- Apache HTTP Server is an open source web server middleware
- MySQL is an open source Relational Database Management System (RDBMS, also known simply as a Database)
- PHP, Perl, or Python are server-side programming languages which can be installed on Apache.
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]
Variations
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
- A WAMP stack uses Microsoft Windows.
- The MAMP stack uses 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 as the web server, Mnesia as the database, and 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.
- WIMP is another variation of the above, except using MySQL or MS Access as the database and PHP as the programming language
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 |
OAMP | OpenBSD | Apache | MySQL | PHP, Perl, Python |
DAMP | Darwin, DragonFly BSD | Apache | MySQL | PHP, Perl, Python |
References
- ↑ RFC3875: The Common Gateway Interface (CGI) Version 1.1
- ↑ Change History for CERN httpd
- ↑ Slackware Linux distribution release announcement from 1993
- ↑ Perl release newsgroup posting from 1988
- ↑ History of PostgreSQL
- ↑ History of PHP
- ↑ PHP release newsgroup posting from 1995
- ↑ History of Apache
- ↑ DuBois, Paul (2005). MySQL; Third Edition. Sams. ISBN 0672326736.
- ↑ Interview with David Axmark, Co-Founder