LAMP__Softwarepaket_
LAMP__Softwarepaket_

== Komponenten ==
Der ursprüngliche LAMP Stack besteht aus den vier Komponenten Linux (Betriebssystem), Apache (Webserver), MySQL (Datenbanksystem) und PHP (serverseitiger Skript-Interpreter). Diese Komponenten sind wiederverwendbar und in unterschiedlichem Umfeld und Zusammensetzung nutzbar.
Im Laufe der Zeit ist neue Software geschrieben und ebenfalls unter einer freien Lizenz verfügbar gemacht worden, z. B. diverse Webserver. Diese Software kann die traditionellen Komponenten ersetzen, werden dann aber anders bezeichnet (siehe unter ''Varianten''). Auch sind zusätzliche Komponenten üblich, wie zum Beispiel Squid, Snort, Nagios oder das RRDtool um Statistiken zu erstellen.
Die einzige Spezialisierung besteht in den Softwareeinheiten, die den Skriptinterpreter mit dem Webserver einerseits und mit dem Datenbanksystem andererseits verbinden, hier libapache2-mod-php5 und php5-mysql genannt nach den Paketnamen in Ubuntusystemen.
Eine Anfrage aus dem Web erreicht zuerst die Netzwerkkarte. Das Betriebssystem stellt fest, welches Programm zur Verarbeitung vorgesehen ist. Das geschieht anhand der Portnummer, die explizit oder implizit in der Anfrage enthalten ist. Linux leitet die Anfrage an den Apache-Server weiter. Die Anfrage enthält eine Adresse, anhand derer der Webserver entscheiden kann, welche Datei aus dem Dateisystem zu holen ist. Ist das eine HTML-Datei, so gehören in den meisten Fällen weitere Dateien dazu, etwa Bilder im JPEG-Format. Ist in der Datei gekennzeichnet, dass ein Skript auszuführen ist, so ruft der Webserver den entsprechenden Skriptinterpreter auf, hier PHP. Im Skript lassen sich prinzipiell beliebige Anweisungen ausführen, im Umfeld dynamisch angepasster Webseiten werden aber häufig Datenbankinhalte aufbereitet. Dazu ruft das Skript das Datenbanksystem auf.
Sind die Datenbankinhalte beschafft, im Skript formatiert und aufbereitet sowie auf dem Webserver mit den sonstigen Inhalten aus dem Dateisystem verbunden, so wird das Ergebnis an das Betriebssystem zurückgegeben, das es über die Netzwerkkarte ausliefert.