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.
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:
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.
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.
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 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.
Stellen Sie leistungsfähige Web-Apps auf Ihrem klassischen virtuellen Server bereit, der mit dem LAMP-Stack konfiguriert ist.
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.
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.