[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian + vidéosurveillance



Le 22/05/2017 à 00:51, kaliderus a écrit :
> Le bonjour,
> 
> Connaissez-vous des solutions de vidéosurveillance qui tournent avec
> notre Debian préférée ?

Oui !

> Si vous avez quelques références "professionnelles" j'apprécierai...

Zoneminder ! Libre... détection de mouvement intégrée pas mal du tout...
Plein de possibilités de hacks... App pour smartphone...

Vraiment bien :)

Je l'utilise même en recyclant des vieux PC pas pêchus (trucs en IDE,
avec des disques deux disques de 500Go en raid 1 et 1,5 Go de ram), dans
une config encore plus légère qu'XFCE (le très beau Windowmaker)...

Un copier/collé (très sale, désolé) de mon wiki, (pour le reste, il est
facile à configurer via son serveur web) :

--------------------------------------------------------------
Architecture
1        Introduction

Compte tenu des spécificités de Zoneminder, l'installation de ce dernier
se fera soit :
- Via une configuration légère fondée sur WindowMaker ;
- Via une VM, dans le cadre d'un serveur local.

Ce document décrit l'installation d'un serveur Zoneminder.
1.1      Système
Le système d'exploitation, le « L » de « LAMP » est : GNU/Linux Debian 8
Jessie.

Debian est le roi des systèmes serveurs sous Linux. Son niveau de
sécurité et de fiabilité est sans équivalent. Son système de gestion de
paquets « aptitude » est le meilleur de tous les Linux.

L'installation et la sécurisation de base sont décrits dans : serveur
INTERNIX (cloud).odt

1.2      LAMP Stack
La « LAMP » stack est conservée car Zoneminder est très liée à cette
dernière.


Installation Système
1        Généralités

Installer le système. Ne choisir aucune installation typique par défaut
(tout décocher).

En fonction du support (machine physique ou VM) :
- Prévoir 12 Go sur / et un nombre suffisant de Go sur /srv pour le
stockage des vidéos et des données SQL ;
- Moduler les paquets préconisés en fonction du hardware ou du contexte.
2        Base


# Installer boot sur second disque RAID

root@system: grub-install /dev/sdb

root@system: update-grub /dev/sdb

root@system: apt-get install aptitude
root@system: aptitude keep-all

root@system: aptitude install mc


Mettre à jour les dépôts  :

/etc/apt/sources.list

deb http://http.debian.net/debian/ jessie main contrib non-free
deb-src http://http.debian.net/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

# jessie-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ jessie-updates main contrib
non-free

# jessie-backports, previously on backports.debian.org
deb http://http.debian.net/debian/ jessie-backports main
deb-src http://http.debian.net/debian/ jessie-backports main


Mettre à jour le système et installer les paquets :


# Mise à jour

root@system: aptitude update
root@system: aptitude upgrade

# Postfix doit être installé pour supprimer Exim avant l'installation
des smartmontools

root@system: aptitude install ssh xorg lightdm wmaker postfix

# Pour les cartes graphiques et réseau

root@system: aptitude install firmware-linux-nonfree firmware-realtek
3        Finalisations
3.1      Smartmontools


root@system: aptitude install smartmontools



<<< CONFIG SMARMONTOOLS >>>

3.2      LM-Sensors


root@system: aptitude install lm-sensors

# Configuration

root@system: sensors-detect

# Contrôle

root@system: sensors

3.3      Grub

/etc/default/grub

...
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_BACKGROUND="usr/share/images/desktop_base/lightdm_gris.png"
...



root@system: update-grub

3.4      LightDM

/etc/lightdm/lightdm-gtk-greeter.conf

...
background=/usr/share/images/desktop_base/lightdm_gris.png"
...

Installation Zoneminder
1        Base


root@system: aptitude install php5 mysql-server php-pear php5-mysql php5-gd

# Noter le mot de passe MySQL


Déplacer le chemin des bases MySQL :


root@system: systemctl stop mysql

root@system: mv /var/lib/mysql /srv/sql


Mettre à jour :

/etc/mysql/my.cnf

...
datadir	= /srv/sql
...

# set MySQL to use innodb_file_per_table

[mysqld]
...
innodb_file_per_table
...

2        Zoneminder
Installer

root@system: aptitude install zoneminder


Paramétrer :


root@system: mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
root@system: mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost
identified by 'zmpass';"
root@system: mysqladmin -uroot -p reload

root@system: chmod 740 /etc/zm/zm.conf
root@system: chown root:www-data /etc/zm/zm.conf

root@system: adduser www-data video


Mettre à jour, à la fin du fichier :

/etc/apache2/conf-enabled/zoneminder.conf

...
<Directory /usr/share/zoneminder/www/api>
    AllowOverride All
</Directory>
...


Déplacer le chemin de Zoneminder

root@system: mv /usr/share/zoneminder/www/ /srv/www/zm/


Créer ou mettre à jour ces paramètres et valeurs :

/etc/apache2/conf-enabled

Alias /zm /srv/www/zm
<Directory...
<Directory.../api>


/etc/apache2.conf

<Directory /srv/www/>
...

/etc/zm/zm.conf

ZM_PATH_WEB=/srv/www/zm


Recréer les répertoires en dur : events, images, temp

<<<Il reste une opération non documentée de suppression de lien
symbolique et de remplacement par une copie de la ou les libs pointées
par le lien. Voir les logs pour les erreurs, qui se traduisent par
l'impossibilité d'utiliser l'application web>>>
Démarrage automatique

root@system: systemctl enable zoneminder.service

root@system: systemctl start zoneminder.service

root@system: systemctl status zoneminder.service

Apache

root@system: sa2enmod cgi
root@system: sa2enmod rewrite
root@system: sa2enconf zoneminder


/etc/php5/apache2/php.ini

...
date.timezone = Europe/Paris
...




root@system: chown -R www-data:www-data /srv/www/zm/

root@system: service apache2 restart

3        Finalisations
3.1      Windowmaker


Préférences
	    Préférences icônes
		Réduire les icônes à 24x24 pixels
		Single click activation

3.2      Xorg
Supprimer l'économiseur d'écran
Pour un serveur de surveillance, laisser l'économiseur d'écran, qui est
activé par défaut, n'est pas une très bonne idée... Créer un fichier
/etc/X11/xorg.conf


root@system: service lightdm stop

root@system: Xorg -configure

root@system: mv /root/xorg.conf.new /etc/X11/xorg.conf


Editer xorg.conf et ajouter les 5 lignes marquées par « >>> » :

/etc/X11/xorg.conf

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
>>>        Option          "StandbyTime" "0"
>>>        Option          "SuspendTime" "0"
>>>        Option          "OffTime" "0"
>>>        Option          "BlankTime" "0"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/X11/misc"
        FontPath     "/usr/share/fonts/X11/cyrillic"
        FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/Type1"
        FontPath     "/usr/share/fonts/X11/100dpi"
        FontPath     "/usr/share/fonts/X11/75dpi"
        FontPath     "built-ins"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
>>>        Option "DPMS" "false"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "Accel"                     # [<bool>] (on by default)
        #Option     "SWcursor"                  # [<bool>]
        #Option     "EnablePageFlip"            # [<bool>]
        #Option     "ColorTiling"               # [<bool>]
        #Option     "ColorTiling2D"             # [<bool>]
        #Option     "RenderAccel"               # [<bool>]
        #Option     "SubPixelOrder"             # [<str>]
        #Option     "AccelMethod"               # <str>
        #Option     "EXAVSync"                  # [<bool>]
        #Option     "EXAPixmaps"                # [<bool>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "EnablePageFlip"            # [<bool>]
        #Option     "SwapbuffersWait"           # [<bool>]
        Identifier  "Card0"
        Driver      "radeon"
        BusID       "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection


Redémarrer pour la prise en compte.
3.3      Firefox


root@system: aptitude install firefox-esr firefox-esr-l10n-fr


En affichage « Montage », Firefox a tendance à figer la vidéo au bout de
quelques heures. Installer le module :
https://addons.mozilla.org/fr/firefox/addon/zoneminder-client (puis
personnaliser firefox pour mettre les boutons sur une seule ligne à
gauche de la zone d'URL par exemple ou modifier la configuration de
firefox via about:config :


browser.cache.check_doc_frequency 3 -> 1
browser.cache.disk.enable True -> False
browser.cache.memory.enable -> False
network.http.use-cache -> False
network.http.max-connections-per-server -> 100
network.http.max-persistent-connections-per-proxy -> 100
network.http.max-persistent-connections-per-server -> 100


Des notes sur ce problème sont disponibles ici :
https://forums.zoneminder.com/viewtopic.php?t=5066

Installer lanceur Firefox, avec le chemin : localhost/zm

3.4      zmNinja


root@system: aptitude install libnotify-bin libconf-2-4 libnss3


Télécharger le binaire de zmNinja sur :
https://github.com/pliablepixels/zmNinja/releases
Installer l'arborescence du binaire dans /home/<user>/zmNinja
Appliquer les droits <user> sur /home/<user>/zmNinja
Paramétrer le lanceur et cocher le démarrage automatique.

https://github.com/pliablepixels
https://github.com/pliablepixels/zmeventserver
https://github.com/pliablepixels/ZoneMinderFoscamHDTrigger
https://github.com/pliablepixels/zmhacks

--------------------------------------------------------------


-- 
Stéphane Rivière
Ile d'Oléron - France

Attachment: 0xD7F43200.asc
Description: application/pgp-keys


Reply to: