LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件:
虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。 其他的方案包有苹果的 WebObjects(最初是应用服务器),Java/J2EE 和 微软的.NET架构。
LAMP包的脚本组件中包括了CGIweb接口,它在90年代初期变得流行。这个技术允许网页浏览器的用户在服务器上执行一个程序,并且和接受静态的内容一样接受动态的内容。程序员使用脚本语言来创建这些程序因为它们能很容易有效的操作文本流,甚至当这些文本流并非源自程序自身时也是。正是由于这个原因系统设计者经常称这些脚本语言为胶水语言。
Michael Kunze 在一篇为德国电脑杂志c't(1998,第12期,230页)而写的文章中使用了缩略语 LAMP。这篇文章意在展示一系列的自由软件成为了商业包的替换物。由于IT世界众所周知的对缩写的爱好,Kunze提出LAMP这一容易被市场接受的术语来普及自由软件的使用。
O'Reilly和MySQL AB在英语人群中普及了这个术语。的确,MySQL AB 自己的市场推广在某种程度上基于LAMP包的推广。其他的项目和厂商则推行这个术语的一些变体,包括:
- LAPP(以PostgreSQL 替代 MySQL)
- LAMP(最后两个字母意味着 Middleware 和 PostgreSQL)
- WAMP(以 Microsoft Windows 替代 Linux)
- MAMP(以 Macintosh 替代 Linux)
- LAMJ 意指 JSP/servlet
- BAMP 以 BSD 替代 Linux
- WIMP 指 Microsoft Windows, Microsoft IIS,MySQL, PHP
- AMP
- XAMP[1](xml + apache + mysql + php)
一些人借用LAMP 来描述一类可定制组成的系统,而不是制造一系列新词,并用它来表示这些系统和统一打包的页面开发环境的不同(例如ASP, .NET 和 J2EE)。