Kamera-Überwachungssystem mit Zoneminder (Ubuntu-Linux Server)

Das open-source Projekt Zoneminder stell eine hoch professionelle Videoüberwachungs-Suite zur Verfügung. Es können beliebig viele Video-Quellen (echte Kameras per Capture-Karte, Webcams, IP-Cams, etc.) eingespeist werden. Zoneminder stellt das Videosignal als Stream im Browser bereit. Am besten im Firefox. Ebenso kann Zoneminder aktuelle Schnappschüsse aufs Handy liefern (per WAP aufrufen). Zoneminder verfügt außerdem über Bewegungserkennung, und kann entsprechend Alarm auslösen. Folgendes Brauchen wir:

  1. Linux-System. Vorzugsweise ein Ubuntu. Für Experten darf es sogar die Server-Edition ohne grafische Oberfläche, aber dafür mit 5 Jahren LTS-Support sein.
  2. Installation von Zoneminder via
    sudo apt-get install zoneminder
  3. Video-Capture Karte oder Webcam. Ich setze die PICO C-104 ein. Aus Spaß hängt noch eine Labtec Webcam Plus (ca. 10 EUR, ab Ubuntu 8.04 ist der Treiber schon bzw. wieder dabei) mit dran, die aber nur bei gutem Licht erkennbare Bilder liefert. Diese verfügt über 4 Kanäle und einen BT-Chipsatz, der selbst von älteren Kerneln mittels dem Treiber bttv problemlos betrieben werden kann. Allerdings, muss man dem Treiber die richtigen Parameter mitgeben. Dies geschieht bei mir in der Datei /etc/modprobe.d/options:

    options bttv card=77 tuner=4

    Sollte dies allein nicht helfen, können noch folgende 2 Zeilen hinzugefügt werden:

    alias char-major-81 videodev
    options i2c-algo-bit bit-test=1

    Wenn alles klappt, kann man sich nach erneutem Booten mittels dmesg vom erfolgreichen Erkennen der Karte überzeugen. Es sollte für die Karte ein Device /dev/video0 angelegt worden sein. Zoneminder greift dann auf /dev/video0 zu und bietet die 4 Kanäle zur Auswahl an.
  4. Rechteprobleme beim Zugriff auf /dev/video. Sollte Zoneminder kein Bild bringen und im Syslog /var/log/syslog stehen, dass Zoneminder die Rechte fehlen (ERR [Failed to open video device /dev/video1: Permission denied]), um den Video-Device zu öffnen, kann man ein

    sudo zmfix -a

    ausführen (Failed to open video device) oder testhalber die Rechte des Video-Devices ändern:

    sudo chmod a+r /dev/video0 # anpassen!

    Da bei mir das Problem öfters kam, und zmfix ohnehin automatisch läuft, habe ich zmfix einfach ein Sticky-Bit gesetzt:

    sudo chmod +s /usr/bin/zmfix

    (Jetzt bitte keine Sicherheitsbelehrungen. ;-) )
  5. Einen Account bei dynDNS anlegen, wenn man auf die Kameras von außerhalb zugreifen will, und Port 80 auf den Zoneminder-Server durchreichen. Allerdings sollte man unbedingt den Apache mittels .htaccess oder allgemeinen Regeln (siehe nächster Punkt) absichern.
  6. Webzugriff absichern. Dazu öffnet man die Datei /etc/apache2/sites-enabled/000-default und fügt erstmal folgendes in die zweite Zeile hinter NameVirtualHost * ein:

    ServerName MeinServerName # z.B. zoneminder

    Für das www-Verzeichnis <Directory /var/www/> kann in der Syntax einer .htaccess eine Passwortabfrage eingerichtet werden, die nur Besucher aus dem Internet, aber nicht aus dem lokalen Netz, nach User + Pass fragt, weil in einer Datei namens .htuser abgespeichert sind:

    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    AuthType Basic
    AuthName "zoneminder"
    AuthUserFile /mein_pfad/.htusers # anpassen!
    Require valid-user
    Order deny,allow
    Deny from all
    Allow from 192.168.1 # internes subnet anpassen!
    Satisfy any
    </Directory>

    Damit kommt niemand ohne Passwort aus dem Internet an Zoneminder ran.
  7. Einen Zugriff auf aktuelle Bilder der Kameras kann man mit jedem WAP-fähigen Handy mit HTML-Browser (z.B. SonyEricsson W810i) realisieren. Dazu einfach eine eigene HTML-Datei mit den Links zu den Kameras anlegen, und von Zoneminder skalierte Standbilder anfordern, z.B.

    /cgi-bin/nph-zms?mode=single&monitor=1&scale=68

Mit diesen Schritten und Installation funktioniert die Video-Überwachung perfekt. Bitte dran denken, dass auch open-source Projekte ihren Webauftritt und Testhardware finanzieren müssen. In Anbetracht der Tatsache, dass eine vergleichbare Lösung zu Betriebsystem + Zoneminder die 1000 EUR nach oben durchbricht, darf die Spende auch etwas größer ausfallen.

Festplatten gleich mitüberwachen lassen

Mit den Smartmontools lassen sich die Festplatte(n) gleich bequem überwachen. Täglich ein kurzer S.M.A.R.T. Selbsttest und 1x pro Woche ein langer Selbsttest. Darüber hinaus bleiben auch die Temperatur und Lesefehler unter Kontrolle des smartd. Ausführlicher Artikel:
Den Zustand der Festplatte mit Smartmontools überprüfen

Leave a Reply