Pure-FTPd auf einem Raspberry Pi

Wir wollen mit dem FTP (File Transfer Protocol) Snapshots zwischen unserer INSTAR IP Kamera und unserem Raspberry Pi übertragen. Befolgen Sie die folgenden Schritte, um einen FTP-Server einzurichten.

Installation

  1. Verwenden Sie Ihr SSH-Terminal (Windows-Benutzer können das kostenlose Terminal von Mobatermverwenden) um sich mit Ihrem Pi zu verbinden (Standard Login: Benutzer=openhabian und Kennwort=openhabian für die openHABian Installation).
  2. Installieren Sie Pure-FTPd mit der folgenden Befehlszeile im Terminal: sudo apt-get install pure-ftpd.

Grundlegende Konfigurationen

  1. Wir müssen eine neue Benutzergruppe namens ftpgroup und einen neuen Benutzer namens ftpuser für FTP-Benutzer erstellen und sicherstellen, dass dieser "Benutzer" keine Anmeldeberechtigung und kein Home-Verzeichnis hat:
sudo groupadd ftpgroup
sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null

FTP-Home-Verzeichnis, virtueller Benutzer und Benutzergruppe

  1. Wir haben bereits ein öffentliches Verzeichnis im Ordner /.node-red/static/ in unserem openhabian Home-Verzeichnis erstellt. Erstellen Sie dort ein neues Verzeichnis ftp mit einem Unterordner für unsere erste Kamera (in meinem Fall ist es officecam):
sudo mkdir /home/openhabian/.node-red/static/ftp/officecam/
  1. Sie werden nach Ihrem Passwort gefragt, das standardmäßig openhabian ist - aber Sie haben es vielleicht in einem früheren Schritt geändert.
  2. Stellen Sie sicher, dass das Verzeichnis für ftpuser zugänglich ist, damit unsere Kamera dort Dateien lesen und schreiben kann:
sudo chown -R ftpuser:ftpgroup /home/openhabian/.node-red/static/ftp/officecam/
  1. Create a virtual user named upload, mapping the virtual user to ftpuser and ftpgroup, setting home directory /home/openhabian/.node-red/static/ftp/, and record password of the user in database. Notice that we set the path to /home/openhabian/.node-red/static/ftp/ and NOT to /home/openhabian/.node-red/static/ftp/officecam - this way we can use the same FTP user for all our cameras and just have to assign different upload directories in the FTP Configuration of our cameras - ./officam in case of our first camera. In your case it might make sense to use a different FTP user with a different home directory for each camera? You can make that decision here:
sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /home/openhabian/.node-red/static/ftp/ -m
  1. Geben Sie ein Kennwort für diesen virtuellen Benutzer ein, wenn Sie dazu aufgefordert werden.
  2. Als nächstes richten Sie eine virtuelle Benutzerdatenbank ein, indem Sie Folgendes eingeben:
sudo pure-pw mkdb
  1. Zu guter Letzt definieren Sie eine Authentifizierungsmethode, indem Sie eine Verknüpfung der Datei erstellen /etc/pure-ftpd/conf/PureDB:
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb
  1. Starten Sie danach den FTP Dienst neu:
sudo service pure-ftpd restart
  1. Sie können den FTP-Upload mit Ihrer INSTAR-Kamera mit der FTP-Test-Funktion testen:

INSTAR Camera FTP Setup

Gehen Sie zurück zu Ihrem Terminal, gehen Sie zum Upload-Verzeichnis und listen Sie alle Dateien auf:

cd /home/openhabian/.node-red/static/ftp/officecam
ll

INSTAR Camera FTP Setup

Dein Test-Upload sollte unten aufgeführt sein - eine JPG-Bilddatei mit einem Namen, der mit einem T gefolgt von einem Zeitstempel beginnt:

INSTAR Camera FTP Setup