Raspberry Pi Webserver Installation Teil 5 – FTP Server

Zum einfachen Upload sämtlicher Dateien sollte auf einem Webserver kein FTP Zugang fehlen. Dazu richten wir in diesem Teil einen solchen FTP Server mit Zugang auf dem Pi ein.

Dieses Tutorial kann auch zum einfachen Austauschen von Dateien zwischen PC und Raspberry benutzt werden und ist nicht zwingendermaßen für einen Webserver.

Zunächst die Installation

sudo apt-get install proftpd

Im Grunde wären wir hier bereits fertig, allerdings hätte jetzt jeder Nutzer nur Zugriff auf sein eigenes Home Verzeichnis (z.B. /home/pi ). Deshalb erstellen wir einen neuen User. Dazu wechseln wir erst einmal das Verzeichnis.

cd /etc/proftpd/

Hier soll der virtuelle Benutzer erstellt werden. Im folgenden Beispiel erstelle ich den Benutzer tutorials mit dem Homevezeichnis /var/www/ (falls das Rootverzeichnis von Apache geändert wurde, sollte dies natürlich angepasst werden. Gleiches gilt, wenn ein FTP-User auf andere Verzeichnisse Zugriff haben soll).

sudo ftpasswd --passwd  --name tutorials --gid 33 --uid 33 --home /var/www/ --shell /bin/false

Nun nur noch das Passwort eingeben und bestätigen. Falls das Passwort des Benutzers zu einem späteren Zeitpunkt geändert werden soll, einfach wieder in das Verzeichnis wechseln und den Befehl erneut ausführen.

Um den virtuellen User noch freizuschalten, bearbeiten wir die Konfigurationsdatei

sudo nano /etc/proftpd/proftpd.conf

und fügen folgenden Code am Ende ein:

DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off
FTP config Änderung

Mittels STRG + O und STRG + X speichern und beenden wir den Editor.

Zu guter letzt starten wir den Server neu und probieren es aus.

sudo /etc/init.d/proftpd restart
FTP webansicht bei eingabe von ftp://raspberrypi/ im Browser

Möglicherweise kann man sich nun noch trotzdem noch nicht einloggen, da entsprechende Rechte fehlen, diese setzen wir mit

chmod g+s /var/www
chmod 775 /var/www

(falls ein anderes Verzeichnis dem User zugewiesen wurde, muss es natürlich entsprechend angepasst werden)

Im nächsten Tutorial machen wir den Server auch von außerhalb des Netzwerkes erreichbar, mittels No-IP.