Ein Hochstapler namens LAMP-Stack
Bildquelle: Pexels
Liebes Tagebuch,
sagen dir Speed Stacks noch etwas? Als Teenie war das bei mir ja der totale Hype. In einem Affenzahn hat man die farbigen Plastik-Becher zu Pyramiden gestapelt und im Wettlauf gegen die Zeit wieder zusammenfallen lassen. Ich war darin gar nicht so übel! Eines Tages muss mein Set verschwunden sein – vermutlich, weil meine Eltern das Geklapper nicht mehr hören konnten. Und das wäre mir nicht einmal aufgefallen, wenn ich heute nicht über Software recherchiert und mich daran erinnert hätte. Denn mein damaliges Hobby hilft mir, eine Brücke zu schlagen:
Beim Speed Stack wurden die einzelnen Becher so angeordnet, dass daraus etwas entsteht. Und genauso ist das bei Software! Damit daraus eine Anwendung wird, müssen mehrere Softwareschichten kombiniert werden. An der Spitze dreht sich alles um den Nutzer bzw. darum, einen Auftrag entgegenzunehmen und zu verarbeiten. Das baut auf die unteren Ebenen wie etwa dem Betriebssystem auf. Alle Schichten zusammen, sozusagen im „hochgestapelten“ Zustand, bezeichnet man als Software-Stack.
Als eine Variante, um Webinhalte bereitzustellen, lerne ich das LAMP-Stack kennen. Seine vier Bestandteile spielen zusammen, um eine Webseite zu betreiben. Als ich erstmals davon hörte, dachte ich, das ist nur was für Profis. Aber ohne dass ich es wusste, habe ich diese Webseite hier auf einem LAMP-Stack aufgebaut! Es verdankt seinen Namen den Anfangsbuchstaben seiner vier Schichten:1.
L wie Linux
Wie wir schon gelernt haben: Kein Betrieb ohne Betriebssystem. Auch wenn man eine Webseite aufsetzen will, braucht man es als erstes. Kurzer Rückblick, warum: Das Betriebssystem vermittelt zwischen Software und Hardware und koordiniert die Flut von Vorgängen – quasi so, wie der Polizist den Verkehr regelt.
Linux hat den Vorteil, dass es als Open Source Software frei verfügbar ist, was es auch dementsprechend beliebt macht. Fun Fact: Kommt statt Linux das Betriebssystem Windows zum Einsatz, spricht man vom – surprise, surprise – WAMP Stack.
A wie Apache
Mit Apache assoziiere ich zuallererst den Indianderstamm, den ich aus den Western-Filmen kenne (nicht ganz freiwillig. Früher hatte Papa die Fernbedienung). Und tatsächlich scheint es in Würdigung des Urvolks getauft worden zu sein.2. Apache ist eine Software, die einem Server ermöglicht, Webseiten zu betreiben. Grundlegend können Server ja für vieles eingesetzt werden, zum Beispiel zur Dateiverwaltung oder zum Management von E-Mails etc. Wird Apache auf dem Gerät installiert, handelt es sich um einen Webserver, sprich einer Variante, die zum Betreiben von Webseiten befähigt ist.3. Auch dabei haben wir es mit einer Open Source Software zu tun.4.
M wie MySQL
Das M in LAMP-Stack steht für MySQL.5. Das ist eine Datenbank, die häufig für Webseiten verwendet wird. Ich versuche, mir die Rolle der Datenbank ein bisschen wie meine Speisekammer vorzustellen. Dort verräume ich meine Lebensmittel nach einem (halbwegs) geordneten System. Brauche ich Zucker, weiß ich (meistens), wo ich ihn holen muss.
Bei der Datenbank ist das ähnlich: Meine Tagebucheinträge werden in der Datenbank abgelegt und auch von dort geschnappt, wenn ein Leser sie aufruft.
Ein anderes Beispiel sind Kunden-Logins, das heißt, wenn ich mich bei einem Onlineshop registriert habe. Meine Angaben beim Login werden damit verglichen, welcher Benutzername und welches Passwort für mich in der Datenbank hinterlegt sind. Nur bei einer Übereinstimmung geht’s mit dem Shoppen weiter.
MySQL strukturiert kurz gesagt die Daten der Webseite. Das SQL steht übrigens für Structured Query Language. Das ist die Programmiersprache, in der die Datenbank „angesprochen“ wird.6.
P wie PHP
Kommen wir zum letzten Bestandteil im LAMP-Stack. Das P steht für PHP (PHP Hypertext Preprocessor) und bezeichnet die Sprache, mit der Webseiten gebaut werden.7. Das beste Beispiel ist mein Tagebuch hier unter itgirlsjournal.de. Schauen wir uns die Startseite an: Sie beginnt mit dem Titelbild, danach kommt eine kleine Bildgalerie, gefolgt von meinen Beiträgen. Doch eigentlich ist diese ganze Optik erst einmal nicht mehr als ein Text – im Fachjargon auch Skript genannt.8. Das kann man sich wie das Drehbuch eines Hollywood-Films vorstellen. Selbst für Titanic gab es ein solches Buch und darin stand, Leonardo DiCaprio soll die Reling erklimmen und begeistert rufen „Ich bin der König der Welt!“
In der IT-Welt führt das Skript die Regie und sagt „Zeige das Titelbild, das du an Platz x in der Datenbank findest. Zeige es in der Höhe y und der Breite z“. Dieses PHP-Skript liegt auf meinem Webserver gespeichert.
Besucht jemand meine Seite, soll natürlich nicht dieser Regie-Text angezeigt werden, sondern das Ergebnis daraus! Diese Verwandlung übernimmt der sogenannte Interpreter. Er kann das PHP-Skript lesen und es in eine Datei übersetzen, die dem Webbrowser des Besuchers sagt, wie er meine Seite darzustellen hat.9.
Puh, ganz im Ernst: Ich habe total unterschätzt, wie viel in diesen vier Buchstaben steckt. Aber am Ende meiner zähen Recherchen habe ich sogar ein Berufsbild verstanden, das mir völlig unklar war. Mein Kollege, der für unsere Firmenwebseite zuständig ist, nennt sich auf seiner Visitenkarte nämlich Full Stack Developer. Ich habe mich immer gefragt, was das mit unserem Webauftritt zu tun hat. Um es wieder mit meinen Speed-Stacks auszudrücken: Bislang war eine Webseite für mich schlichtweg eine Pyramide. In einem Stück.
Nun stelle ich fest, dass es einzelne Elemente sind, durch die es erst zu diesem Gebilde kommt. Meine Lektion aus dem heutigen Eintrag ist: Mein Kollege aus dem Webseiten-Team kennt sich mit allen Elementen aus und weiß, wie er sie anordnen muss, damit Seitenbesucher es mit einem soliden Gebilde zu tun haben. In der nächsten Pause muss ich ihn direkt mal fragen, wie er so zu Hochstaplerei steht…
Quellen:
- https://www.cloudcomputing-insider.de/was-bedeutet-lamp-a-808284/
- https://www.computerweekly.com/de/definition/Apache-HTTP-Server
- https://www.seo-analyse.com/seo-lexikon/a/apache/
- https://techterms.com/definition/apache
- https://www.bigdata-insider.de/was-ist-mysql-a-614184/
- https://kinsta.com/de/wissensdatenbank/was-ist-mysql/
- https://www.hostpress.de/blog/was-ist-php-und-wofuer-wird-es-verwendet/
- https://www.dev-insider.de/was-ist-php-a-578773/
- http://php.lernenhoch2.de/lernen/php-einleitung/wie-funktioniert-php/