Welcome, and you are probably here because of the confusion between WAMP, LAMP, MAMP, and XAMPP. Techies sure like to abbreviate everything, and just what the heck are all of these? For a quick answer:
- WAMP – Windows, Apache, MySQL, PHP
- LAMP – Linux, Apache, MySQL, PHP
- MAMP – Mac, Apache, MySQL, PHP
- XAMPP – Cross-platform (X), Apache, MariaDB, PHP, Perl
You advanced computer ninjas who already know Apache, MySQL, and PHP should be laughing all the way now – Yes, the only difference between these packages are the supported operating systems. As for you beginners who are wondering what these are, read on to find out more!
TABLE OF CONTENTS
| Section A
Web Server Stack
| Section B
WAMP LAMP MAMP XAMPP
| Section C
THE WEB SERVER STACK
WAMP, LAMP, MAMP, and XAMPP, in a nutshell, are actually web server stacks – This section will explain more about what it is.
WHAT IS A SERVER STACK?
As according to WhatIs.com:
A server stack is the collection of software that forms the operational infrastructure on a given machine. In a computing context, a stack is an ordered pile.
In the more layman terms, a server stack is just a whole collection of software that you install on the server. The software then becomes a part of the server infrastructure that is essential to the operations.
WHAT ARE COMMONLY INSTALLED ON A WEB SERVER?
So in the case of a “web server stack”, it is a suite of software that turns a computer into a server capable of serving web pages. There is various software available out there in the market, but here is what we typically install on a web server:
|Web Server||HTTP server, or simply, handles the web pages.|
|Database Server||Processes transactions and holds various data.|
|Scripting Language||The “backbone scripts” that does the data crunching and processing.|
|Mail Server||Delivery and receiving of email.|
WAMP, LAMP, MAMP, XAMPP
From the above common components that we install on a web server, some of you sharp ninjas should have already figured out the mysteries of the Apache, MySQL, and PHP.
WINDOWS, LINUX, MAC
I don’t think these require any further introduction… They are operating systems.
Apache is an open source web-server that handles HTTP requests and serve out web pages accordingly.
MySQL is an open source database server offered by Oracle.
PHP (short for Hypertext Preprocessor) is a programming language that is mostly web-oriented.
LAMP, WAMP, MAMP – They are really just referring to an Apache-MySQL-PHP web server stack on Windows, Linux, and Mac. Mystery solved. 😆 But wait… XAMPP is a little bit different from the rest.
To set up a web server stack, we will normally have to install Apache, MySQL, and then PHP individually. There are quite a lot of tutorials on how to do this online, but thankfully, someone compiled all of it into a single installation package called XAMPP – Available on Windows, Linux and Mac.
- XAMPP stands for Cross-Platform (X), Apache, MariaDB, PHP, and Perl.
- What is MariaDB? Basically, some history here. MySQL used to be open source, then Oracle took over it. The original developers of MySQL had some concerns over a company taking over it, and thus created a “spin-off” called MariaDB.
- MariaDB is still highly compatible with MySQL.
- Perl is yet another programming language.
- XAMPP is one of the more popular choices out there if you want to set up a web server fast.
DOWNLOAD LINKS & MORE
Finally, this is a small section for you guys who want to set up your own server stack – Here are the links to download the compiled AMP packages, so you don’t have to individually install each component.
THE INSTALLER PACKAGES
Of course, the world is huge and there are a couple of other people who have compiled similar packages like XAMPP. Here are the few popular ones that I know of:
|XAMPP||Windows, Linux, Mac||Click Here|
|WAMP Server||Windows||Click Here|
|MAMP Server||Windows, Mac||Click Here|
|AMPPS||Windows, Linux, Mac||Click Here|
INDIVIDUAL COMPONENTS AND ALTERNATIVES?
One last point to make here – Please take note Apache-MySQL-PHP is not the only possible web server stack. There are many other technologies out there:
|Component||Examples & Links|
|Web Server||Microsoft IIS, NGINX, LiteSpeed|
|Database Server||MSSQL, PostgreSQL, SQLite|
|Server-side Language||ASP, Python, Ruby|
|Mail Server||Mercury, Sendmail|
So yep, if you have a Windows, IIS, MSSQL, PHP stack, you can call it a WIMP. 😆
WHICH IS THE BEST?
Thank you for reading, and we have come to the end of this guide. I hope this has explained the mysteries of WAMP, LAMP, MAMP, and XAMPP. But to install the individual Apache, MySQL, PHP yourself, or to download the installer package – Which is better? Personally, I have always used XAMPP, and that has saved me a lot of time trying to configure stuff correctly.
That said, there is nothing wrong if you want to try out the other packages, or learn the hard way of installing everything yourself. If you have anything to share with this guide, please feel free to comment below. Good luck!