Tipp: Du kannst für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass du nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen musst.

Diese Anleitung wurde am 02.05.2019 zuletzt überprüft und aktualisiert.

Bist du auf der Suche nach sehr guten, leistungsstarken und günstigen Servern?
Ich miete meine Server seit 5 Jahren bei Contabo und kann Contabo wirklich sehr empfehlen!
  1. Falls du es noch nicht getan hast, lade das Programm "PuTTY" herunter.
  2. Verbinde dich mithilfe von PuTTY via SSH mit deinem Root- oder vServer. Hierfür öffnest du PuTTY und gibst im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse deines Servers ein. Klicke anschließend unten auf "OK".
  3. Aktualisiere nun deine Paketlisten mit dem Befehl apt update.
  4. Installiere jetzt möglicherweise verfügbare Updates der auf deinem Server bereits installieren Pakete mit dem Befehl apt upgrade -y.
  5. Installiere den FTP-Server "ProFTPD" sowie weitere benötigte Pakete mit folgendem Befehl: apt install proftpd-basic -y
  6. Erstelle eine Konfigurationsdatei im Verzeichnis "/etc/proftpd/conf.d/", indem du den Befehl nano /etc/proftpd/conf.d/ftp.conf ausführst. Die Dateien in diesem Verzeichnis werden bei Updates des ProFTPD-Servers nicht überschrieben.
  7. Füge in diese Konfigurationsdatei nun folgenden Inhalt ein und passe diesen ggf. an (beispielsweise, wenn du IPv6 nicht deaktivieren möchtest):
    # FTP-Benutzer benötigen keine gültige Shell
    <Global>
        RequireValidShell off
    </Global>

    # IPv6 deaktivieren (falls gewünscht)
    UseIPv6 off

    # Home-Verzeichnis als Stammverzeichnis der FTP-Benutzer festlegen
    DefaultRoot ~ ftpuser

    # Login nur für Benutzer der Gruppe "ftpuser" erlauben
    <Limit LOGIN>
        DenyGroup !ftpuser
    </Limit>
  8. Speichere deine Änderungen der Konfiguration, indem du STRG + X, danach die "Y"-Taste und anschließend Enter drückst.
  9. Starte den ProFTPD-Server mit dem Befehl systemctl restart proftpd.service neu, um die soeben erstellte Konfiguration zu übernehmen.
  10. Ohne Verschlüsselung werden sowohl die Login-Daten als auch die Dateien selbst im Klartext übertragen. Daher solltest du SSL/TLS einsetzen. Das benötigte Modul für den ProFTPD-Server ist bereits enthalten und aktiviert, allerdings ist noch eine Konfiguration notwendig. Führe hierfür die folgenden Schritte durch:
    1. Du kannst ein bereits vorhandenes Zertifikat verwenden oder mithilfe des Befehls openssl req -x509 -newkey rsa:2048 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 1460 ein selbst-signiertes erstellen. Dieses Zertifikat wird unter "/etc/ssl/certs/proftpd.crt" gespeichert und der Private-Key unter "/etc/ssl/private/proftpd.key". Wenn du ein selbst-signiertes Zertifikat erstellst, werden einige Daten abgefragt. Das einzige Pflichtfeld ist der "Common Name". Verwende an dieser Stelle den FQDN oder Hostnamen deines Servers. Wenn du ein anderes Feld - beispielsweise das Länderkürzel - weglassen möchtest, dann gib dort nur "." ein.
    2. Erstelle nun eine Konfigurationsdatei für die Verwendung von TLS, indem du den Befehl nano /etc/proftpd/conf.d/tls.conf ausführst.
    3. Füge in diese Konfigurationsdatei den folgenden Inhalt ein und passe ggf. den Pfad zu deinem SSL-Zertifikat an, falls du ein eigenes, bereits vorhandenes Zertifikat nutzen möchtest:
      <IfModule mod_tls.c>
          TLSEngine on
          TLSLog /var/log/proftpd/tls.log
          TLSProtocol TLSv1.2
          TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
          TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
          TLSVerifyClient off
          TLSRequired on
      </IfModule>
    4. Starte den ProFTPD-Server daraufhin mithilfe des Befehls systemctl restart proftpd.service noch einmal neu, damit auch die TLS-Konfiguration übernommen wird.
  11. Nun musst du die Gruppe "ftpuser" anlegen. Dieser Gruppe fügst du später alle Benutzer hinzu, die sich beim FTP-Server anmelden dürfen. Verwende hierfür den folgenden Befehl: addgroup ftpuser
  12. Anschließend musst du die Benutzer anlegen, welche sich beim FTP-Server anmelden dürfen. Der Befehl hierfür lautet: adduser mustermann --shell /bin/false --home /var/www/mustermann. Ersetze dabei "mustermann" durch den gewünschten Benutzernamen und "/var/www/mustermann" durch das Home-Verzeichnis, in dem diesem Benutzer Lese- und Schreibrechte gewährt werden sollen. Dies ist gleichzeitig das FTP-Stammverzeichnis des Benutzers.
  13. Vergib ein sicheres Passwort für den FTP-Benutzer. Während der Passworteingabe werden in PuTTY keine Zeichen erscheinen, das ist aber normal. Bestätige die Passworteingabe mit der Enter-Taste. Die weiteren Angaben wie Name, Telefonnummer, etc. kannst du einfach mit der Enter-Taste überspringen.
  14. Füge deinen soeben erstellten FTP-Benutzer abschließend noch der Gruppe "ftpuser" hinzu, damit sich dieser auch beim FTP-Server anmelden darf. Nutze dazu den Befehl adduser mustermann ftpuser und ersetze auch hier wieder "mustermann" durch den von dir gewählten Benutzernamen.
  15. Dein FTP-Server ist nun einsatzbereit. Du kannst dich mit einem FTP-Client wie beispielsweise FileZilla jetzt darauf verbinden und dich mit den Benutzern, die du zuvor erstellt und der Gruppe "ftpuser" hinzugefügt hast, einloggen.