# Lokaler Server

Ein lokaler Server ist ein Server, der auf einem Arbeitsplatzrechner eingerichtet ist und mit einem auf demselben Rechner vorhandenen Client wie ein Netzwerk-angebundener Server Daten austauscht. Im Jargon wird ein lokaler Server manchmal nach seinem Domainnamen auch als „localhost“ oder „local host“ bezeichnet.

## Zweck

Es gibt mehrere Gründe dafür, auf einem Arbeitsplatzrechner einen lokalen Server einzurichten, etwa:
* Entwickeln und Testen von Serveranwendungen auch dann, wenn (zeitweise) kein oder nur ein schlechter, z. B. langsamer, Internetanschluss vorhanden ist oder wenn man während der Entwicklung wiederkehrende Umständlichkeiten des Internets, etwa lange Übertragungszeiten, vermeiden möchte.
* Vereinfachung anderer serverbezogener Tests wie z. B. das Installieren eines Content-Management-Systems auf dem lokalen Server
* Ausstatten des eigenen Rechners mit Serverfähigkeiten, etwa .php- und SQL-Verarbeitung, Spieleanwendungen oder ähnliches, um diese am Arbeitsplatz zu nutzen.

## Adressierung

Per Internetstandard (RFC 2606 und RFC 6761) sind einem lokalen Server
* die IP-Adresse 127.0.0.1 (bzw. ::1 für IPv6) und
* der korrespondierende Domainname localhost
zugewiesen. Die lokalen Komponenten des Arbeitsplatzrechners sind diesen Internetstandards folgend so eingerichtet, dass sie auf die Eingabe von 127.0.0.1 oder localhost als Adresse im Browser hin versuchen, den lokalen Server zu erreichen.
Die standardisierte Zuweisung des Domainnamens localhost für einen lokalen Server führte dazu, dass dieser Domainname (oder sprachrichtig „local host“) auch manchmal zur Bezeichnung des lokalen Servers selbst verwendet wird.

## Realisierung

Damit ein Arbeitsplatzrechner einen lokalen Server nachbildet, müssen auf dem Arbeitsplatzrechner Komponenten zur Realisierung des lokalen Servers installiert werden. Er ist nicht Teil der Grundausstattung eines Arbeitsplatzrechners.
Ein lokaler Server kann mit Software nachgebildet werden, so dass in der Regel die Softwareinstallation für die Bildung eines lokalen Servers ausreicht; zusätzliche Hardware ist in der Regel nicht nötig. Es gibt verschiedene Softwarepakete für die Bildung eines lokalen Servers. Ein freies, leicht installierbares Softwarepaket ist XAMPP. Andere Pakete sind WAMP, LAMP und MAMP. Die Begriffe sind Akronyme: „AMP“ darin steht dabei jeweils für mindestens Apache, MySQL und PHP, während der erste Buchstabe jeweils stellvertretend für Windows, Linux und Macintosh steht. Das X bei Xampp weist auf „cross platform“, also auf Unabhängigkeit von einem bestimmten Betriebssystem hin.

## Eigenschaften

Ein lokaler Webserver hat weitgehend Eigenschaften wie ein netzangebundener Server. Er präsentiert dem Client unter 127.0.0.1 bzw. localhost ein Root-Verzeichnis, hinter dem sich eine herkömmliche, allerdings nur lokal gebildete Website entfalten kann, kommuniziert mit dem lokalen Client über das Internet Protocol, kann eingangsseitig .htaccess-Befehle verarbeiten, bildet das Serverbetriebssystem nach (in der Regel Apache) und kann php-Skripte und SQL-Befehle verarbeiten. Er reicht an den anfragenden Browser hinterlegtes oder gebildetes HTML aus, ggf. mit eingebundenen Dateien (Bilder, CSS, Skriptdateien, …), kann auch für das Aussenden von E-Mails und für FTP konfiguriert werden und erlaubt die Einrichtung eines Content-Management-Systems wie Typo3 oder MODX, das dann verwendet werden kann.
Unterschiede des lokalen Servers zu netzangebundenen Servern sind, dass
* der lokale Server nicht von außerhalb des Arbeitsplatzrechners erreichbar ist, er hat keine extern vermittelbare IP-Adresse,
* das Dateisystem des lokalen Servers ein Teil des Dateisystems des Arbeitsplatzrechners ist, auf dem er läuft, und
* auch das dem Browser zugängliche Root-Verzeichnis des lokalen Servers ein Verzeichnis im Dateisystem des Arbeitsplatzrechners ist.