Tipp: Sie können für alle Dateinamen und Verzeichnisse die automatische Vervollständigung mithilfe der Tab-Taste nutzen, sodass Sie nicht die kompletten Datei- oder Verzeichnisnamen manuell eintippen müssen.

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

Sind Sie auf der Suche nach sehr guten, leistungsstarken und günstigen Servern?
Ich miete meine Server seit über 10 Jahren bei Contabo und kann Contabo sehr empfehlen!
  1. Falls Sie es noch nicht getan haben, laden Sie das Programm "PuTTY" herunter.
  2. Verbinden Sie sich mithilfe von PuTTY via SSH mit Ihrem Root- oder vServer. Hierfür öffnen Sie PuTTY und geben im Textfeld "Host Name (or IP address)" die Domain oder IP-Adresse Ihres Servers ein. Klicken Sie anschließend unten auf "OK".
  3. Aktualisieren Sie nun Ihre Paketlisten mit dem Befehl apt update.
  4. Installieren Sie jetzt möglicherweise verfügbare Updates der auf Ihrem Server bereits installieren Pakete mit dem Befehl apt upgrade -y.
  5. Installieren Sie den FTP-Server "ProFTPD" sowie weitere benötigte Pakete mit folgendem Befehl: apt install proftpd-basic -y
  6. Erstellen Sie eine Konfigurationsdatei im Verzeichnis "/etc/proftpd/conf.d/", indem Sie den Befehl nano /etc/proftpd/conf.d/ftp.conf ausführen. Die Dateien in diesem Verzeichnis werden bei Updates des ProFTPD-Servers nicht überschrieben.
  7. Fügen Sie in diese Konfigurationsdatei nun folgenden Inhalt ein und passen Sie diesen ggf. an (beispielsweise, wenn Sie IPv6 nicht deaktivieren möchten):
    # 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. Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
  9. Starten Sie den ProFTPD-Server mit dem Befehl systemctl restart proftpd 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 sollten Sie SSL/TLS einsetzen. Das benötigte Modul für den ProFTPD-Server ist bereits enthalten und aktiviert, allerdings ist noch eine Konfiguration notwendig. Führen Sie hierfür die folgenden Schritte durch:
    1. Sie können 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 Sie ein selbst-signiertes Zertifikat erstellen, werden einige Daten abgefragt. Das einzige Pflichtfeld ist der "Common Name". Verwenden Sie an dieser Stelle den FQDN oder Hostnamen Ihres Servers. Wenn Sie ein anderes Feld - beispielsweise das Länderkürzel - weglassen möchten, dann geben Sie dort nur "." ein.
    2. Erstellen Sie nun eine Konfigurationsdatei für die Verwendung von TLS, indem Sie den Befehl nano /etc/proftpd/conf.d/tls.conf ausführen.
    3. Fügen Sie in diese Konfigurationsdatei den folgenden Inhalt ein und passen Sie ggf. den Pfad zu Ihrem SSL-Zertifikat an, falls Sie ein eigenes, bereits vorhandenes Zertifikat nutzen möchten:
      <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
          TLSOptions NoSessionReuseRequired
          TLSRequired on
      </IfModule>
    4. Speichern Sie Ihre Änderungen der Konfiguration, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
    5. Für Debian 11 (bis Debian 10 und bei Ubuntu nicht notwendig):
      1. Öffnen Sie die Modul-Konfigurationsdatei von ProFTPD, indem Sie den Befehl nano /etc/proftpd/modules.conf ausführen.
      2. Als nächstes entfernen Sie das "#"-Zeichen vor der Zeile "LoadModule mod_tls.c" und speichern Sie die Änderungen, indem Sie STRG + X, danach die "Y"-Taste und anschließend Enter drücken.
    6. Starten Sie den ProFTPD-Server daraufhin mithilfe des Befehls systemctl restart proftpd noch einmal neu, damit auch die TLS-Konfiguration übernommen wird.
  11. Nun müssen Sie die Gruppe "ftpuser" anlegen. Dieser Gruppe fügen Sie später alle Benutzer hinzu, die sich beim FTP-Server anmelden dürfen. Verwenden Sie hierfür den folgenden Befehl: addgroup ftpuser
  12. Anschließend müssen Sie 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. Ersetzen Sie 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. Vergeben Sie ein sicheres Passwort für den FTP-Benutzer. Während der Passworteingabe werden in PuTTY keine Zeichen erscheinen, das ist aber normal. Bestätigen Sie die Passworteingabe mit der Enter-Taste. Die weiteren Angaben wie Name, Telefonnummer, etc. können Sie einfach mit der Enter-Taste überspringen.
  14. Fügen Sie Ihren soeben erstellten FTP-Benutzer abschließend noch der Gruppe "ftpuser" hinzu, damit sich dieser auch beim FTP-Server anmelden darf. Nutzen Sie dazu den Befehl adduser mustermann ftpuser und ersetzen Sie auch hier wieder "mustermann" durch den von Ihnen gewählten Benutzernamen.
  15. Ihr FTP-Server ist nun einsatzbereit. Sie können sich mit einem FTP-Client wie beispielsweise FileZilla jetzt darauf verbinden und sich mit den Benutzern, die Sie zuvor erstellt und der Gruppe "ftpuser" hinzugefügt haben, einloggen.