Was ist LAMP?

LAMP ist eine kostenlose, quelloffene und eine der beliebtesten Webentwicklungsplattformen, die es Webentwicklern ermöglicht, Websites und Webanwendungen zu erstellen, einzusetzen und zu verwalten.

Zusammensetzung eines LAMP-Stacks

Sie verwendet vier Open-Source-Komponenten:

  1. Linux als Betriebssystem (zum Beispiel: Ubuntu, Redhat, …),
  2. Apache als Webserver,
  3. MySQL als relationales Datenbankmanagementsystem und
  4. PHP als objektorientierte Skriptsprache.

Der LAMP-Server ist die erste Wahl für alle Webentwickler/innen, weil er ausreicht, um eine Vielzahl von Website-Frameworks wie Joomla, Drupal und WordPress zu hosten.

1. Das Betriebssystem

Das Betriebssystem gehört zur Familie der Systemsoftware. Es ist der wichtigste Teil der Systemsoftware, welche immer konkret für eine spezielle Hardware oder Hardware-Familie entwickelt wurde.

Das Betriebssystem:

2. Der Webserver

Der Webserver ist eine Anwendung auf dem Rechnersystem, welche sich um die Auslieferung statischer Dateien, zum Beispiel unveränderlicher HTML– oder Bild-Dateien, oder dynamisch erzeugter Daten an den anfragenden Client (Internet Browser des Benutzers) kümmert. Die angeforderten Daten werden aus verschiedenen Dateien geladen und als fertig zusammengestellte Webseite ausgeliefert.

Bei den meisten Webseiten werden die Inhalte erst beim Aufruf aus unterschiedlichen Quellen zusammengestellt. Verschiedene Skriptsprachen interpretieren eine HTML-Dokument während des Aufrufs serverseitig und lassen es vom Webserver an den Webbrowser übertragen. Dabei wird der zuvor getrennte Inhalt und die Struktur aus Dateien und Datenbanken mit Content-Management-System zu einem Dokument verarbeitet.

3. Die Datenbank

Die Datenbank ist ein System zur elektronischen Sammlung und Verwaltung von Daten. Diese Daten werden dauerhaft in definierten Strukturen und Tabellen gespeichert. Die Struktur wird durch ein Datenmodell festgelegt.

4. Die Programmiersprache

Die Programmiersprache ist eine formale Sprache die Rechenvorschriften (Quelltext) formuliert, die von einem Rechnersystem ausgeführt werden können. Der Quelltext muss in die Maschinensprache des ausführenden Rechnersystems übersetzt werden. Dies ist ein für Menschen schwer lesbarer Binärcode. Wenn man von Maschinensprache spricht, so wird meistens Assemblersprache gemeint.

Genau wie bei einem Assembler müssen auch die Anweisungen einer Hochsprache vor der Ausführung in ein Format gebracht werden, das der Computer verarbeiten kann. Dazu verwenden nahezu alle modernen Hochsprachen einen Compiler. Er setzt die Anweisungen der Programmiersprache – den Quelltext – in eine ausführbare Datei um. Diese Datei kann dann vom Betriebssystem ausgeführt werden. Der Quelltext selbst wird also für die eigentliche Ausführung nicht benötigt.

Im LAMP-Stack wird die Programmiersprache PHP eingesetzt. Sie gehört zu den Interpreter-Sprachen. Hier wird der ausführbare Code nicht vor der Ausführung des Programms erzeugt, sondern zur Laufzeit des Programms. Das heißt, die einzelnen Anweisungen werden erst unmittelbar vor der Ausführung einzeln übersetzt.

In der folgenden Auflistung habe ich eine Zusammenstellung der verfügbaren Quellcodes gemacht.

Open Source Quellcodes zum LAMP-Server

Betriebssystem

Linux (Betriebssystem):
https://ubuntu.com/download/desktop
Linux-Kernel (Source Code):
https://github.com/torvalds/linux
https://www.kernel.org/releases.html

Webserver

Apache (Webserver):
https://httpd.apache.org/
Apache-Webserver (Quellcode Repository): https://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/

Datenbank

MySQL Source Code Dokumentation:
https://dev.mysql.com/doc/dev/mysql-server/latest/
MySQL Source Code :
https://dev.mysql.com/doc/refman/8.0/en/source-installation.html

Programmiersprache

PHP (Webseite):
https://php.net
PHP (Quellcodes):
https://www.php.net/get-involved

Mit dieser Auflistung sieht man also, dass die Quellcodes öffentlich im Internet zur Verfügung stehen und jede Person mit Programmierkenntnissen (vor allem in Maschinensprache C oder C++) mitwirken kann.

Zusammenfassend bietet der LAMP-Server viele Vorteile, darunter sind zu nennen:

Diese Eigenschaften machen diesen Server zu einer beliebten Wahl für die Erstellung von Webanwendungen und somit zu einem wichtigen Bestandteil vieler Unternehmen und Organisationen.

Alternative Stacks

Als Alternative zum LAMP-Stack (LAMP-Server) gibt es auch noch