howto-ftp-server

FTP-Server unter Windows

Präambel

Bei vernetzten Computern stellt sich immer die Frage, wie man Daten von einem auf den aderen übertragen kann. Es existieren dafür mehrere Protokolle und Möglichkeiten. Für serverlosen Betrieb und für (gegen Bandbreite) große Dateien bietet sich für Netzwerke der niedrigen Sicherheit vor allem FTP an. Dieses Protokol hat sich vor allem wegen Einfachheit, Kompabilität und sehr breiten Uterstützung bewährt.

Dieses HowTo beschreibt, wie man am besten unter Windows in den Genuss eines eigenen FTP-Servers kommt. Dabei wird kostenlose und freie Software FileZilla Server verwendet, welche alle meistgebräuchlichen Komfortfunktionen mitbringt. Es wird vor allem von einem Einsatz in LAN ausgegangen und eher weniger in WANs, MANs, GANs bzw. hinter NAT-Routern. Leser sollte Erfahrung mit Download und Upload von Dateien von und auf ein FTP-Server haben.

Wie funktioniert's

Bei Übertragung über FTP gibt es zwei Gegenstellen - FTP-Server und FTP-Client. Dabei werden zwei TCP Verbindungen genutzt. Eine Steuerungsverbindung wird vom Client zum Server (Port meistens 21) aufgebaut. Bei Übertragen der Daten baut dagegen meistens der Server eine Verbindung (Port 20) zu dem Client auf. Sowohl Steuernachrichten, als auch Daten können in beide Richtungen übertragen werden. Diese Vorgehensweise macht Betrieb hinter Firewalls und NAT-Routern etwas schwierig. In LANs ist es dagegen meistes sehr unproblematisch.

Im Prizip ist FTP sehr einfach. Client bekommt ein virtuelles Dateisystem zu sehen, auf welchem dieser bestimmte Rechte hat (lesen, auflisten, schreiben, überschreiben, etc.). Virtuelles Dateisystem kann, muss aber nicht dabei den tatsächlichen Inhalten und Topologien der Festplatten entsprechen. Das ganze wird noch zusätzlich duch Benutzermanagemant gesteuert. Der Client meldet sich also mit Benutzernamen und Passwort am Server an und bekommt möglicherweise abhängig davon unterschiedliche virtuelle Dateisysteme zu sehen.

Es gibt dabei auch einen Standardnamen für den Fall, dass Benutzer keinen Benutzernamen für die Anmeldung bekommen haben bzw. es sich um öffentlichen FTP Zugang haltet. Dieser ist anonymous (früher auch ftp). Als Passwort wird dabei oft sowas wie E-Mail-Adresse oder vergleichbares oder aber einfach nichts verlangt. Bei der Einrichtung muss man sich entscheiden, ob man so einen Zugriff erlauben will, welche Rechte anonymous bekommt und ob es vielleicht alles nur über dieses Konto verfügbar gemacht wird (öffentlicher Downloadserver).

Installation & Einrichtung

Als erstes besorgt man sich FileZilla Server. Den gibt es bei OpenSource Hoster Sourceforge auf den ensprechenden Projektseite unter Download: FileZilla Download (zu beachten ist, dass man Server benötigt)

Installation verläuft sehr einfach. Fast alles kann man bei Standardeinstellungen belassen.

screenshot Man installiert FileZilla Server so, dass dieser als Dienst automatisch gestartet wird.

Please choose how FileZilla Server should be started:
Install as service, started wich Windows

Das hat den Vorteil, dass es sogar dann laufen kann, wenn der Computerbenutzer nicht an seinem Rechner angemeldet ist. Port für Steuerung sollte am besten bei 14147 belassen werden.


screenshot FileZilla Server ist so gemacht, dass das ausrührende Teil des Programms ohne graphische Oberfläche läuft. Graphische Oberfrläche wird separat gestartet. Am besten macht man das nur dann, wenn man wirklich irgendwas ändern muss.

Please choose how the server interface should be started:
Start manually

Die graphische Oberfläche (GUI) verbindet sich dabei mit dem eigentlichen Programm über TCP, womit man theoretisch die Konfiguration von anderem Rechner aus vornehmen könnte (in standardeinstellung darf man es nur vom eigenen PC aus tun).


screenshot Für Einrichtung startet man FileZilla Server Interface und verbintet sich zu 127.0.0.1 bzw. localhost bei Benutzung des Ports 14147. So lange man sich von eigenem Computer verbindet, ist kein Passwort für die Serverkonfiguration erforderlich.


screenshot Nun erscheint ein Fenster mit Logmeldungen und Menüs. Interessant sind vor allem Buttons 1, 3 und 4.


Unter allgemeinen Einstellungen kann man meistens FXP-Funktionalität unter Security Settings aktivieren. Rest der Einstellungen kann man meistens bei Standardwerten belassen.

Interessanter ist die Benutzerverwaltung. Hier legt man rechts Benutzer an. Wenn nötig anonymous (auf genaue Schreibweise achten!) oder einen anderen. Klein- und Großschreibung spielt natürlich eine bedeutende Rolle. Hat man einen Benutzer angelegt, aktiviert man sein Konto (Enable account) und vergibt evtl. ein Passwort.

Nun geht es zu Shared folders. Hier fügt man erstmal eine Home-Directory zu. Das ist das Verzeichnis, was im virtuellem Dateisystem als erstes angezeigt wird.

Hier gibt es zwei Möglichkeiten:

  1. Alles Freizugebene befindet sich in Home-Directory. Das ist recht übersichtlich, da pro Benutzer nur ein Verzeichnis (und seine Unterverzeichnisse) freigegeben ist. Unkomfortabel wird es, wenn für die selbe Anwender mehrere Verzeichnisse freigegeben werden müssen und diese sich deshalb mehrfach anmelden müssten.
  2. Man gibt als Home-Directory spezielles Verzeichniss (leer um Probleme zu vermeiden) an und bildet virtuell(!) dort alle anderen freizugebenen Verzeichnisse ab. Die Einrichtung erfordert etwas mehr Abstraktion, lohnt aber mit geschickten und einfachen Dateipresentation für den Benutzer.

Bei zweiten Methode werden weitere Verzeichnisse erst hinzugefügt und dann mit rechter Maustaste, Edit aliases diesen Aliase zugeordnet. Da virtuelles Dateisystem von FTP i.d.R. Unix-ähnlich aufgebaut ist, sollte man im Aliasnamen ein / direkt voranstellen. Diese Verzeichnisse erscheinen dann unter Alias-Namen in Hauptverzeichniss des virtuellen Dateisystems.

Das kann z.B. sowas sein:

F:\ftp                (Home-Dir, gekennzeichnet mit dickem 'H')
E:\speicher\bilder    /bilder

Angemeldeter Benutzer sieht dann Inhalt des Ordners
D:\ftp (kann auch leer sein)
und dort einen Unterordner "bilder".
screenshot

Nun will man natürlich noch festlegen, was der Benutzer machen darf und was nicht und zwar für jeden Verzeichnis in der Shared folder Liste. Dazu wählt man dieses Verzeichnis und klickt dafür rechts die Rechte zusammen.

Für Download-Verzeichnisse sind Read, List, +Subdir sinnvoll. Für Upload-Verzeichnisse (z.B. sie haben einen Benutzer "upload" mit einem Passwort) sind dagegen eher alle Rechte zu aktivieren.

Read heißt Dateien lesen (also im Sinne von runterladen), Write schreiben, Delite löschen, Append anhängen (wenn die datei schon existiert, darf man diese überschreiben). Für Verzeichnisse sieht es ähnlich aus. Create heißt man darf neue Unterverzeichnisse anlegen, Delite löschen und List Inhalt auflisten. +Subdirs heißt, dass die selben Rechte auch auf alle Unterverzeichnisse gelten.

Nun startet man Server und dieser müsste laufen!

Vom eigenen PC aus erreicht man diesen immer auf localhost bzw. 127.0.0.1 bei IPv4 oder [::1] bei IPv6. Andere Teilnehmer erreichen diesen auf der zugehörigen IP Adresse des Rechners im Netzwerk. Wird kein Port angegeben, so versuchen FTP-Clients zu dem Standardport 21 zu verbinden.

Erweiterung

FileZilla Server unterstützt adaptiv UTF-8 (Unicode) und MLSD und wurde unter GNU General Public License (GPL) veröffentlicht. Damit und dank den vielen Komfortfunktionen macht es sich zum idealen Produkt für einsatz zu Hause in eigenen LAN-Umgebung und für heimischen FTP-Server.

Nach dieser Anleitung könnte evtl. jemand aus dem Internet auf ihren FTP-Server zugreifen. Es hängt davon ab, ob sie eine Firewall oder einen NAT-Router einsetzen und ob sie passwortlose Benutzerzugänge mit eifnachen Namen eingerichtet haben oder nicht. Wenn sie z.B. umbedingt Benutzer anonymous für LAN haben möchten, aber ansonsten direkten Internetzugang haben, sollten sie unter Allgemeinen Einstellungen Seiten IP bindings und IP Filter duchgehen und ihren Bedürfnissen anpassen.

Achten sie ebenfalls auf neue erscheinende Versionen und auf evtl. neue Möglichkeiten und Einstellungen.

2007-03-27


Site by Blacker47 - Imprint