Hallo!

Längst sind Webseiten keine starren Ansammlungen von Textseiten mehr. Sie erlauben den Zugriff auf riesige Datenbanken und geben dem Besucher individuelle Informationen. Die Möglichkeiten der Websprache HTML zur Darstellung statischer, also unveränderlicher, Seiten reichen dazu längst nicht mehr aus.

Als beliebtes Gespann dynamischer Internetseiten hat sich die Kombination aus Linux, Apache2, MySQL und PHP etabliert. Während MySQL ein mächtiges Datenbanksystem ist, bietet PHP als Programmiersprache unzählige Möglichkeiten, Daten zu verarbeiten und zu verwalten. Apache2 stellt als Webserver die Schnittstelle zum Internet dar und zumeist wird Linux als Betriebssystem eingesetzt. In diesem Fall spricht man entsprechend der Anfangsbuchstaben (Linux, Apache2, MySQL, PHP) oft von einem LAMP-System. Setzt man das Gespann hingegen unter Windows ein, so wird daraus ein WAMP-Server. Server deshalb, weil er Daten für Benutzer zur Verfügung stellt.

Die Zweckehe eignet sich vor allem dort trefflich, wo eine Datenbank online zur Verfügung gestellt werden soll. PHP liest die Daten, filtert die angefragten Daten heraus und erzeugt daraus eine dynamische HTML-Seite, die dem Besucher individuell angezeigt wird. Als Rückmeldung kann PHP unter anderem die Zahl der Abrufe in die Datenbank eintragen, die sich wiederum in Form von Statistiken abfragen lassen.

Wie bei allen Programmiersprachen gilt für PHP: Die Grundlagen lassen sich auf dem Papier erlesen, doch die Routine, die notwendig ist, um größere Projekte in Angriff zu nehmen, erlangst Du nur durch eigenes Probieren.

Grundlegendes

Täglich werden Milliarden von Internetseiten in die Webbrowser geladen. Sie werden von den Webservern bereitgestellt und über das HTTP1)-Protokoll übertragen. Der Webserver ist also nur eine einfache Datenschleuder?

Auf den ersten Blick wirkt das tatsächlich so, aber an die Webserver werden auch hohe Anforderungen gestellt:

  • Unterstützung verschiedener Transfer-Protokolle
  • Gleichzeitige Verbindungen mit mehreren Clients
  • Zugriff nur auf die freigegebenen Verzeichnisse
  • Stabilität
  • Unterstützung von Erweiterungen

Für den Client sieht es aber freilich so aus, als ob der Webserver nichts anderes macht, als Dokumente hin und her zu senden.

HTML-Dateien können aber nur statischen2) Inhalt aufweisen. Soll sich der Inhalt ändern, muss die HTML-Datei editiert und erneut auf dem Server abgespeichert werden. Das ist für einfache Prozesse ein möglicher Weg, aber stell dir eine HTML-Seite wie diese vor:

<html><head></head>
<body>
Heute ist Sonntag, der 08. September 2012
</body></html>

Es würde einfach zu weit führen, diese Seite jeden Morgen zu ändern. Um solchen Problemen zu begegnen entstanden letztlich die Websprachen.

Wie man einen Webserver einrichtet, beschreibt die nächste Lektion.

1) HyperText Transfer Protokoll
2) etwas ist »statisch«; stehend, bleibend