====== Prozesse und Benutzer auf einem Webserver ====== 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.