Tutorial Testserver
Im Folgendem möchte ich kurz meine Erfahrung bezüglich des Einrichtens eines Testservers und eines FTP-Servers in Form eines kleinen Tutorials nahe bringen. Ursprünglich hab ich dieses Tutorial für mich selbst geschrieben, damit ich nach einer Formatierung meines Systems schnellstmöglichst wieder meine Einstellung bezüglich des Servers bekomme.
Nun die Frage, wozu brauch man einen lokalen Testserver? Gerade für Webmaster ist es interessant die zu entwickelnde Website, bevor sie veröffentlicht wird, lokal zu testen. Das hat den Vorteil das etwaige Fehler auf der Website schon vor der Veröffentlichung gefunden werden können, außerdem erspart man sich den Upload von Dateien etc. auf den Server, da dieser ja lokal auf dem Rechner ist.
Und Wozu nun ein FTP-Server? Hat man viele Dateien auf seinem Rechner die man seinen Freunden, Bekannten oder Kollegen zugänglich machen will, so ist ein solcher FTP-Server eine gute Lösung. Die User können sich selbst Zugang per FTP-client zu den benötigten Dateien verschaffen, diese bearbeiten, kopieren oder auch Dateien auf “meinen lokalen” Rechner ablegen. Das kann einem das Leben doch ungemein erleichtern oder nicht?
Wer also jetzt ebenfalls den Drang verspürt sich die genannten Dinge anzueignen der sollte jetzt weiter lesen…
Ein paar kurze einleitende Worte zu diesem Tutorial: Das Tutorial ist hauptsächlich für User ausgelegt, welche einen DSL-Flatrate Zugang haben (was heutzutage ja nicht das Problem sein dürfte) und an User, welche einen ROUTER zwischen Modem und Computer geschalten haben. Das erleichtert einen die Konfiguration und Einrichtung ungemein. Hier nun meine Konfiguration, die in diesem Tutorial verwendet wird:
- verwendete Hardware/Programme:
- D-Link DI-524 Router
- Xampp 1.6.4 Installer (incl. Filezilla Server)
- SmartFTP (client)
- Vorraussetzung:
- DSL Zugang (WAN im Router eingerichtet)
- DNS Account (hier: dyndns.org) (nähere Information dazu hier: http://www.computerbase.de/forum/showthread.php?t=151474
Installation von Xampp:
Zuerst sollten wird das Softwarepaket Xampp herunterladen (Link: http://www.apachefriends.org/de/xampp-windows.html ). Dieses Paket enthält alle nötigen Bestandteile um erfolgreich einen lokalen Server einzurichten. Dazu zählt die Webserver Software Apache, die Datenbank Software MySQL sowie die Scriptsprache PHP und das dazugehörige Managementsystem phpMyAdmin. Außerdem ist in der Standardversion von Xampp gleichzeitig schon die aktuelle Version von Filezilla Server enthalten, zu der ich später komme.
Ich entscheide mich beim Download für die „Installer” Version, dabei wird der Server an sich sogut wie von selbst eingerichtet.
Installation nach Anweisung in ein beliebiges Verzeichnis (hier: „D:\Server”). Genaueres zur Installation gibts auf dieser Seite: http://www.apachefriends.org/de/xampp-windows.html#1098
Während der Installation geben wir noch an, dass Apache, MySQL und Filezilla als Dienst bei Windows registriert werden soll.
Einrichten des Routers D-LINK DI-524
Je nach Router können sich die Menüs unterscheiden. Ein guter Router sollte jedoch analoge Einstellungen besitzen wieder dieser.
In die Adressleiste des Browsers folgende IP eingeben 192.168.0.1, der Zugriff auf das Routerinterface verlangt Benutzername und Kennwort (siehe Manual Router)
Im Router selber stellen wir unter der Option DHCP ein, dass unsere Rechner auf den wir später von außen zugreifen wollen immer die gleiche IP bekommt (statisch). Dynamische IPs können später für Probleme sorgen. Als Beispiel legen wir uns auf die feste IP192.168.0.13 fest. Im Router sehen die Einstellungen dafür wie folgt aus:
Jetzt müssen wir noch dafür sorgen, dass unser Rechner von außen stetig erreichbar ist. Da sich aber IP’s, ein Zahlencode über den der Rechner übers Internet erreichbar ist, ständig ändern, benötigen wir einen Dienst der sich DynDNS (dynamischer Domain-Name-System) nennt. Dieser sorgt dafür das unserer Rechner über eine festgelegte URL (in diesem Beispiel test.dyndns.org) ständig erreichbar ist, obwohl sich die IP’s im Laufe der Zeit ändern. Das wir einen solchen Dienst in Anspruch nehmen müssen wir nun noch unserem Router kenntlich machen. Dazu im Router folgende Einstellungen übernehmen, bzw. Eure Daten eintragen
Eine weitere wichtige Einstellung im Router ist die Port-Weiterleitung. Damit Anfragen von außerhalb des LAN, also WAN (dem Internet) bei Eingabe der dyndns-URL, auf unseren lokalen Server weitergeleitet werden, müssen bestimmte Ports vom Router freigegeben werden.
Bei dem D-Link Router sind schon einige solche Einstellungen in Form von Virtuellen Servern, die eine Port-Weiterleitung beinhalten, vorkonfiguriert. Sie müssen lediglich editiert (1) und angepasst/aktiviert (2) werden.
Damit später User auch auf unseren Server zugreifen können, obowohl sie selbst hinter einer Firewall oder einem Router sitzen, ist es notwendig für unseren Server den “passive mode” zu verwenden. Dabei öffnet der Server, nach Anfrage des Clients (also des Users) einen bestimmten Port und übermittelt diesen mitsamt IP-adresse wieder an den Client, wodurch ihm der Zugriff ermöglicht wird. Da es Unmengen von Ports gibt, müssen wir einen Portbereich angeben, der für unseren Server ansprechbar sein soll. Natürlich verwendet man dabei einen Portbereich der nicht so oft in Verwendung ist. Wir entscheiden uns in diesem Fall auf die Port 50000 – 50500 und leiden diese wie immer auf die IP unseres lokalen Servers, also 192.168.0.13.
Wir konfigurieren die Portweiterleitung sowohl für normale Anfragen aus dem Internet (http), DynDNS-Anfragen (also test.dyndns.org) und für unseren späteren FTP Server.
Alle Anfragen werden auf die lokale IP 192.168.0.13 weitergeleitet, wohinter sich ja unser Rechner (Server) verbirgt.
Test des lokalen Servers
Nach diesen Einstellungen ist nun unser lokaler Server erreichbar. Wir testen dies und geben in die Adressleiste des Browsers „localhost” ein. Es sollte hier standardmäßig eine Seite von Xampp angezeigt werden. Der Inhalt dieser Seite befindet sich im Installationsordner von Xampp.
Genauer: D:\Server\xampp\htdocs (kann je nach Installationsordner variieren)
Theoretisch können wir nun den Inhalt dieses Ordners löschen und unsere Website, welche lokal getestet werden soll dort hineinlegen (z.B. index.html).
In diesen Ordner kann z.B. auch WORDPRESS, ein Blog, ein CMS, installiert werden.
Durch Aufruf von http://localhost/ erscheint diese Seite nun ebenfalls im Browser.
Durch das Einrichten von Dyndns ist diese Seite auch von außerhalb des Netzwerkes erreichbar. So wird man durch Eingabe der Adresse http://test.dyndns.org/ automatisch auf den lokalen Server weitergeleitet, und das weltweit.
Einrichten des FTP-Servers
Standardmäßig wird Filezilla Server bei Xampp mit installiert. Es kann jedoch auch nachträglich noch installiert werden. Durch ein Klick auf das Icon „Xampp Control Panel”, welches entweder auf dem Desktop angelegt wurde, oder im Installationsordner zu finden ist, bekommt man eine Übersicht aller installierten Module.
Durch Klick auf den Button „Admin” bei Filezilla öffnet sich die Konsole für den FTP-Server. Beim ersten Start erscheint zusätzlich ein Fenster, zu welchem Server wir uns verbinden wollen.
Dieser ist standardmäßig lokal über die IP 127.0.0.1 und den Port 14147 erreichbar. Würde man also in die Adressleiste diese IP eingeben, so werden wir wieder automatisch auf den lokalen Server geleitet. Außerdem legen wir in diesem Fenster noch ein Passwort für den Zugang auf den Server fest, und setzen das Häkchen bei „always connect to this server”. Dadurch ersparen wir uns zukünftig die erneute Eingabe der Daten.
Bevor wir unsere Benutzerkonten erstellen müssen wir unseren Server noch artgerecht auf den “passive mode” trimmen, um Usern die hinter einer Firewall/Router sitzen, Zugriff auf unseren Server zu gewähren. Dazu einfach im Serverfenster auf “Edit” –> “Settings”. Unter dem Eintrag “passive mode settings” geben wir unten bei “Use custom port range” den Bereich ein, den wir vorher schon in unserem Router festgelegt haben, also 50000 – 50500. In diesem Settingbereich kann man übrigens auch die Uploadgeschwindigkeit und viele andere Sachen einstellen, die wir jedoch jetzt nicht weiter benötigen.
Nun steht die Verbindung zum FTP Server, und wir können jetzt unsere Benutzer festlegen, welche Zugriffsrechte auf den lokalen FTP Server haben und auf welche Ordner sie Zugang haben.
Wir können dabei sowohl ganze Benutzergruppen erstellen und/oder einzelne Benutzerprofile festlegen. Ein Klick auf das Symbol „user account” (links) bringt uns zu folgendem Menü:
Hier können wir jetzt einzelne User erstellen (Add). Gleichzeitig ist es ratsam diesem User ein Passwort zu vergeben. Weiterhin ist es möglich den User einer vorher erstellten Gruppe zuzuweisen. Diese Gruppen können sich wiederrum hinsichtlich ihrer Lese- und Schreibrechte auf bestimmte Ordner unterscheiden. Unter „shared folder” lassen sich dann für den jeweiligen User/Gruppe Ordner freigeben, auf denen Zugang gewährt wird z.B.:
So hat also der User „member” Zugriff auf meinen lokalen Ordner „My Music”. Jedoch darf er die Dateien nur lesen. Er darf also keine Dateien verändern oder löschen. Zusätzlich kann man nun noch die Download- bzw. Uploadgeschwindigkeit festlegen oder bestimmte IP sperren. Doch für den Anfang sollten diese Einstellung vorerst reichen.
FTP in der Anwendung
Wie kann nun der jeweilige User auf meinen lokalen Server zugreifen? Nun dazu benötigt der User einen FTP client. Solche Programme gibt es in große Vielzahl im Internet, die bekanntesten dürften „Filezilla Client” (nicht Server), SmartFTP, CoreFTP sein.
Für Firefox User gibt es sogar ein Plugin namens “FireFTP” , welches ohne weitere Installation über das Firefox-Interface bedient werden kann.
Ein solches Programm wird nun auf dem User-Rechner installiert. Im Programm selber gibt man in die Adressleiste die URL unseres Servers ein. Diese lautet test.dyndns.org und verweist ja auf unseren lokalen Server. Als Benutzername muss nun „member” eingegeben werden. Außerdem das vorher vergebene Passwort eingeben. Als Port muss für ein FTP Zugriff der Port 21 angegeben werden (Standard). Als Verbindungsart sollte immer der “passive mode” verwendet werden.
Dann braucht man nur noch auf „connect” gehen und schon kann sich der User mit unserem lokalen Server verbinden. Er kann je nach Rechtervergabe auch Dateien auf unseren Server laden, Dateien verändern oder Dateien löschen.
Firewall auf dem Server-PC konfigurieren
Sollte der zugang zum FTP-Server von außen nicht möglich sein, so kann eine Firewall auf dem Server-Rechner der Grund dafür sein. Anfragen aus dem Internet kommen zwar auf dem Server an, dieser kann jedoch keine Information an den Client schicken, da diese von einer Firewall geblockt werden. In diesem Fall müssen wir diese Firewall noch konfigurieren. Als Beispiel demonstriere ich das kurz an der Windows VISTA internen Firewall:
Dazu die Firewall-Einstellung öffnen. (in der Startmenü-Suche einfach FIREWALL eingeben). Im neuen Fenster auf “Einstellung ändern”. Dann auf den Reiter “Ausnahmen”. Dort erstellen wir eine neue Ausnahme indem wir auf “Port hinzufügen” gehen. Im Weiteren geben wir folgende Daten ein:
Wir geben hier Port 21 ein da dies der Port von unserem FTP-Server ist. Je nach Firewall erfolgt die Einstellung ähnlich.
Sollte es dennoch nicht klappen, die Firewall einfach mal kurzfristig ganz ausschalten und prüfen ob da der FTP-Server von außerhalb erreichbar ist.