Better Know an Acronym: What is LAMP/MAMP/WAMP?

One of the hard parts about learning how to develop software is the minefield of acronyms that exists in the industry. The goal of this series of articles is to shine a light on an acronym so the next time another developer uses it in conversation you can follow along without missing a beat.

In this article, we’re going to be discussing the acronym LAMP. We’re picking this acronym because we’ve used it a couple of times in other articles and in doing so we have to use other acronyms which we’ll define in future articles. :-)

What Is LAMP?

LAMP is a shorthand way to communicate the major technologies used in our web service stack. Every web service needs at least four components:

  1. An operating system
  2. An HTTP server
  3. A persistence layer
  4. A programming language

The acronym LAMP comes from the first letters of each of the technologies that are used.

  1. Linux Operating System
  2. Apache HTTP Server
  3. MySQL Database
  4. PHP/Python/Perl Programming Languages

Other Layers?

The lovely thing is that all of these layers can be swapped out if we have different needs. When we do that it creates a new acronym for us to use.

For example, if we’re swap out Window for Linux we get WAMP.

  1. Windows
  2. Apache
  3. MySQL
  4. PHP/Python/Perl

Using macOS? Now we’re talking about MAMP.

  1. macOS
  2. Apache
  3. MySQL
  4. PHP/Python/Perl

What if we’re using PostgresSQL? It’s now LAPP.

  1. Linux
  2. Apache
  3. PostgresSQL
  4. PHP/Python/Perl

Prefer Enginx? We’re running a LEMP stack.

  1. Linux
  2. Enginx
  3. MySQL
  4. PHP/Python/Perl

As you can see there are a huge number of possible combinations all with their acronym.

As always, if you have questions related to LAMP or the PHP ecosystem you would like us to answer in future articles please ask them in the comments below and we’ll add them to our list.