Xampp Server im Netzwerk erreichbar: So gehts!


Mit Xampp erstellt man schnell und einfach einen Apache Webserver auf dem eigenen Rechner, um ihn zum Beispiel als Test- oder Entwicklungsserver zu nutzen. Doch im Normalfall ist der Server nur vom lokalen PC aus zu erreichen. Man kann Apache aber auch so einstellen, dass man von beliebigen Rechnern im Netzwerk auf Xampp zugreifen kann.

Als Entwicklungs- und Testserver ist Apache sehr beliebt. Besonders einfach verläuft die Einrichtung mit der kostenlosen Softwarezusammenstellung Xampp bzw. Wampp. Xampp enthält das Wichtigste, was man für den Betrieb eines Servers benötigt.

Neben dem obligatorischen Webserver Apache ist auch gleich eine aktuelle Version von PHP und das Datenbanksystem MySQL mit dabei. Außerdem können zusätzliche Tools wie der FTP-Server FileZilla, der Mailserver Mercury und Apache Tomcat gleich mitinstalliert werden. Damit man direkt loslegen kann sind auch Tools zur Verwaltung enthalten, darunter Webalyzer und phpMyAdmin.


Xampp / Wampp installieren und einrichten

Wampp ist nichts anderes als Xampp für Windows. Der Download erfolgt am besten direkt über apachefriends.org. Die Installation ist denkbar einfach und erfolgt idealerweise mit Administratorrechten. Je nach Einstellung der Windows Benutzerkontensteuerung (UAC) kann die Installation in das Standardverzeichnis aufgrund der Zugriffsrechte problematisch sein. Zwecks besserer Übersicht würde ich Apache aber so oder so in ein anderes Verzeichnis installieren, beispielsweise C:\Xampp\.

Vor der Installation kann man die gewünschten Module auswählen. In den meisten Fällen reichen Apache und MySQL voll und ganz aus, wer noch einen FTP-Server einrichten möchte installiert noch FileZilla, was natürlich auch für die anderen Pakete gilt.

Nach Abschluss der Installation öffnet sich das Xampp Control Panel, in dem unter anderem Status und Ports der einzelnen Dienste angezeigt werden. Direkt nach der Installation lauscht Apache auf Port 80 (http) und 443 (SSL), MySQL hört auf Port 3306. Oftmals führt diese Einstellung zu Problemen, da möglicherweise schon ein anderes Programm diese Ports belegt. Das beste Beispiel ist Skype, welches den SSL-Port 443 besetzt.

Zum Ändern der Apache-Ports klickt man in der entsprechenden Zeile auf Config und wählt die Datei mit den jeweiligen Ports. Http-Port 80 steht in der httpd.conf. Zum Ändern ersetzt man in der Zeile „Listen 80“ die Zahl durch einen beliebigen freien Port, beispielsweise 8080. Den SSL-Port 443 findet man in der httpd-ssl.conf. Nach der Änderung muss Apache neu gestartet werden. Den MySQL-Port ändert man in der my.ini.

Zugriff über das Netzwerk einrichten

Apache ist nun über die entsprechenden Ports zu erreichen. Im Browser sollte nach der Eingabe von „localhost“ die Xampp-Übersichtsseite erscheinen. Bei geänderten Ports lautet der Befehl „localhost:xx“, wobei xx für die entsprechenden Ports steht. Im obigen Beispiel müsste man folglich „localhost:8080“ eingeben.

Versucht man die Seite von einem anderen Rechner im Netzwerk aufzurufen, erhält man die Meldung „Zugriff verweigert! Neues XAMPP Sicherheitskonzept […]“ mit dem Hinweis, dass man den Zugriff über die Datei „httpd-xampp.conf“ einrichten kann. Mehr Hilfe gibt es leider nicht.

So macht man Xampp von außen erreichbar:

Man öffnet die genannte Datei, in diesem Falle geht das ganz einfach über Apache -> Config -> httpd-xampp.conf. Am Ende der Datei stehen die Zeilen, um die es hier geht. Eine Möglichkeit, den Server im Netzwerk erreichbar zu machen ist, die Zeilen von „<LocationMatch…>“ bis „</LocationMatch>“ zu entfernen oder jeweils per vorangestelltem # auszukommentieren.

Dadurch ist Apache im Netzwerk erreichbar, sicherheitstechnisch betrachtet ist diese Erreichbarkeit jedoch ein Albtraum, da nun wirklich jeder darauf zugreifen kann. Besser ist es, die Zugriffsrechte enger einzuschränken, wie in folgendem Beispiel:

<LocationMatch „^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))“>

Order deny,allow

Deny from all

Allow from ::1 127.0.0.0/8

Allow from ::1 192.168

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

</LocationMatch>

Ändert man den Abschnitt in der Datei so ab, geschieht Folgendes: Der Zugriff wird auf zwei IP-Bereiche beschränkt. „Deny from all“ bedeutet, dass niemand Zugriff hat. „Allow from ::1“ regelt die Ausnahmen. Die erste Regel legt fest, dass alle Zugriffe vom lokalen Rechner erlaubt sind. Bekommt Apache Anfragen von einer IP zwischen 127.0.0.0 und 127.0.0.255, wird der Zugriff erteilt.

Die zweite Zeile legt die Berechtigung für einen anderen IP-Bereich fest. In diesem Beispiel erhalten alle Nutzer im lokalen Netzwerk Zugriff auf den Server, sofern die IP mit 192.168 anfängt, was in lokalen Netzwerken so üblich ist.

Den Zugriff kann man aber auch detaillierter einschränken. Das beste Mittel hierfür sind statische IP-Adressen im Netzwerk. Sollen nur bestimmte Rechner des Netzwerks auf Xampp zugreifen können, trägt man statt eines IP-Bereichs (IP-Range) die konkreten IP-Adressen der jeweiligen Computer ein.

Nach einem Apache-Neustart kann jetzt jeder berechtigte Rechner des Netzwerks auf den Server zugreifen, indem im Browser die IP oder der Name des Servers aufgerufen wird, natürlich ggf. unter Angabe der geänderten Ports. Im Beispiel wäre das „/server:8080“, wenn der Rechner im Netzwerk „server“ heißt.

Share on FacebookTweet about this on TwitterShare on Google+

Kommentar erstellen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.