Heute zeigen wir euch, wie Ihr ProFTPd auf eurem Raspberry Pi installiert, damit Ihr relativ simpel Dateien auf euren Webserver schieben könnt. Die Anleitung zur Installation des Webservers findet Ihr hier.
1. System updaten
Natürlich bringen wir als erstes mal wieder unser System auf den neusten Stand und tippen oder kopieren die guten alten Update-Befehle:
sudo apt-get update
sudo apt-get upgrade
2. ProFTPd installieren
Nun fakeln wir nicht lange und installieren den FTP-Dienst mit dem folgenden Befehl:
sudo apt install proftpd-basic
Das sollte selbst auf dem Raspi recht zügig gehen.
3. Konfiguration
So nun kommen wir zum eigentlichen Teil der Installation – die Konfiguration. Als erstes legen wir uns hierfür eine Konfigurationsdatei an, die bei Updates unangetastet bleibt. Hierfür machen wir uns das conf.d-Verzeichnis zu Nutze. Konfigurationen die hier gespeichert sind werden in die eigentliche proftpd.conf eingelesen.
Legen wir uns also unsere eigene Konfigurationsdatei im Verzeichnis conf.d an und schreiben folgendes in die angelegte Datei:
sudo nano /etc/proftpd/conf.d/custom.conf
# Ftp-Benutzer benötigen keine valide Shell <Global> RequireValidShell off </Global> # IPv6 wird deaktiviert UseIPv6 off # Standartverzeichnis ist das Homeverzeichnis des FTP-Benutzers DefaultRoot ~ ftpuser # Login auf FTP-User beschränken <Limit LOGIN> DenyGroup !ftpuser </Limit>
Natürich nicht vergessen die Datei zu speichern und den FTP-Server neu zu starten.
sudo systemctl restart proftpd.service
4. SSL-verschlüsselte FTP-Verbindung
Da wir vorallem das Passwort nicht in Klartext übertragen möchten, erweitern wir unseren FTP-Server um SSL/TLS-Features und erstellen daher als erstes mal ein Zertifikat:
sudo apt install ssl-cert
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Anschliessend erstellen wir wieder eine Konfigurationsdatei in unserem Konfigurationsverzeichnis von ProFTPd mit dem einfachen Texteditor nano:
sudo nano /etc/proftpd/conf.d/tls.conf
und geben folgende Konfiguration ein:
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol TLSv1.2
TLSRSACertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
TLSRSACertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
TLSVerifyClient off
TLSRequired on
TLSOptions NoSessionReuseRequired
</IfModule>
Anschliessend den ProFTPd neustarten:
sudo systemctl restart proftpd.service
5. FTP-Benutzer erstellen
Mit folgendem Befehl erstellen wir einen neuen FTP-Benutzer und geben ihm /var/www/upload als home-Verzeichnis. Auf dieses wird der Benutzer dann FTP-Zugriff erhalten
sudo adduser ftpuser --shell /bin/false --home /var/www/upload
6. Per FTP verbinden
Und nun nur noch mit FileZilla oder anderen FTP-Clients IP oder DNS-Name eingeben, mit den Credentials des Benutzers verbinden und Uploaden bis die Leitung brennt 🙂
