Was ist LAMP-Stack?
Erfahren Sie, warum einige der heute beliebtesten Open-Source-Webanwendungen auf diesem bewährten Stack aus Linux, Apache, MySQL und PHP laufen.
Blauer und schwarzer Hintergrund
Was ist LAMP-Stack?

Sie haben vielleicht schon etwas über den LAMP-Stack gehört. Das wäre nicht überraschend, da einige der heute beliebtesten Open-Source-Webanwendungen – wie zum Beispiel WordPress und Drupal – auf LAMP ausgeführt werden.

Aber LAMP hat noch viel mehr zu bieten. LAMP war einer der ersten Open-Source-Software-Stacks für das Web und ist nach wie vor eines der gängigsten Verfahren, Webanwendungen bereitzustellen. Der Stack ist so weit verbreitet, dass Sie ihm im Laufe Ihrer beruflichen Laufbahn gewiss häufig begegnen werden, wenn Sie bestehende Anwendungen aktualisieren oder hosten. Und LAMP wird von vielen als die Plattform der Wahl für die Entwicklung neuer kundenspezifischer Web-Apps angesehen. 

Stabil, einfach, leistungsstark – dies sind Attribute, mit denen LAMP häufig beschrieben wird. All dies spricht dafür, sich mit LAMP zu befassen, und ist eine wertvolle Ergänzung für Ihre Qualifikation als Entwickler.

Komponenten des LAMP-Stacks

LAMP steht für Linux, Apache, MySQL und PHP. Zusammen bieten die Lösungen ein bewährtes Softwarepaket für die Bereitstellung von hochperformanten Webanwendungen. Jede Komponente trägt wesentliche Funktionen zum Stack bei:

  • Linux: Das Betriebssystem. Linux ist ein kostenfrei erhältliches Open-Source-Betriebssystem, das es seit Mitte der 1990er Jahre gibt. Heute hat es eine umfangreiche, weltweite Nutzerbasis, die sich über alle Branchen erstreckt. Linux ist unter anderem deshalb so beliebt, weil es mehr Flexibilität und Konfigurationsmöglichkeiten bietet als einige andere Betriebssysteme.

  • Apache: Der Web-Server. Der Apache-Web-Server verarbeitet Anfragen und stellt Web-Assets über HTTP bereit, sodass die Anwendung über eine einfache Web-URL allgemein zugänglich ist. Apache wird von einer offenen Community entwickelt und gewartet und ist ein ausgereifter, mit vielen Funktionen ausgestatteter Server, auf dem ein großer Teil der derzeit im Internet befindlichen Websites läuft. 

  • MySQL: Die Datenbank. MySQL ist ein Open-Source-Verwaltungssystem für relationale Datenbanken, um Anwendungsdaten zu speichern. Mit MySQL können Sie alle Ihre Informationen in einem Format speichern, das mit der Sprache SQL komfortabel abgefragt werden kann. SQL ist eine gute Wahl, wenn Sie es mit einer gut strukturierten Geschäftsdomäne zu tun haben und diese Struktur in das Back-End übersetzen wollen. MySQL eignet sich für die Ausführung großer und komplexer Sites. Sehen Sie sich „SQL vs. NoSQL Databases: What's the Difference?“ an, um mehr über SQL- und NoSQL-Datenbanken zu erfahren.

  • PHP: Die Programmiersprache. Die Open-Source-Scriptsprache PHP arbeitet mit Apache zusammen und hilft Ihnen, dynamische Webseiten zu erstellen. Sie können HTML nicht verwenden, um dynamische Prozesse wie das Abrufen von Daten aus einer Datenbank durchzuführen. Um diese Art von Funktionalität bereitzustellen, fügen Sie einfach PHP-Code in die Teile einer Seite ein, die dynamisch sein sollen. 

PHP ist für Effizienz ausgelegt. Es macht das Programmieren einfacher, indem es Ihnen erlaubt, neuen Code zu schreiben, auf „Aktualisieren“ zu klicken und sofort die resultierenden Änderungen zu sehen, ohne dass Sie kompilieren müssen. Wenn Sie es möchten, können Sie statt PHP auch Perl oder die immer beliebter werdende Sprache Python verwenden.

LAMP hat eine klassische Architektur mit mehreren Ebenen – wobei Linux die unterste Ebene bildet. Auf der nächsten Ebene befinden sich Apache und MySQL, gefolgt von PHP. Obwohl PHP nominell auf der obersten oder Präsentationsebene liegt, befindet sich die PHP-Komponente innerhalb von Apache.

Wie LAMP-Stack-Elemente zusammenarbeiten

Ein allgemeiner Blick auf die Ausführungsreihenfolge des LAMP-Stacks zeigt, wie die Elemente zusammenwirken. Der Prozess beginnt, wenn der Apache-Web-Server Anfragen für Webseiten vom Browser eines Benutzers erhält. Handelt es sich bei der Anfrage um eine PHP-Datei, übergibt Apache die Anfrage an PHP, das die Datei lädt und den in der Datei enthaltenen Code ausführt. PHP kommuniziert außerdem mit MySQL, um Daten abzurufen, auf die im Code verwiesen wird. 

PHP verwendet dann den Code in der Datei und die Daten aus der Datenbank, um den HTML-Code zu erstellen, den die Browser benötigen, um Webseiten anzuzeigen. Der LAMP-Stack kann nicht nur mit statischen Webseiten arbeiten, sondern auch mit dynamischen Seiten, bei denen sich der Inhalt bei jedem Laden in Abhängigkeit von Datum, Uhrzeit, Benutzeridentität und anderen Faktoren ändern kann. 

Nach dem Ausführen des Dateicodes übergibt PHP die resultierenden Daten wieder an den Apache-Web-Server, der sie an den Browser sendet. Diese neuen Daten können auch in MySQL gespeichert werden. Und natürlich werden alle diese Operationen durch das Linux-Betriebssystem ermöglicht, das die Basis des Stacks bildet.

Flexibilität des LAMP-Stacks

Auch wenn LAMP Linux als Betriebssystem nutzt, können Sie die anderen Komponenten auch mit einem anderen Betriebssystem verwenden, das Ihren speziellen Anforderungen entspricht. Zum Beispiel gibt es einen WAMP-Stack, der Microsoft Windows verwendet, MAMP mit dem Mac OS und sogar WIMP, das Windows und den Internet Information Services Webserver von Microsoft nutzt. 

Da LAMP komplett quelloffen und nicht proprietär ist, sind Sie also nicht von einem bestimmten Anbieter abhängig. Sie haben die Flexibilität, immer die geeignetsten Komponenten für bestimmte Projekte oder Geschäftsanforderungen auszuwählen.

LAMP bietet auch in anderer Hinsicht Flexibilität. Apache ist modular aufgebaut und Sie werden feststellen, dass es anpassbare Module für viele verschiedene Erweiterungen gibt. Diese Module reichen von der Unterstützung für andere Sprachen bis hin zu Authentifizierungsfunktionen. 

Weitere Vorteile von LAMP sind seine sichere Architektur und etablierte Verschlüsselungsverfahren, die sich im Unternehmen bewährt haben.

LAMP-Stack und Entwicklungseffizienz

LAMP kann Ihnen helfen, die Entwicklungszeiten zu verkürzen. Da LAMP ein Open-Source-Stack ist, der bereits seit mehr als einem Jahrzehnt verfügbar ist, gibt es heute ein umfangreiches LAMP-Ökosystem. Sie können auf dem aufbauen, was andere bereits in der Vergangenheit erarbeitet haben, und es sich zu eigen machen. Arbeiten Sie mit einem Apache-Modul, das Sie zu 80 % ans Ziel bringt, passen Sie die letzten 20 % an und sparen Sie dadurch viel Zeit.

Relevante Lösungen
LAMP-Konfiguration

Stellen Sie leistungsfähige Web-Apps auf Ihrem klassischen virtuellen Server bereit, der mit dem LAMP-Stack konfiguriert ist.

LAMP-Konfiguration erkunden
Ressourcen Was ist eine relationale Datenbank?

Eine relationale Datenbank organisiert Daten über mehrere Tabellen hinweg, die über Schlüssel miteinander verbunden sind. Structured Query Language (SQL) ist die standard Programmiersprache für die Interaktion mit relationalen Datenbanken.

Was ist MEAN-Stack?

MEAN – für MongoDB, Express.js, AngularJS und Node.js – ist eine durchgängiger JavaScript-Stack, der hauptsächlich für cloudfähige Anwendungen verwendet wird.

Machen Sie den nächsten Schritt

Bereit zu den ersten Schritten mit LAMP? Erfahren Sie in diesem einfachen Lernprogramm wie Sie die Bereitstellung und Konfiguration eines LAMP-Stacks auf einer Virtual Private Cloud (VPC) automatisieren, von der Erstellung einer VPC-Umgebung und Bereitstellung einer Virtual Server Instance (VSI), über die Installation des LAMP-Stacks bis zum Hosting, der Bereitstellung und der Konfiguration von WordPress. (Erfordert ein IBM Cloudkonto.)

Versuchen Sie das LAMP-Lernprogramm