So I don’t know if I’ll ever make it through these LAMP tutorials. My boredom horizon is really low when you take out people and literature and animation, and yes, I know, those are all people stories. But I’ve had an interest in learning Server Administration for a while.
Anyway, since the tutorial starts with the Wiki page for LAMP, I thought I would too.
The acronym LAMP refers to first letters of the four components of a solution stack, composed entirely of free and open-source software, suitable for building high-availability heavy-duty dynamic web sites, and capable of serving tens of thousands of requests simultaneously.
The meaning of the LAMP acronym depends on which specific components are used as part of the actual bundle:
- Linux, the operating system (i.e. not just the Linux kernel, but also glibc and some other essential components of an operating system);
- Apache HTTP Server, the web server;
- MySQL, MariaDB or MongoDB, the database management system;
- PHP, Perl, or Python, the scripting languages (respectively programming languages) used for dynamic web pages and web development.
The exact combination of the software included in a LAMP stack is prone to variation, for example Apache web server can be replaced by some other web server software. Though the original authors of these programs did not design them to work as a component of the LAMP stack, the development philosophy and tool sets are shared and were developed in close conjunction, so they work and scale very well together. The software combination has become popular because it is entirely free and open-source software, which means that each component can be adapted to the underlying hardware and customized to meet the specification as exactly as possible, without the slightest vendor lock-in. The complete software stack is also free of cost, maximizing the available budget for tailoring the hardware and software.
Due to the nature of free and open-source software and the ubiquity of its components, each component of the LAMP stack is very well tested regarding performance and security. At the same time, there is an abundance of experienced contractors to do the tailoring required for various customizations, or for complex setups. There is also constant development going on.
The components of the LAMP stack are present in the software repositories of most (if not all) Linux distributions, giving any end-user a simple way to install, set up and operate an initial LAMP stack out of the box. The web presence of a small company that does not have a high hit count and is not prone to frequent attacks, can therefore be administered by another small company, by a one man company or even by a student.
The LAMP bundle can be and often is combined with many other free and open-source software packages such as, for example:
- netsniff-ng for security testing and hardening
- Snort, an intrusion detection (IDS) and intrusion prevention system (IPS)
- RRDtool for diagrams
- Nagios, Collectd or Cacti, for monitoring.