FTP Server mit dem Raspberry Pi erstellen

  • Hallo.
    Jetzt schreibe ich einmal eine Anleitung für unseren kleinen Freund :D
    Heute machen wir aus unserem Pi einen FTP Server mit dem ihr überall auf eure Daten zugreifen könnt.


    Zunächst braucht ihr eine DynDNS. Z.B. gratis von noip.com
    Dann müsst ihr dort einen Host einrichten. (euerHostname.no-ip.org)
    Nun müsst ihr in eurem Router einen Port zu eurem Router weiterleiten.
    Wie das genau bei eurem Router funktioniert erfahrt ihr von Google.
    Für SSH solltet ihr zB Port 20 weiterleiten. Eine Liste mit den Ports findet ihr hier
    Hier könnt ihr überprüfen ob eure Ports freigegeben sind.
    Nun müsst ihr auf noip.com noch eure öffentliche IP Adresse eintragen.
    Diese findet ihr zB hier heraus.
    Damit ist unsere DynDNS auch schon fertig.


    Weiter gehts mit dem Pi.

    Code
    1. sudo ssh pi@IPeuresPi
    2. sudo su


    Wir brauchen ein Tool das unserer DynDNS unsere wechselnde IP Adresse mitteilt.
    Diese holen wir so:

    Code
    1. wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz


    Wir entpacken das Ganze und wechseln in den entstehenden Ordner:

    Code
    1. tar xf noip-duc-linux.tar.gz
    2. cd noip-2.1.9-1/


    Dann kompilieren und installieren wir das Programm:

    Code
    1. sudo make install


    Hier müsst ihr dann eure Logindaten für noip.com eingeben.
    Als Aktualisierungsintervall nehmt ihr 5 (Minuten).
    Und die letzte Frage beantwortet ihr mit Nein.


    Um das Programm zu starten müsst ihr noch folgendes eingeben:

    Code
    1. sudo noip2


    Natürlich soll das ganze auch automatisch starten:

    Code
    1. whereis noip2


    Als Ausgabe erhaltet ihr das:

    Code
    1. noip2: /usr/local/bin/noip2


    Und so tragt ihr das Programm in den Autostart ein:

    Code
    1. echo '/usr/local/bin/noip2' >> /etc/rc.local


    Jetzt solltet ihr bereits per SSH auf euren Pi zugreifen können.
    ACHTUNG: Das funktioniert nicht aus dem selben Netzwerk heraus.

    Code
    1. sudo ssh pi@eureDynDNS


    Nun zum FTP Server:
    Zuerst holen wir uns alle nötigen Pakete:

    Code
    1. sudo apt-get install proftpd


    Beim Einrichten verwenden wir NICHT from inetd


    Dann bearbeiten wir folgende Datei:

    Code
    1. nano /etc/proftpd/proftpd.conf


    Am Ende der Datei fügen wir folgende Zeilen ein, damit wir virtuelle User anlegen können:

    Code
    1. AuthOrder mod_auth_file.c mod_auth_unix.c
    2. AuthUserFile /etc/proftpd/ftpd.passwd
    3. AuthPAM off
    4. RequireValidShell off


    In der Datei könnt ihr ebenfalls euren verwendeten Port ändern.
    Mit der Zeile

    Code
    1. DefaultRoot ~

    legt ihr das Startverzeichnis für alle Nutzer fest.
    ~bedeutet, dass jeder Benutzer in sein eigenes Homeverzeichnis geleitet wird. (funktioniert bei mir noch nicht)


    Einen virtuellen Benutzer legt ihr so an:
    Zuerst brauchen wir uid und gid vom Benutzer www-data.(meistens 33) Diese bekommen wir so:

    Code
    1. id www-data


    Dann wechseln wir in das Verzeichnis

    Code
    1. cd /etc/proftpd/

    wo wir dann mit folgendem Code unsere virtuellen Benutzer erstellen können:

    Code
    1. sudo ftpasswd --passwd --name VIRTUELLERBENUTZER --uid 33 --gid 33 --home /var/www/ --shell /bin/false


    Statt VIRTUELLERBENUTZER gebt ihr euren gewünschten Benutzernamen ein und statt 33 eure uid und gid.
    Danach werdet ihr noch zweimal nach dem Passwort des neuen Benutzers gefragt.
    Dann ist unser Benutzer auch schon erstellt.


    und dann müssen wir den Server nur noch einmal neu starten:

    Code
    1. sudo /etc/init.d/proftpd restart


    Benutzername und Passwort sind die selben die ihr an eurem Pi habt, bzw. die eures virtuellen Benutzers.


    Nun könnt ihr euch zB mit dem Filezilla Client mit eurem Pi verbinden. :party:


    Wenn ihr euch mit eurem Finder mit dem Pi verbinden wollt müsst ihr folgendes tun:
    "cmd+k" --> hier gebt ihr in der Adresse das ein: ftp://EuerBenutzename:EuerPasswort@euerHost:21
    (Ihr müsst dafür unbedingt Port 21 weiterleiten)
    Nun müsste euer Pi als Netzlaufwerk auftauchen :thumbsup:


    Ich arbeite daran, dass man aus dem Finder heraus auch noch Schreibrechte hat und werde die Anleitung aktualisieren sobald ich es geschafft habe :)

    Acer Aspire 5610z
    Snow Leopard 10.6.6/Intel Genuine T2060 1,60GHz/1GB DDR2/Intel GMA 950

    iPhone 2GiPhone 3GiPhone 3GSiPhone 4iPhone 4siPhone 5MacBook Pro 13''

  • Hab mich vorher schlau gemacht ob das sicher ist
    Hört sich für mich nicht besonders unsicher an ;)


    Link

    Acer Aspire 5610z
    Snow Leopard 10.6.6/Intel Genuine T2060 1,60GHz/1GB DDR2/Intel GMA 950

    iPhone 2GiPhone 3GiPhone 3GSiPhone 4iPhone 4siPhone 5MacBook Pro 13''