Journal [Tuto/HowTo] mettre en place ZoneMinder sur Ubuntu 16.04

Posté par . Licence CC by-sa
10
18
oct.
2016

Sommaire

Description

Ce tuto est une copie de ce tutoriel (l'orignel continuera d'être mis à jours)

  • ZoneMinder est un logiciel libre de central de vidéos surveillance. Il peut accéder et contrôler un certain nombre de caméras de divers types et interagir en fonction d'évènement. Il offre toute une panoplie d'options et paramètres intéressants comme le système de zone, l'export de données, les alertes par notification (mail), les alames, le multi-users. Il sert aussi de proxy entre toutes les caméras et les clients. On regrettera néanmoins son aspect visuel un peu austère et le fait qu'il lag un peu (malgré que la consommation de ressources ne semble pas importante) et l'aberration qu'est l’inexistence d'une application mobile. Attention que ZoneMinder server consomme "beaucoup" de ressources réseaux (plus de 500ko/s pour une camera 640*480). La WEBUI de zoneminder a aussi tendance à faire lagger firefox côté client (malgré que le processeur et la Ram n'en ont pas l'air).

Les tutos sur l'installation de caméra se trouve sur le forum 0rion dans Techno => Hardware => installation

Installation de ZoneMinder

Systeme et fichiers

  • Passez en admin/root

    • sudo su
  • Mettez à jour le système

    • apt-get update apt-get upgrade apt-get dist-upgrade
  • Installez zoneminder, php-gd php-mysql et mysql-server

    • apt-get install zoneminder php-gd mysql-server php-mysql
  • Créez un user et ajoutez le au groupe vidéo

    • sudo adduser www-data video
  • Accordez les bonnes permissions au fichier de config de zoneminder

    • chmod 740 /etc/zm/zm.conf
  • Accordez les bons propriétaires au fichier de config de zoneminder

    • chown root:www-data /etc/zm/zm.conf
  • Fixez les permissions des fichiers de zoneminder

    • chown -R www-data:www-data /usr/share/zoneminder/
  • Éditez la timezone dans le php.ini
    sudo nano /etc/php/7.0/apache2/php.ini

    • Cherchez (CTRL+W) date.timezone et adaptez la comme suit en plaçant votre timezone (liste ici). N'oubliez pas de supprimer le ";" en début de ligne.
    • date.timezone = "Europe/Brussels"

Configuration de MySQL

  • Supprimez le lien symbolique du fichier de config de MySQL (vérifier les répercutions sur les autres logiciels)

    • rm /etc/mysql/my.cnf
  • Remplacez le lien supprimé précédemment par une copie du fichier de config de MySQL

    • cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
  • Éditez le fichier de config de mysql

    • nano /etc/mysql/my.cnf
  • Ajoutez dedans

    • sql_mode = NO_ENGINE_SUBSTITUTION
  • Redémarrez le service MySQL

    • systemctl restart mysql
  • Lancez la création de la BDD et de son user

    • mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
  • Accordez tous les droits à l'user "zmuser" sur la base de données de zoneminder

    • mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
  • Rechargez MySQL

    • mysqladmin -uroot -p reload

Configuration apache2

  • Activez les modules apache2 nécessaire

    • a2enmod cgi a2enmod rewrite
  • Activez la configuration apache2 de zoneminder

    • a2enconf zoneminder
  • Éditez le fichier de config d'apache2 (CTRL+X pour sauver&quitter)

    • nano /etc/apache2/apache2.conf
  • Changez de None en All aux deux emplacements comme suit

    • <Directory /usr/share> AllowOverride All Require all granted </Directory>
  • et

    • <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
  • Lancez le service

    • systemctl enable zoneminder service zoneminder start
  • Redémarrez apache2

    • service apache2 reload
  • Créez le dossier sound

    • mkdir /usr/share/zoneminder/www/sounds
  • Accordez le bon propriétaire au dossier sound

    • sudo chown www-data:www-data -R /usr/share/zoneminder/www/sounds
  • Accordez les bonnes permissions au dossier sound

    • sudo chmod 774 -R /usr/share/zoneminder/www/sounds
  • Rendez-vous sur la WEBUI (http://hostnameZoneMinder/zm) afin de finaliser l'installation en plaçant un mot de passe fort sur l'accès root (dépêchez-vous si vous êtes en ligne, les bots d'attaques sont rapides)

Gérer Zoneminder

Commandes

  • Stopper zoneminder

    • sudo service zoneminder stop
  • Démarrer zoneminder

    • sudo service zoneminder start
  • Relancer zoneminder

    • sudo service zoneminder restart
  • Afficher le status de zoneminder

    • sudo service zoneminder status
  • Afficher des infos système à propos du processsus de zoneminder (zmc)

    • ps -aux | grep "zmc"

Changer l'emplacement du stockage de zoneminder

On va partir du principe qu'on veut placer les fichiers de zoneminder (photos, vidéos, sons, etc) dans /media/raidSSD/zoneminder. Adaptez le PATH a ce que vous souhaitez. Si vous ne savez pas comment monter vos disques/ressources distantes, voyez la section du forum intitulée Operating System => Memory

  • On change le PATH et sauvegarde le dossier de zoneminder au cas ou

    • sudo mv /var/cache/zoneminder /var/cache/zoneminderOLD
  • On copie les dossiers et leurs éventuels contenu vers notre montage dédié

    • sudo cp /var/cache/zoneminderOLD /media/raidSSD/zoneminder -R
  • On crée le lien symbolique

    • sudo ln -s /media/raidSSD/zoneminder /var/cache/zoneminder

Ajouter une camera à zoneminder

  • Rendez-vous sur la WEBUI de zoneminder avec votre navigateur web
  • Cliquez sur "Ajouter camera"
  • Dans la fenêtre qui s'ouvre :
    • onglet Général
    • Nom : l'identifiant que vous souhaitez donner à votre camera
    • Type de source : pour une webcam sélectionnez "Local", pour une camera IP choisissez "Distant"
    • Cochez "Activé"
    • onglet Source
    • Nom d'hôte" : entrez l'HOSTNAME pour joindre votre camera
    • Port : le port pour joindre votre camera
    • Chemin : entrez les paramètres d'url pour joindre votre camera (par exemple pour une fi8910w c'est "/videostream.cgi?user=&pwd=")
    • Largeur (nb pixels) : entrez la largeur maximal disponible pour votre camera
    • Hauteur (nb pixels) : entrez la longueur maximal disponible pour votre camera
  • Sauvegardez

Screenshot

screenshot_17-10-2016_zoneminder_WEBUI_Demo
screenshot_17-10-2016_zoneminder_WEBUI_Demo3
screenshot_17-10-2016_zoneminder_WEBUI_Demo2
screenshot_17-10-2016_zoneminder_WEBUI_Demo4

  • # IPv4 automatiquement fixée via adresse Mac dans le routeur, comment?

    Posté par . Évalué à 1 (+1/-1).

    Après avoir branché la camera qui m'a servis a faire ce tuto, j'ai remarqué qu'elle (ainsi que des smartphones) avait une IP fixé via adresse Mac par le routeur. Ainsi après un arrêt/allumage, elle reprend la même adresse IPv4 (aucune idée quant à IPv6).

    Si vous avez des informations à propos de ce mécanisme (comment l'utiliser en dev), cela m'intéresserait fortement (je n'ai trouvé que des trucs en anglais peu digérable).

    • [^] # Re: IPv4 automatiquement fixée via adresse Mac dans le routeur, comment?

      Posté par . Évalué à 6 (+4/-0).

      C'est pas forcément une adresse IP statique fixée par le routeur (disons plutôt par le serveur DHCP, qui en général est ton routeur il est vrai). Le bail dure un certain temps, et le routeur refile tout simplement la même adresse si la demande provient de la même adresse MAC (par exemple pendant 3h).

      Si tu éteins et que tu attends une nuit, il y a des chances pour que ta caméra chope une autre IP.

      Sinon si tu veux absolument avoir une IP fixe, faut demander gentiment à ton routeur, il est en général prévu une interface pour que tu puisses la fixer (c'est utile en général pour rediriger un port : l'IP doit être connue par avance).

      • [^] # Re: IPv4 automatiquement fixée via adresse Mac dans le routeur, comment?

        Posté par . Évalué à 1 (+1/-1).

        Le bail dure un certain temps, et le routeur refile tout simplement la même adresse si la demande provient de la même adresse MAC (par exemple pendant 3h).

        C'est peut-être ça, ça expliquerait pourquoi je peux supprimer ces entrées mais pas les modifier. (pour modifier il faut supprimer puis re-créer l'entrée, alors que les entrées que je crée moi même peuvent être modifié directement)

        Sinon si tu veux absolument avoir une IP fixe, faut demander gentiment à ton routeur

        oui je sais, c'est le côté automatique qui m'a choqué ^ ^

  • # Fautes / Correction

    Posté par . Évalué à 2 (+1/-0).

    Petite faute ici

    sudo cp /var/cache/zoneminderOLD /media/raidSSD/ -R

    à remplacer par

    sudo cp /var/cache/zoneminderOLD /media/raidSSD/zoneminder -R

    Ainsi que

    distante"s,

    (le " c'est glissé dans le mot)

    Merci au modo qui corrigera :)

    N'hésitez pas a signaler des corrections :)

  • # Modèle de camera compatible zoneminder

    Posté par . Évalué à 1 (+1/-1).

    N'ayant pas les moyens financiers pour essayer un grand nombre de camera, et le forum de zoneminder étant très peu actif: j'invite ceux qui utilisent Zoneminder a partager ici quel modèle ils utilisent et les caractéristiques de la camera (possibilité de changer l'user admin? communication chiffrée? openssh-server? PTZ fonctionnel avec Zoneminder? solidité? étanchéité?)
    Avec espoirs qu'on puisse plus facilement trouver une camera correspondant à nos attentes :)

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.