FTP-Server auf dem Raspberry Pi einrichten

ELektronik-KOmpendium.de
Online

Preis auf Anfrage
Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen

Wichtige informationen

  • Kurs
  • Online
Beschreibung

FTP-Server auf dem Raspberry Pi einrichten Wenn man einen Webserver, wie den "lighttpd" auf einem Raspberry Pi betreibt, dann macht es auch Sinn, einen FTP-Server zu installieren, um aus der Ferne Dateien in das Webserver-Verzeichnis zu laden. Für diesen Zweck gibt es verschiedene FTP-Server für den Raspberry Pi. Beispielsweise ProFTP oder vsftpd. Allerdings ist eine Installation dieser FTP-Server nicht zwangsläufig notwendig. FTP ist ein altes und unsicheres Protokoll für den Filetransfer. Es gibt eigentlich keinen Grund mehr, einen FTP-Server zu betreiben. Wer unbedingt Filetransfer betreiben möchte, der sollte das mit SSH machen. Meist ist für den Remote-Zugriff bereits ein SSH-Server eingerichtet. Der beherrscht dann auch das FTP-Protokoll, womit man den Filetransfer über die sichere SSH-Verbindung abwickeln kann. Das ist sicherer und gleichzeitig so komfortabel, wie bei einem FTP-Server. Funktional absolut identisch.

Wichtige informationen

Themenkreis

Aufgabe
  1. Installieren Sie bei Bedarf einen FTP-Server auf dem Raspberry Pi.
  2. Laden sich einen FTP-Client herunter und installieren sie ihn auf Ihrem Client.
  3. Überprüfen Sie die Erreichbarkeit des SSH-Servers per SFTP über das lokale Netzwerk.
  4. Richten Sie den Webserver so ein, dass Sie Dateien direkt in das Webserver-Verzeichnis per FTP laden können.
Lösung ohne Installation eines FTP-Servers

Viele Lösungen beruhen auf der Installation eines FTP-Servers, wie zum Beispiel ProFTP oder vsftpd. Doch das ist gar nicht notwendig. Was viele nicht wissen ist, dass SSH FTP-Befehle in Form von SFTP unterstützt. Wenn der Fernzugriff per SSH funktioniert muss man nichts weiter machen, als mit einem FTP-Client, wie zum Beispiel Filezilla, eine SFTP-Verbindung (Port 22) zum Raspberry Pi aufzubauen.
Für die Verbindung benötigt man die IP-Adresse des Raspberry Pi, sowie Benutzername und Passwort. Nach dem erfolgreichen Verbindungsaufbau per FTP-Client landet man automatisch im Home-Verzeichnis des Benutzers.

Damit man nicht im Home-Verzeichnis des Benutzers (zum Beispiel "pi"), sondern im Verzeichnis des Webservers landet, muss man dafür einen Extra Benutzer anlegen oder noch einfacher, das Home-Verzeichnis des Benutzers zum Webserver-Verzeichnis machen.

Dazu muss man ein paar Änderungen in der Webserver-Konfiguration machen:

sudo nano /etc/lighttpd/lighttpd.conf

Im Editor ändert man folgende Zeile:

server.document-root = "/var/www"

Hier trägt man das Home-Verzeichnis des Users ein. Zum Beispiel "/home/pi".

Anschließend speichern und beenden mit: Strg+O, Enter, Strg+X

Hinweis: Oft sind falsche Berechtigungen das Problem, wenn die im Home-Verzeichnis enthaltenen Dateien vorhanden, aber nicht über den Webserver abgerufen werden können. Das kann man mit folgenden Kommandos korrigieren:

sudo chown pi:www-data -R /home/pi sudo chmod 775 /home/pi Lösung: User für SFTP (FTP über SSH) einrichten

Damit man nicht im Home-Verzeichnis des Benutzers (zum Beispiel "pi"), sondern im Verzeichnis des Webservers landet, muss man dafür einen Benutzer anlegen, dessen Home-Verzeichnis das Webserver-Verzeichnis ist.

Dazu richten wir einen neuen User, zum Beispiel "piftp" ein, den wir nur für die SFTP-Verbindung (SSH + FTP) verwenden. Natürlich kann auch ein anderer Benutzername gewählt werden. Der muss dann bei der weiteren Einrichtung berücksichtigt werden.

sudo adduser piftp --no-create-home

Dann müssen wir ein Passwort vergeben, dass global, also für die lokale Anmeldung und die SSH-Anmeldung gilt. Beim Eintippen des Passworts werden keine Platzhalter angezeigt, man tippt also "blind".

Anschließend weisen wir den neuen Benutzer der Gruppe "www-data" zu.

sudo usermod -G www-data piftp

Dann verbinden wir das Webserver-Verzeichnis mit dem neuen User. Wichtig ist hier nur, dass das Verzeichnis vorher bestehen sollte.

sudo usermod -d /var/www/ piftp

Dann müssen wir noch die Rechte für diesen User setzen. Wir machen ihn zum Eigentümer und setzen dann noch die Rechte für das Webserver-Verzeichnis.

sudo chown piftp:www-data -R /var/www sudo chmod 775 -R /var/www Hinweis

Es gibt so gut wie keinen Grund mehr einen FTP-Server standalone zu betreiben. Wer Dateien öffentlich zum Download anbieten will, kann das mit einem Webserver bequemer machen. Auch wenn das Protokoll HTTP nicht ganz so effizient ist, wie FTP.
Um entfernte Server Ordner- und Datei-basiert zu verwalten ist ein verschlüsseltes Protokoll, wie SSH, viel besser geeignet.

Raspberry Pi als File-Server

Der Raspberry Pi eignet sich in gewisser Weise auch als File-Server. Also eine Art Festplatte oder Datenspeicher im Netzwerk. Es gibt dafür verschiedene Möglichkeiten der Realisierung, die alle ihre Vorteile, aber auch Nachteile haben.

  • NFS-Server auf dem Raspberry Pi einrichten
  • Samba-Server auf dem Raspberry Pi einrichten
Weitere verwandte Themen:
  • Webserver auf dem Raspberry Pi einrichten (lighttpd)
  • Raspberry Pi als Server im Dauerbetrieb (24/7, headless)
  • Raspberry Pi als MySQL-Backup-Server für eine Webhoster-Datenbank
  • Verbindung zu einem Raspberry Pi per SSH aufbauen

Hinweis: Dieses Tutorial ist Teil einer Aufgaben und Übungen mit dem Raspberry Pi-Reihe, die für Lern- und Ausbildungszwecke erstellt wurde. Die dargestellte Lösung ist Teil einer konkreten Aufgabenstellung, die Schüler, Auszubildende und Studenten, lösen sollen. Deshalb muss der hier aufgezeigte Weg nicht der Optimalfall sein.


Vergleichen Sie diesen Kurs mit ähnlichen Kursen
Mehr ansehen