|
|
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 48: |
Zeile 48: |
| | | | | |
| * IP-Sperre | | * IP-Sperre |
− | !style="background:#FF4500"|Nein | + | !style="background:#7FFF00"|Ja |
− | | | + | |Nach langer Entwicklungszeit ist auch dieses Feature endlich implementiert. |
| |- | | |- |
| | | |
Zeile 218: |
Zeile 218: |
| |- | | |- |
| |} | | |} |
− | = Quickstart = | + | =Weiterführende Links= |
− | == Unter Linux ==
| + | * [[Xmlftp Quickstart| Xmlftp Quickstart für Linux und Windows]] |
− | === Installation und Download ===
| + | * [[XMLFTP Konfiguration| Das Konfigurationstool]] |
− | #Um den FTP Server benutzen zu können, muss man ihn natürlich zu nächst erst einmal herunterladen. Da sich das Projekt in der Betatestphase befindet, geschieht das in dem man mich per Mail,ICQ oder IRC kontaktiert.
| + | * [[Xmlftp implementierungs Details| Details zur Implementierung und Aufbau der Konfigurationsdateien]] |
− | #Daraufhin verschicke ich das Installationspaket. In diesem Installationspaket sind bereits kompilierte Versionen des Servers und des [[XMLFTP Konfiguration|Konfigurationstool]] sowie die passenden Quelldateien enthalten.
| + | * [[Xmlftp Bugs | Bekannte Fehler und Feature requests]] |
− | #Das Paket entpacken und eventuell neue Binaries kompilieren, falls die vorgefertigten nicht gehen sollten.
| |
− | #Die Binaries in das gewünschte Verzeichnis kopieren
| |
− | #Da dem Server momentan nur ein Startscript beiliegt um ihn in der Konsole zu starten muss, falls ein starten per init.d gewünscht ist, ein solches Script selbst verfasst werden. (Das Script kommt noch :) )
| |
− | #Damit währe die Installation auch schon abgeschlossen
| |
− | === Konfiguration des Servers ===
| |
− | #Starten Sie das [[XMLFTP Konfiguration|Konfigurationstool]]
| |
− | #Wechseln Sie auf die Seite "Benutzer" und klicken Sie auf den Button "Neuer Benutzer" und geben Sie einen Benutzernamen an. Dabei ist darauf zu achten das nicht alle FTP Clients mit Leerzeichen und Sonderzeichen in Benutzernamen klarkommen. Also am beste keine dieser Zeichen im Benutzernamen verwenden
| |
− | #Klicken Sie im Fenster den Benutzer an und geben Sie ein Passwort an oder wählen Sie Anonymous
| |
− | #Wechseln Sie nun auf das Register "Dirfiles"
| |
− | #Wählen Sie "Neues Dirfile anlegen" und geben Sie einen Namen ein. Es macht sich gut viel sagende Namen zu vergeben.
| |
− | #Wählen Sie das Dirfile aus und wählen Sie unter Verzeichnisse das "Stammverzeichnis"
| |
− | #Klicken Sie auf den Button "Neues Verzeichnis" und geben Sie einen Namen ein
| |
− | #Wählen Sie den Button "..." und suchen Sie das Verzeichnis das Sie freigeben wollen
| |
− | #Legen Sie die Berechtigungen fest (Achtung: Zum Uploaden ist meist "Umbenennen" mit erforderlich da viele FTP Clients erst eine .part Datei anlegen diese später umbenennen)
| |
− | #Weisen Sie nun unserem Benutzer das Dirfile zu, in dem Sie das Dirfile auswählen und "Bearbeiten" unter der Benutzertabelle klicken oder in dem Sie den Benutzerauswählen und auf Bearbeiten unter der Dirfiletabelle klicken.
| |
− | #Ziehen Sie das Dirfile oder den Benutzer auf die "Verwendet" Seite
| |
− | #Wechseln Sie nun auf den Reiter "Globale Einstellungen" und passen Sie den Prozess Benutzer an den auf ihrem System eingerichteten FTP Benutzer an
| |
− | #Tippen Sie noch eine kleine Begrüßungsnachricht ein (Darauf achten das die Nachricht kleiner als die MTU der Netzwerkschnittstelle ist meist 1500 Zeichen.)
| |
− | #Wählen Sie nun Datei->Konfiguration Speichern und geben Sie einen Dateinamen an(am besten userdb dann brauchen Sie das Script nicht zu ändern)
| |
− | #Damit ist die Konfiguration abgeschlossen
| |
− | === Starten des FTP Servers ===
| |
− | #Öffnen Sie eine Konsole und wechseln Sie zu SuperUser
| |
− | #Schauen Sie nach ob das Script ihrer Konfiguration entspricht (zum testen am besten das -l xmlftp.log entfernen)
| |
− | #Starten Sie das Script
| |
− | == Unter Windows ==
| |
− | {{Vorlageninfo | text = '''XmlftpC.Net ist nun verfügbar, jedoch noch ohne jegliche Konfigurationsmöglichkeit''' }}
| |
− | === Installation und Download ===
| |
− | '''Hinweis:''' Zum Ausführen von XmlftpC.Net wird das Microsoft .NET 2 Framework benötigt.
| |
− | #Download und Installation unter [http://xmlftp.mysn.de Xmlftp]. Getestet ist das ganze mit Internet Explorer 6/7 und Opera 8.5/9.
| |
− | #Die Installation basiert auf der ClickOnce-Technologie von Microsoft. Der eigentlich FTP-Server wird Bestandteil des Pakets werden.
| |
− | === Updates ===
| |
− | Beim Start von XmlftpC.Net wird automatisch geprüft, ob Updates verfügbar sind. Dies ist nur möglich, wenn eine Verbindung zu [http://xmlftp.mysn.de Xmlftp] besteht.
| |
− | === Konfiguration des Servers ===
| |
− | Die Konfigurations-Anleitung folgt noch...
| |
− | === Start des Servers ===
| |
− | Der FTP Server wird unter Windows am besten durch XmlftpC.Net gestartet. Alle Logging-Ausgaben des Servers werden an XmlftpC.Net gesendet.
| |
− | Ein automatischer Start des Servers beim Systemstart wird durch den Startparamater /autostart initialisiert.
| |
− | Zu beachten ist, dass der Server erst nach der Anmeldung am System startet, da er nicht als Dienst realisiert ist.
| |
| | | |
− | = Details =
| |
− | == Konfiguration ==
| |
− | Die Konfiguration des XMLFTP Servers soll, wie in der Einleitung bereits erwähnt, so einfach wie möglich werden. Um diesen Anspruch gerecht zu werden gibt es bereits ein grafisches Konfigurationstool namens [[XMLFTP Konfiguration]]. <br />
| |
− | Für anspruchsvollere Anwender gibt es natürlich auch die Möglichkeit die Konfigurationsdateien mit der Hand zu editieren.
| |
− | <br />
| |
− | Die Konfigurationsdateien unterteilen sich in zwei Gebiete. Einmal die Datei welche die Information über die Benutzer enthält und welche im weiteren auch die allgemeine Serverkonfiguration enthalten wird. Die anderen Konfigurationsdateien, die im Weiteren als DirFiles bezeichnet werden, enthalten die verschiedenen Verzeichnisstruckturen. <br />
| |
− | Alle Konfigurationsdateien sind, um sie übersichtlicher zu machen, in einer XML ähnlichen Syntax gehalten.
| |
| | | |
− | === Die Allgemeine und Benutzerkonfiguration ===
| |
− | {|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;"
| |
− | !width="300" style="background:#BBBBBB"|Befehl
| |
− | !width="900" style="background:#BBBBBB"|Funktion
| |
− | |-
| |
− | |<userdb> </userdb>
| |
− | |Diese Tag-Kombination umschließt eine ganze Benutzerkonfigurationsdatei und markiert sie damit als solche.
| |
− | |-
| |
− | |<user> </user>
| |
− | |Hiermit wird ein neuer Benutzer angelegt.
| |
− | |-
| |
− | |<name> </name>
| |
− | |Hiermit wird der Name des Benutzers festgelegt. Dieses Tag darf pro Benutzer nur einmal verwendet werden.
| |
− | |-
| |
− | |<password> </password>
| |
− | |Dies legt das Benutzerpasswort fest. Wird dieses Tag für diesen Benutzer nicht angegeben dann handelt es sich bei diesem Benutzer um einen Anonymousbenutzer. Auch dieser Befehl darf pro Benutzer nur einmal benutzt werden.
| |
− | |-
| |
− | |<dirfile> </dirfile>
| |
− | |Hiermit legt man den Dateinamen für des oder der DirFiles fest die die Verzeichnisstruktur für den Benutzer definieren sollen.
| |
− | |-
| |
− | |<global> </global>
| |
− | |Dieses Tag leitet die globalen Einstellungen ein
| |
− | |-
| |
− | |<interface> </interface>
| |
− | |Dies legt fest auf welcher Netzwerkkarte der FTP Server lauschen soll. 0.0.0.0 sind dabei alle Netzwerkkarten
| |
− | |-
| |
− | |<user_name> </user_name>
| |
− | |Diese Einstellung gibt an unter welchem Benutzer der FTP Server laufen soll. Dieser Benutzer muss natürlich real im System existieren.
| |
− | |-
| |
− | |<welcome_message> </welcome_message>
| |
− | |Dies legt die Wilkommensnachricht fest die der FTP server an den Client senden soll. Dabei ist auf die FTP spezifikation zu achten für diese Nachricht. Desweiteren darf die Nachricht keine Zeilenumbrüche enthalten. Um trozdem eine neue Zeile der Nachricht hinzuzufügen kann man "\n" verwenden. Jede Zeile muss mit "220-" beginnen. Der Server fügt automatisch das abschließende "220 " ein.
| |
− | |-
| |
− | |<timeout> </timeout>
| |
− | |Zwischen diesen Tags kann man die Zeit in Sekunden angeben, die zwischen zwei Befehlen verstreichen muss, bis ein Timeout auftritt. Die Minimale hier einzustellende Zeit beträgt 20s. Ausserdem garantiert der Server kein hartes Timing. Das Timout trit, bei wenig Last auf dem Server, spätestens nach der doppelten Timeoutzeit auf. Bei hoher Last auf dem Server kommt es zum Timeout bereits nach dem Ablaufen der angegebenen Zeit. Wird das Tag nicht angegeben so nimmt der Server 20s Timeout an.
| |
− | |}
| |
− | <br />
| |
− | '''Beispiel für eine Konfigurationsdatei'''
| |
− | <userdb>
| |
− | <user>
| |
− | <name>test</name>
| |
− | <password>strenggeheim</password>
| |
− | <dirfile>dirfile.xml</dirfile>
| |
− | <dirfile>test.xml</dirfile>
| |
− | <dirfile>upload.xml</dirfile>
| |
− | </user>
| |
− | <user>
| |
− | <name>anonymous</name>
| |
− | <dirfile>anonymous.xml</dirfile>
| |
− | <dirfile>upload.xml></dirfile>
| |
− | </user>
| |
− | <global>
| |
− | <interface>0.0.0.0</interface>
| |
− | <user_name>ftp</user_name>
| |
− | <welcome_message>220-Testversion\n</welcome_message>
| |
− | <timeout>120</timeout>
| |
− | </global>
| |
− | </userdb>
| |
− |
| |
− | === Die Dirfiles ===
| |
− | {|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;"
| |
− | !width="300" style="background:#BBBBBB"|Befehl
| |
− | !width="900" style="background:#BBBBBB"|Funktion
| |
− | |-
| |
− | |<dirfile> </dirfile>
| |
− | |Diese Tag-Kombination umschließt eine ganze DirFiledatei und markiert sie damit als solche.
| |
− | |-
| |
− | |<dir> </dir>
| |
− | |Mit diesem Tag erstellt man ein Verzeichnis. Diese Tags können verschachtelt werden um Verzeichnisbäume zu repräsentieren
| |
− | |-
| |
− | |<file> </file>
| |
− | |Hiermit definiert man virtuelle Dateien
| |
− | |-
| |
− | |<name> </name>
| |
− | |Mit diesem Tag legt man den Namen des Verzeichnisses oder der Datei fest.
| |
− | |-
| |
− | |<path> </path>
| |
− | |Hiermit kann man ein Virtuellesverzeichnis auf ein beliebiges Realesverzeichnis mappen.
| |
− | Das heißt das der real existierende Verzeichnisbaum an dieser Stelle in den virtuellen Verzeichnisbaum eingebunden wird.
| |
− | Wird diese Tag angegeben wenn es sich um eine virtuelle Datei handelt dann gibt diese Tag das Plugin an welches verwendet werden soll.
| |
− | |-
| |
− | |<perm_read/>
| |
− | |Das erlaubt es das Verzeichnis zu lesen (anzeigen und Dateien Downloaden)
| |
− | |-
| |
− | |<perm_write/>
| |
− | |Hiermit kann man das Hochladen der Dateien erlauben
| |
− | |-
| |
− | |<perm_delete/>
| |
− | |Das erlaubt das Löschen von Dateien. Das Recht ist nur wirksam wenn auch gleichzeitig <perm_write/> mit angegeben wurde
| |
− | |-
| |
− | |<perm_rename/>
| |
− | |Hiermit kann das umbenennen von Dateien erlaubt werden. Auch dieses Recht ist nur wirksam wenn zusätzlich auch <perm_write/> mit angegeben wurde.
| |
− | |-
| |
− | |<perm_csub/>
| |
− | |Dieses Recht erlaubt es Unterverzeichnisse zu erstellen. Diese Unterverzeichnisse haben dann alle Rechte wie das Verzeichnis in dem sie erstellt wurden. Diese Recht ist nur gültig wenn auch <perm_write/> mit angegeben wurde.
| |
− | |-
| |
− | |}
| |
− | <br />
| |
− | '''Beispiel für ein DirFile'''
| |
− | <dirfile>
| |
− | <dir>
| |
− | <name>Bilder</name>
| |
− | <path>/home/benutzer/bilder</path>
| |
− | <perm_read/>
| |
− | </dir>
| |
− | <dir>
| |
− | <name>Upload</name>
| |
− | <path>/home/ftp/upload</path>
| |
− | <perm_read/>
| |
− | <perm_write/>
| |
− | <perm_rename/>
| |
− | <perm_csub/>
| |
− | </dir>
| |
− | <dir>
| |
− | <name>Virtuelles_Verzeichniss1</name>
| |
− | <perm_read/>
| |
− | <dir>
| |
− | <name>Unterverzeichniss</name>
| |
− | <perm_read/>
| |
− | <dir>
| |
− | <name>Sub1</name>
| |
− | </dir>
| |
− | </dir>
| |
− | <dir>
| |
− | <name>Unterverzeichniss2</name>
| |
− | </dir>
| |
− | </dir>
| |
− | <dir>
| |
− | <name>VirtualFiles</name>
| |
− | <perm_read/>
| |
− | <file>
| |
− | <name>rcon_plugin</name>
| |
− | <perm_read/>
| |
− | <path>plugins/rcon.so</path>
| |
− | </file>
| |
− | </dir>
| |
− | </dirfile>
| |
− | == Die Startparameter des FTP Servers ==
| |
− | {|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;"
| |
− | !width="300" style="background:#BBBBBB"|Befehl
| |
− | !width="900" style="background:#BBBBBB"|Funktion
| |
− | |-
| |
− | | -u [Name der Konfigurationsdatei]
| |
− | |Mit diesem Parameter kann man den Server mit einer anderen Konfigurationsdatei starten. Windowsbenutzer müssen diesen Parameter angeben.
| |
− | |-
| |
− | | -l [Name des Logfile]
| |
− | |Mit diesem Parameter leitet man die Ausgabe des FTP-Logs in eine Datei um. Wird dieser Parameter nicht angegeben so erscheint der Log im Stdout.
| |
− | |-
| |
− | |}
| |
| [[Kategorie:Software-Planung]] | | [[Kategorie:Software-Planung]] |
| + | [[Kategorie:xmlftp]] |