fbpx
Wikipedia

LAMP (software bundle)

LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largely interchangeable.[1]

A high-level overview of LAMP's building blocks and overall system environment

Each letter in the acronym stands for one of its four open-source building blocks:

The components of the LAMP stack are present in the software repositories of most Linux distributions.[2]Now e-commerce, e-learning, SAAS, real estate, infotainment, and social media applications are developed using LAMP stack development processes.

History

The acronym LAMP was coined by Michael Kunze in the December 1998 issue of Computertechnik, a German computing magazine, as he demonstrated that a bundle of free and open-source software "could be a feasible alternative to expensive commercial packages". Since then, O'Reilly Media and MySQL teamed up to popularize the acronym and evangelize its use.[3] The term and the concept became popular because it was one of the first open-source software stacks for the web,[4] with sufficient capabilities to host a variety of web frameworks, such as Joomla, WordPress and Drupal.[citation needed]

Variants

The LAMP model has been adapted to other componentry, though typically consisting of free and open-source software. With the growing use of the archetypal LAMP, variations and retronyms appeared for other combinations of operating system, web server, database, and software language. For example, an equivalent installation on the Microsoft Windows operating system family is known as WAMP. An alternative running IIS in place of Apache is called WIMP. Variants involving other operating systems include MAMP (macOS), SAMP (Solaris), FAMP (FreeBSD), iAMP (IBM i) and XAMPP (cross-platform).[citation needed]

The web server or database management system also varies. LEMP is a version where Apache has been replaced with the more lightweight web server Nginx.[5] A version where MySQL has been replaced by PostgreSQL is called LAPP, or sometimes by keeping the original acronym, LAMP (Linux / Apache / Middleware (Perl, PHP, Python, Ruby) / PostgreSQL).[6]

The LAMP bundle can be combined with many other free and open-source software packages, including:

As another example, the software which Wikipedia and other Wikimedia Foundation projects use for their underlying infrastructure is a customized LAMP stack with additions such as Linux Virtual Server (LVS) for load balancing and Ceph and Swift for distributed object storages.[citation needed]

Software components

 
A high-level overview of LAMP's determining components (Firefox serves just as a browser example).

Linux

Linux is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution. Most Linux distributions, as collections of software based around the Linux kernel and often around a package management system, provide complete LAMP setups through their packages. According to W3Techs in October 2013, 58.5% of web server market share is shared between Debian and Ubuntu, while RHEL, Fedora and CentOS together shared 37.3%.[7]

Apache

The role of LAMP's web server has been traditionally supplied by Apache, and has since included other web servers such as Nginx.

Until 2022, Apache HTTP Server was the most popular web server on the public Internet. In June 2013, Netcraft estimated that Apache served 54.2% of all active websites and 53.3% of the top servers across all domains.[8] According to W3Tech's web server count, only in June 2022 did Nginx bypass Apache in popularity, with a share of 33.6% versus Apache at 31.4%.[9]

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 are 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.

MySQL and database alternatives

MySQL's original role as the LAMP's relational database management system has since been alternately provisioned by others like PostgreSQL, MariaDB (a community-developed fork of MySQL developed by its original developers), and even NoSQL databases like MongoDB.

MySQL is a multithreaded, multi-user, SQL database management system,[10] acquired by Sun Microsystems in 2008, which was then acquired by Oracle Corporation in 2010.[11] Since its early years, the MySQL team has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements.

PostgreSQL is also an ACID-compliant object-relational database management system developed by PostgreSQL Global Development Group.

MongoDB is a NoSQL database that eschews the traditional 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.

PHP and alternatives

PHP's role as the LAMP's application programming language has also been performed by other languages such as Perl and 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 via a PHP processor module, which generates the resulting web page. PHP commands can optionally 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.[12] PHP is free software released under the terms of PHP License, which is incompatible with the GNU General Public License (GPL) due to the restrictions PHP License places on the usage of the term PHP.[13]

Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Raku.[14] They provide advanced text processing facilities without the arbitrary data-length limits of many contemporary Unix command line tools,[15] facilitating manipulation of text files. Perl 5 gained widespread popularity in the late 1990s as a CGI scripting language for the Web, in part due to its parsing abilities.[16]

Python is a widely used general-purpose, high-level, interpreted, programming language.[17] Python supports multiple programming paradigms, including object-oriented, imperative, functional and procedural paradigms. It features a dynamic type system, automatic memory management, a standard library, and strict use of whitespace.[18] Like other dynamic languages, Python is often used as a scripting language, but is also used in a wide range of non-scripting contexts.

High availability and load balancing

Specific approaches are required for websites that serve large numbers of requests, or provide services that demand high uptime. High-availability approaches for the LAMP stack may involve multiple web and database servers, combined with additional components that perform logical aggregation of resources provided by each of the servers, as well as distribution of the workload across multiple servers. The aggregation of web servers may be provided by placing a load balancer in front of them, for example by using Linux Virtual Server (LVS). For the aggregation of database servers, MySQL provides internal replication mechanisms that implement a master/slave relationship between the original database (master) and its copies (slaves).[19]

Such high-availability setups may also improve the availability of LAMP instances by providing various forms of redundancy, making it possible for a certain number of components (separate servers) to experience downtime without interrupting the users of services provided as a whole. Such redundant setups may also handle hardware failures resulting in data loss on individual servers in a way that prevents collectively stored data from actually becoming lost. Beside higher availability, such LAMP setups are capable of providing almost linear improvements in performance for services having the number of internal database read operations much higher than the number of write/update operations.[19]

See also

References

  1. ^ "LAMP (Linux, Apache, MySQL, PHP)". SearchEnterpriseLinux. from the original on 28 November 2021. Retrieved 15 December 2021.
  2. ^ Wikimedia servers - Meta. meta.wikimedia.org. Wikimedia Foundation. 22 April 2013. Archived from the original on 10 December 2021. Retrieved 15 December 2021.
  3. ^ Kay, Russell (25 September 2006). "How To: LAMP". Computerworld. from the original on 11 September 2021. Retrieved 15 December 2021.
  4. ^ "LAMP stack". IBM cloud learn hub. IBM. October 2015. from the original on 15 December 2021. Retrieved 15 December 2021.
  5. ^ "LEMP stack (Linux, Nginx, MySQL, PHP)". lemp.io. from the original on 19 November 2021. Retrieved 16 December 2021.
  6. ^ . PostgreSQL. Archived from the original on 22 January 2014. Retrieved 22 January 2014.
  7. ^ "Debian/Ubuntu extend the dominance in the Linux web server market". W³Techs. Retrieved 16 December 2021.{{cite web}}: CS1 maint: url-status (link)
  8. ^ "June 2013 web server survey". Netcraft. from the original on 6 March 2021. Retrieved 16 December 2021.
  9. ^ "Usage Statistics of Web Servers". w3techs.com. Retrieved 18 June 2022.
  10. ^ . MySQL. Archived from the original on 2 July 2014. Retrieved 27 July 2014.
  11. ^ . InformationWeek. Archived from the original on 28 February 2008. Retrieved 27 July 2014.
  12. ^ "Introduction: What can PHP do?". PHP Manual. from the original on 15 December 2021. Retrieved 16 December 2021.
  13. ^ . Various licenses and comments about them. Free software foundation. Archived from the original on 16 December 2021. Retrieved 16 December 2021.
  14. ^ . perl.org. Archived from the original on 22 November 2021. Retrieved 16 December 2021. "Perl" is a family of languages, "Perl 6" is part of the family, but it is a separate language which has its own development team. Its existence has no significant impact on the continuing development of "Perl 5".
  15. ^ Wall, Larry; Tom Christiansen; Jon Orwant (July 2000). Programming Perl, third edition. O'Reilly Media. ISBN 0-596-00027-8.
  16. ^ Smith, Roderick W. (21 June 2002). Advanced Linux networking. Addison-Wesley Professional. p. 594. ISBN 978-0-201-77423-8.
  17. ^ "Programming language trends – O'Reilly radar". Radar.oreilly.com. 2 August 2006. from the original on 24 September 2021. Retrieved 16 December 2021.
  18. ^ . Python software foundation. Archived from the original on 16 December 2021. Retrieved 16 December 2021.
  19. ^ a b Simic, Dragan; Ristic, Srecko; Obradovic, Slobodan (April 2007). "Measurement of the achieved performance levels of the web applications with distributed relational database" (PDF). Electronics and energetics. Facta Universitatis. p. 31–43. (PDF) from the original on 7 October 2021. Retrieved 16 December 2021.

External links

  • Install a LAMP server on Ubuntu Linux
  • Install a LAMP server on Debian Linux
  • Install a LAMP server on SUSE Linux
  • Install a LAMP server on Amazon AWS

lamp, software, bundle, lamp, linux, apache, mysql, perl, python, acronym, denoting, most, common, software, stacks, many, most, popular, applications, however, lamp, refers, generic, software, stack, model, components, largely, interchangeable, high, level, o. LAMP Linux Apache MySQL PHP Perl Python is an acronym denoting one of the most common software stacks for many of the web s most popular applications However LAMP now refers to a generic software stack model and its components are largely interchangeable 1 A high level overview of LAMP s building blocks and overall system environment Each letter in the acronym stands for one of its four open source building blocks Linux for the operating system Apache HTTP Server MySQL for the relational database management system PHP Perl or Python programming languageThe components of the LAMP stack are present in the software repositories of most Linux distributions 2 Now e commerce e learning SAAS real estate infotainment and social media applications are developed using LAMP stack development processes Contents 1 History 2 Variants 3 Software components 3 1 Linux 3 2 Apache 3 3 MySQL and database alternatives 3 4 PHP and alternatives 4 High availability and load balancing 5 See also 6 References 7 External linksHistory EditThe acronym LAMP was coined by Michael Kunze in the December 1998 issue of Computertechnik a German computing magazine as he demonstrated that a bundle of free and open source software could be a feasible alternative to expensive commercial packages Since then O Reilly Media and MySQL teamed up to popularize the acronym and evangelize its use 3 The term and the concept became popular because it was one of the first open source software stacks for the web 4 with sufficient capabilities to host a variety of web frameworks such as Joomla WordPress and Drupal citation needed Variants Edit WAMP redirects here For other uses see WAMP disambiguation Main article List of AMP packages The LAMP model has been adapted to other componentry though typically consisting of free and open source software With the growing use of the archetypal LAMP variations and retronyms appeared for other combinations of operating system web server database and software language For example an equivalent installation on the Microsoft Windows operating system family is known as WAMP An alternative running IIS in place of Apache is called WIMP Variants involving other operating systems include MAMP macOS SAMP Solaris FAMP FreeBSD iAMP IBM i and XAMPP cross platform citation needed The web server or database management system also varies LEMP is a version where Apache has been replaced with the more lightweight web server Nginx 5 A version where MySQL has been replaced by PostgreSQL is called LAPP or sometimes by keeping the original acronym LAMP Linux Apache Middleware Perl PHP Python Ruby PostgreSQL 6 The LAMP bundle can be combined with many other free and open source software packages including netsniff ng for security testing and hardening Snort an intrusion detection IDS and intrusion prevention IPS system RRDtool for diagrams Nagios Collectd or Cacti for monitoring As another example the software which Wikipedia and other Wikimedia Foundation projects use for their underlying infrastructure is a customized LAMP stack with additions such as Linux Virtual Server LVS for load balancing and Ceph and Swift for distributed object storages citation needed Software components Edit A high level overview of LAMP s determining components Firefox serves just as a browser example Linux Edit Main article Linux Linux is a Unix like computer operating system assembled under the model of free and open source software development and distribution Most Linux distributions as collections of software based around the Linux kernel and often around a package management system provide complete LAMP setups through their packages According to W3Techs in October 2013 58 5 of web server market share is shared between Debian and Ubuntu while RHEL Fedora and CentOS together shared 37 3 7 Apache Edit Main article Apache HTTP Server The role of LAMP s web server has been traditionally supplied by Apache and has since included other web servers such as Nginx Until 2022 Apache HTTP Server was the most popular web server on the public Internet In June 2013 Netcraft estimated that Apache served 54 2 of all active websites and 53 3 of the top servers across all domains 8 According to W3Tech s web server count only in June 2022 did Nginx bypass Apache in popularity with a share of 33 6 versus Apache at 31 4 9 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 are 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 MySQL and database alternatives Edit Main articles MySQL MariaDB and MongoDB MySQL s original role as the LAMP s relational database management system has since been alternately provisioned by others like PostgreSQL MariaDB a community developed fork of MySQL developed by its original developers and even NoSQL databases like MongoDB MySQL is a multithreaded multi user SQL database management system 10 acquired by Sun Microsystems in 2008 which was then acquired by Oracle Corporation in 2010 11 Since its early years the MySQL team has made its source code available under the terms of the GNU General Public License as well as under a variety of proprietary agreements PostgreSQL is also an ACID compliant object relational database management system developed by PostgreSQL Global Development Group MongoDB is a NoSQL database that eschews the traditional 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 PHP and alternatives Edit Main articles PHP Perl and Python programming language PHP s role as the LAMP s application programming language has also been performed by other languages such as Perl and 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 via a PHP processor module which generates the resulting web page PHP commands can optionally 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 12 PHP is free software released under the terms of PHP License which is incompatible with the GNU General Public License GPL due to the restrictions PHP License places on the usage of the term PHP 13 Perl is a family of high level general purpose interpreted dynamic programming languages The languages in this family include Perl 5 and Raku 14 They provide advanced text processing facilities without the arbitrary data length limits of many contemporary Unix command line tools 15 facilitating manipulation of text files Perl 5 gained widespread popularity in the late 1990s as a CGI scripting language for the Web in part due to its parsing abilities 16 Python is a widely used general purpose high level interpreted programming language 17 Python supports multiple programming paradigms including object oriented imperative functional and procedural paradigms It features a dynamic type system automatic memory management a standard library and strict use of whitespace 18 Like other dynamic languages Python is often used as a scripting language but is also used in a wide range of non scripting contexts High availability and load balancing EditMain articles High availability Load balancing and Replication Specific approaches are required for websites that serve large numbers of requests or provide services that demand high uptime High availability approaches for the LAMP stack may involve multiple web and database servers combined with additional components that perform logical aggregation of resources provided by each of the servers as well as distribution of the workload across multiple servers The aggregation of web servers may be provided by placing a load balancer in front of them for example by using Linux Virtual Server LVS For the aggregation of database servers MySQL provides internal replication mechanisms that implement a master slave relationship between the original database master and its copies slaves 19 Such high availability setups may also improve the availability of LAMP instances by providing various forms of redundancy making it possible for a certain number of components separate servers to experience downtime without interrupting the users of services provided as a whole Such redundant setups may also handle hardware failures resulting in data loss on individual servers in a way that prevents collectively stored data from actually becoming lost Beside higher availability such LAMP setups are capable of providing almost linear improvements in performance for services having the number of internal database read operations much higher than the number of write update operations 19 See also Edit Free and open source software portal Linux portal Internet portalList of Apache MySQL PHP packages List of Nginx MySQL PHP packages LYME software bundle a software stack based on Erlang MEAN software stack a JavaScript software stack for building dynamic web sites and web applications Software stack Web content management system Web Platform InstallerReferences Edit LAMP Linux Apache MySQL PHP SearchEnterpriseLinux Archived from the original on 28 November 2021 Retrieved 15 December 2021 Wikimedia servers Meta meta wikimedia org Wikimedia Foundation 22 April 2013 Archived from the original on 10 December 2021 Retrieved 15 December 2021 Kay Russell 25 September 2006 How To LAMP Computerworld Archived from the original on 11 September 2021 Retrieved 15 December 2021 LAMP stack IBM cloud learn hub IBM October 2015 Archived from the original on 15 December 2021 Retrieved 15 December 2021 LEMP stack Linux Nginx MySQL PHP lemp io Archived from the original on 19 November 2021 Retrieved 16 December 2021 Featured users PostgreSQL Archived from the original on 22 January 2014 Retrieved 22 January 2014 Debian Ubuntu extend the dominance in the Linux web server market W Techs Retrieved 16 December 2021 a href Template Cite web html title Template Cite web cite web a CS1 maint url status link June 2013 web server survey Netcraft Archived from the original on 6 March 2021 Retrieved 16 December 2021 Usage Statistics of Web Servers w3techs com Retrieved 18 June 2022 Top reasons for product managers to embed MySQL Archived from the original on 2 July 2014 Retrieved 27 July 2014 Sun locks up MySQL looks to future web development InformationWeek Archived from the original on 28 February 2008 Retrieved 27 July 2014 Introduction What can PHP do PHP Manual Archived from the original on 15 December 2021 Retrieved 16 December 2021 GPL incompatible free software licenses Various licenses and comments about them Free software foundation Archived from the original on 16 December 2021 Retrieved 16 December 2021 About Perl perl org Archived from the original on 22 November 2021 Retrieved 16 December 2021 Perl is a family of languages Perl 6 is part of the family but it is a separate language which has its own development team Its existence has no significant impact on the continuing development of Perl 5 Wall Larry Tom Christiansen Jon Orwant July 2000 Programming Perl third edition O Reilly Media ISBN 0 596 00027 8 Smith Roderick W 21 June 2002 Advanced Linux networking Addison Wesley Professional p 594 ISBN 978 0 201 77423 8 Programming language trends O Reilly radar Radar oreilly com 2 August 2006 Archived from the original on 24 September 2021 Retrieved 16 December 2021 About Python Python software foundation Archived from the original on 16 December 2021 Retrieved 16 December 2021 a b Simic Dragan Ristic Srecko Obradovic Slobodan April 2007 Measurement of the achieved performance levels of the web applications with distributed relational database PDF Electronics and energetics Facta Universitatis p 31 43 Archived PDF from the original on 7 October 2021 Retrieved 16 December 2021 External links EditInstall a LAMP server on Ubuntu Linux Install a LAMP server on Debian Linux Install a LAMP server on SUSE Linux Install a LAMP server on Amazon AWS Install a LAMP server on CentOS 5 x Retrieved from https en wikipedia org w index php title LAMP software bundle amp oldid 1130002356, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.