Jump to content

LAMP (software bundle)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by ScotXW (talk | contribs) at 00:33, 12 September 2013 (→‎Linux: lame). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The LAMP software bundle (here additionally with Squid). A high performance and high-availability solution for a hostile environment

The acronym LAMP refers to first letters of the components of the solution stack composed entirely of free and open-source software to build high-availability heavy duty dynamic web sites that can serve ten thousands of requests:

The exact combination of the software included in a LAMP stack is prone to variation, e.g. Apache web server can be replaced by some other web server software. Though the original authors of these programs did not design them all to work as a component of a LAMP stack, the development philosophy and tool sets are shared and were developed in close conjunction, so they work and scale very well together. The software combination has become popular because it is entirely free and open-source software, that means that each and every component can be adapted to the underlying hardware solution and customized to meet job specification as exactly as possible without the slightest vendor lock-in. The complete software stack also happens to be free of cost, leaving maximum financial leverage to be put into the tailoring of the entire hard- and software solution, which can be outsourced to external contractors.

Due to the nature of free and open-source software and the ubiquity of its components, each and every component of the LAMP stack is very well tested regarding performance and security and there is an abundance of experienced contractors to do the tailoring respectively the system administration. There is also a constant development going on.

The components of the LAMP stack are present in the software repositories of most (if not all) Linux distributions, giving any end-user a simple way to install, set up and operate an initial LAMP stack out of the box. The web presence of a small company which does not have a high hit count and is not prone to frequent attacks, can therefore be administered by another small company, by a one man company or even by a student.

The LAMP stack may be one of the reasons for the very high Linux adoption rate among web servers.

Software components

Linux

Like the other LAMP components, Linux is free free and open-source software which means the source code is available for the operating system, which can be adapted according to specific needs. There is a lot of additional software packages available, like e.g. RRDtool, MRTG, Collectd, Cacti, Django (web framework), etc.

Apache

Apache is an open source web server, the most popular in use.[1]

MySQL

MySQL is a multithreaded, multi-user, SQL database management system (DBMS) now owned by Oracle Corporation.[2] Alternatives at this level of the stack do also exist, primarily the MySQL fork MariaDB. Other RDBM Systems such as PostgreSQL (LAPP) are also viable.[3]

MySQL has been owned by Oracle Corporation since January 27, 2010 through the purchase of Sun Microsystems.[4][5] Sun had originally acquired MySQL on February 26, 2008.

MariaDB

MariaDB is a fork of MySQL.

PHP, Perl, Python

PHP is a reflective programming language originally designed for producing dynamic web pages. PHP is used mainly in server-side application software. Perl and Python can be used similarly.

Variants and equivalents on other platforms

With the growing use of LAMP, variations and retronyms appeared for other combinations of operating system, web server, database, and software language. For example the equivalent installation on a Microsoft Windows operating system is known as WAMP. An alternative running IIS in place of Apache called WIMP. Variants involving other operating systems include MAMP (Macintosh), SAMP (Solaris), FAMP (FreeBSD) and iAMP (iSeries). The web server or database management system also vary. LEMP is a version where Apache has been replaced with the more lightweight web server Nginx.[6] A version where MySQL has been replaced by PostgreSQL is called LAPP.

A server running LAMP may be colloquially known as a lamp box, punning on the type of post box. The GNU project is advocating people to use the term "GLAMP" since what is known as "Linux" includes the GNU tools as well as the Linux kernel.[7]


Similar terms exist for essentially the same software suite (AMP) running on other operating systems, such as Microsoft Windows (WAMP), Mac OS (MAMP), iSeries (iAMP), or OpenBSD (OAMP).

See also

References

  1. ^ "August 2012 Web Server Survey". Netcraft. Retrieved 2012-08-23.
  2. ^ Top Reasons for Product Managers to Embed MySQL on [mySQL.com]
  3. ^ A LAPP appliance on [turnkeylinux.org]
  4. ^ Robin Schumacher & Arjen Lentz Dispelling the Myths
  5. ^ Charles Babcock, InformationWeek Sun Locks Up MySQL, Looks To Future Web Development
  6. ^ Setting Up a LEMP stack on Ubuntu 9.04
  7. ^ GNU.org -- Words to avoid