LAMP is an acronym for a web services solution stack consisting of Linux, the Apache HTTP Server, theMySQL or MariaDB database engines, and the PHPPerl or Python programming language. All components are free and open-source software, and the combination is suitable for building dynamic web pages.

Software components

High-level overview of LAMP components


Linux is a Unix-like and POSIX-compliant computer operating system assembled under the model of free and open source software development and distribution. The main form of distribution are Linux distributions, usually providing complete LAMP setups out of the box through their package management systems. Of the most widespread Linux distributions, as of 1 October 2013, 58.5% of web server market share is shared between Debian and Ubuntu, while RHEL, Fedora and CentOStogether share 37.3%.

Many options are available for customizing and securing Linux installations, for example by using SELinux, or by employingchroot environments.


The Apache HTTP Server is the most popular web server in use; as of June 2013, Apache was estimated to serve 54.2% of all active websites and 53.3% of the top servers across all domains. As of June 2014, Apache was estimated to serve 52.27% of all active websites followed by nginx with 14.36%, and 53.32% of the top servers followed by nginx with 18.16%.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. Released under the Apache License, Apache is open-source software. A wide variety of features is supported, and many of them are implemented as compiled modules which extend the core functionality of Apache. These can range from server-side programming language support to authentication schemes.

MySQL, MariaDB, MongoDB

MySQL is a multithreaded, multi-user, SQL database management system (DBMS) now owned by Oracle Corporation. MySQL has been owned by Oracle Corporation since January 27, 2010 through the purchase of Sun Microsystems. Sun had originally acquired MySQL on February 26, 2008. The MySQL development project has made itssource code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements.

MariaDB is a fork of MySQL.

MongoDB is a widely used open-source NoSQL database. MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (calling the format BSON), making the integration of data in certain types of applications easier and faster.

Other relational database management systems such as PostgreSQL are also viable.

PHP, Perl, Python

PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language. PHP code is interpreted by a web server with a PHP processor module, which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. It has also evolved to include a command-line interface capability and can be used in standalone graphical applications.[8]

PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP.

Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6.The Perl languages borrow features from other programming languages including C, shell scripting (sh), AWK, and sed. They provide powerful text processing facilities without the arbitrary data-length limits of many contemporary Unix commandline tools, facilitating easy manipulation of text files. Perl 5 gained widespread popularity in the late 1990s as a CGI scriptinglanguage, in part due to its parsing abilities.

Python is a widely used general-purpose, high-level programming language. Python supports multiple programming paradigms, including object-oriented, imperative andfunctional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library. Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts.

(software bundle)

Easy to code
Easy to deploy
Develop locally
Cheap and ubiquitous hosting
Free Open Source
Strong Community
Great Market Share
web scripting software

About the Author