Dieser Abschnitt beschreibt die verschiedenen Parteien, die auf einem Webserver agieren. Dieses Hintergrundwissen ist hilfreich, wenn irgendwelche Berechtigungen oder Login-Daten nicht funktionieren.
Das Betriebssystem auf dem Server (i.d.R. Linux oder Windows) kontrolliert, welche Benutzer auf welche Dateien im lokalen Dateisystem zugreifen dürfen. Die Benutzer sind hier keine Personen, sondern Prozesse (Programme).
Der Webserver (i.d.r. Apache oder IIS) ist ein Programm, das auf dem Betriebssystem läuft. Um die Sicherheit des Betriebssystems nicht zu gefährden, agiert der Webserver meist mit den eingeschränkten Rechten eines speziellen Benutzers (z.B. www, webserver, IUSR). Aufgabe des Webservers ist es, Dateien aus dem lokalen Dateisystem über ein Netzwerkprotokoll (z.B. HTTP) an Benutzer im Internet oder Intranet auszuliefern.
PHP ist ein Modul, auf das der Webserver zurückgreift, wenn er PHP-Skripte ausliefern soll. Die PHP-Skripte werden von PHP zunächst ausgeführt und anschließend wird das Ergebnis ausgeliefert. PHP agiert meist (nicht immer) unter dem selben Benutzernamen wie der Webserver.
Der Datenbank-Server ist ein weiteres Programm, das auf dem Betriebssystem läuft. Sie beinhaltet mehrere Datenbanken, die wiederum Datenbank-Tabellen enthalten. Diese Tabellen sind mit den Blättern in einem Excel-Sheet vergleichbar. Die Datenbank stellt ihre Daten (z.B. über das Protokoll SQL) anderen Programmen (z.B. dem Webserver) zur Verfügung.
Die Zugriffe auf die Datenbank werden über Datenbank-Benutzer gesteuert. Bei einer MySQL-Datenbank weisen sich diese Benutzer durch einen Benutzernamen und ein Kennwort aus. Beachten Sie, dass die Datenbank-Benutzer oftmals unabhängig von den Benutzern des Betriebssystems sind. Der Betriebssystem-Benutzer „root“ kann also z.B. ein anderes Passwort nutzen als der Datenbank-Benutzer „root“.
Um die Verwirrung zu maximieren, kennt auch der Webserver eigene Webserver-Benutzer. Der häufigste Benutzer ist der anonyme Internet-Surfer, der eine Anfrage an den Webserver schickt. Der Webserver entscheidet dann, ob der Webserver-Nutzer auf die angeforderte Ressource zugreifen darf - evtl. fragt er nach Benutzername und Passwort, prüft, ob der Server aus einem bestimmten IP-Bereich stammt (z.B. dem Intranet) oder sich durch eine Domain-Kennung ausweisen kann.