Beitragsbild

Fernzugriff auf den Raspberry Pi – Teil 5 (FTP – Die eigene Dokumentenverwaltung)

0
0

Werbung:

Der eigene FTP-Server

Einen eigenen FTP-Server zu betreiben ist gar nicht so schwer, wie man glauben könnte. Auch hier geht die Installation sehr einfach.

Aber wozu braucht man einen FTP-Server überhaupt?

Wann immer man Dateien, egal welche, kopieren, bearbeiten oder Sichern möchte und zusätzlich von verschiedenen Geräten, oder sogar vom Internet aus darauf zugreifen möchte, ist es hilfreich, beziehungsweise unumgänglich, einen Speicher rund um die Uhr, also im 24/7 betieb verfügbar zu haben. Hat man einen eigenen Webserver ist ftp eine super Lösung um seine Dateien zu aktualisieren oder zu erweitern. Weiter kann man so anderen Leuten schnell Zugriff auf Dokumente geben und man kann auf den lahmen Versand via E-Mail verzichten. (Angemerkt sei: E-Mail wurde niemals dafür entwickelt, große Dateien hin und her zu schicken. Dafür ist das Protokoll vollkommen ungeeignet).
Der FTP-Server bietet einem den Dateizugriff fast so an, wie man es von seinem lokalen Dateisystem gewohnt ist Fast, weil durch die Sicherheitsaspekte wird es nicht ganz so komfortabel, aber das ist zu verschmerzen.

Werbung:

Warum einen FTP-Server auf dem RasPi?

Für einen 24/7 Betrieb ist der Raspberry Pi aus verschiedenen Gründen geeignet: Er ist klein und Platzsparend, durch seinen geringen Strombedarf ist er günstiger im Betrieb als jedes ausrangierte Laptop oder gar einem ausgewachsenen Computer.

Warum keinen FTP-Server auf dem RasPi?

Komisch.. gerade hab ich ihn doch noch gelobt 😀 Aber auch die Schattenseiten, müssen erwähnt werden.

Der RaspberryPi ist nicht unbedingt für den 24 Stunden-Betrieb ausgelegt.Er produziert trotz Miniaturausführung einiges an Abwärme, deswegen muss man zumindest die Temperatur im Auge behalten, noch besser, man verpasst den Chips eine passive oder noch besser aktive Kühlung (die jedoch den Strombedarf wieder etwas erhöht).

Der Speicher liegt auf einer SD-, bzw. MicroSD Karte. SD-Karten allgemein können ohne Vorwarnung kaputt gehen, sie leiden unter vielen Lese- und Schreibzugriffen. Eine hohe Qualität der Karte ist also Grundvorraussetzung.

Der Raspberry Pi ist kein Rennpferd, nicht nur die Internetanbindung stellt einen Flaschenhals dar, auch die Rechengeschwindigkeit und Arbeitsspeicher sind eng bemessen. Es ist halt ein Unterschied, ob man „nur“ ein paar LED blinken lässt, oder einen Server mit Aufgaben und Diensten betreibt. (Wobei ich der Meinung bin, dass es für einen „Heimserver“ absolut ausreichend und kostenmäßig die beste Lösung ist)

Großes Problem: Datensicherheit! Alle Dienste, Server usw., die man selbst aufsetzt muss man auch selbst warten und verwalten! Was beim Internetanbieter in großen Serverfarmen vollautomatisch läuft… hier ist man selbst für die Sicherheit seiner Daten verantwortlich. Diesem Thema werde ich einen extra Beitrag widmen. Dann wird aus HTTP ein HTTPS, aus FTP ein SFTP und selbst die sichere SSH wird durch Zertifikate statt nur Passwort noch etwas besser abgesichert.

Den FTP-Server installieren

Als FTP-Server benutze ich gerne die „Standardvariante“, die auch in den Paketquellen direkt installiert werden kann und die Konfiguration recht einfach ist. Zudem existieren hier viele Anleitungen im Internet und somit gibt es bei Problemen jede Menge Treffer in der Suche. Die Rede ist von proftpd.

In der Shell, bzw. Konsole wird dieser Dienst wie folgt installiert:
sudo aptitude update
sudo aptitude upgrade

(Das Aktualisieren der Paketquellen und installation aller Updates ist immer Pflicht)
sudo aptitude install proftpd

(Das reicht um den Server zu installieren)
Während der Installation wird nach dem Betriebsmodus gefragt. Hier sollte dringend Server ausgewählt werden, weil das das Einsatzszenario sein wird.

Den FTP-Server Konfigurieren:

Der FTP-Server benötigt etwas mehr Aufmerksamkeit als die anderen Server, die ich bisher vorgestellt habe.

Die Einstellungen von proftpd werden wir jetzt vornehmen:

sudo nano /etc/proftpd/proftpd.conf
Es sollte hier eine Zeile mit dem Inhalt „RequireValidShell“ geben. Vor diesen Eintrag fügen wir ein (und ändern den Eintrag wenn statt off on drinnen steht):

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

Dieser Code ist notwendig um mit virtuellen Benutzern, statt tatsächlichen Benutzern zu arbeiten. Dies hilft dabei, etwas Ordnung ins System zu bringen.

Im Anschluss ist es ratsam den Rechner neu zu starten (oder den Dienst). Mit einem beherzten „sudo reboot“ führen wir das duch.

Es ist sinnvoll und üblich für FTP einen eigenen Benutzer anzulegen und mit den entsprechenden Rechten zu versehen:

cd /etc/proftpd
(Wechsel ins Arbeitsverzeichnis)

id www-data
(Um die UserID des Benutzers www-data zu erfragen. Sollte UID und GID 33 haben)

sudo ftpasswd --passwd --name ftpuser --uid 33 --gid 33 --home /var/www
(Hier wird ein virtueller Benuter angelegt und als Arbeitsverzeichnis der Pfad zum Webserver angelegt. Man kann weitere FTP-Benutzer anlegen, die andere Startverzeichnisse haben können. Deshalb ist es so sinnvol, mit virtuellen Benutzern zu arbeiten. Nach Eingabe des Befehls wird man dazu aufgefordert ein Passwort zu vergeben. Dies sollte wie immer, möglichst lange, möglichst nicht zu raten oder herzuleiten sein und geheim bleiben, vor allem, wenn der FTP-Zugriff auch von Ausserhalb ermöglicht werden soll)

Um den Benutzer mit den entsprechenden Rechten auszustatten, müssen wir diese Rechte noch vergeben:


sudo chmod g+s /var/www
sudo chmod 775 /var/www
sudo chown www-data:www-data /var/www

Jetzt sollte der Server intern schon mal über den Browser erreichbar sein. Hierzu gibt man die IP-Adresse im privaten Netzwerk an, allerdings mit vorangestelltem „ftp://“ statt des üblichen „http://“. Zu sehen sein sollte jetzt der Inhalt des Verzeichnisses „/var/www“. Falls der Firefoxbrowser zum Einsatz kommt empfehle ich das Plugin „FireFTP“, ansonsten jedes beliebige FTP-Programm. Auch für Windows gibt es da eine gewisse Auswahl (FileZilla, WinSCP, SmartFTP oder WS_FTP Pro sind wohl die bekanntesten).

0
0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.