Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Con l’arrivo del nuovo Raspberry pi 3 B+ nella mia collezione, ho deciso di dedicarlo alla video sorveglianza installando Zoneminder. Per avere delle ottime performance, è necessrio avere una sd card performante, io ho optato per una SanDisk Extreme PRO 64GB, MicroSDXC Classe 10. Si può anche utilizzare un ssd esterno come capiente storage. Tutti i comandi sotto saranno eseguiti come root:

# apt update; apt upgrade -y
# apt install -y build-essential openssh-server apache2 mysql-server mysql-client bison flex php php7.0-curl php7.0-cli php7.0-mysql php-pear php7.0-gd curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev libasound2-dev libogg-dev libapache2-mod-php7.0 sendmail ffmpeg vlc vlc-data zoneminder
# rm -rf /etc/mysql/my.cnf
# cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/my.cnf
# nano /etc/mysql/my.cnf

ed aggiungere:

sql_mode = NO_ENGINE_SUBSTITUTION

come sotto:

# * Basic Settings
#
user            = mysql
sql_mode = NO_ENGINE_SUBSTITUTION
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# systemctl restart mysql

mettere in sicurezza mysql

# mysql_secure_installation
# service mariadb restart
# systemctl status mariadb.service

Creazione del database:

# mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
# mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
# mysqladmin -uroot -p reload
# chmod 740 /etc/zm/zm.conf
# chown root:www-data /etc/zm/zm.conf
# adduser www-data video
# a2enmod cgi
# a2enconf zoneminder
# a2enmod rewrite
# systemctl restart apache2
# chown -R www-data:www-data /usr/share/zoneminder/
# systemctl enable zoneminder
# service zoneminder start

per evitare errori modificare il file php.ini aggiungendo Europe/Rome nella sezione Module Settings:

# nano /etc/php/7.0/apache2/php.ini

date.timezone = Europe/Rome

# systemctl restart apache2

a questo punto zoneminder sarà raggiungibile all’indirizzo http://ip_seerver/zm

Per utilizzare un ssd esterno come storage, bisogna configurare /etc/fstab per il montaggio automatico:

# systemctl stop zoneminder
# mkdir -p /ssd/zoneminder/events/
# rm -rf /var/cache/zoneminder/events/
# nano /etc/fstab

ed aggiungere qualcosa del genere:

/dev/sdX1 /ssd ext4 defaults 0 2
/ssd/zoneminder/images /var/cache/zoneminder/images none defaults,bind  0 2
/ssd/zoneminder/events /var/cache/zoneminder/events none defaults,bind 0 2

per poter scrivere sul nuovo storage:

# chown -R www-data:www-data /ssd/zoneminder/
# reboot

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

al riavvio tutto dovrebbe funzionare, e si potrà procedere alla configurazione di Zoneminder

enjoy 😉

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Administrator, Sys Admin Linux, Linux User, Consulente Informatico.

7 pensieri riguardo “Zoneminder su Raspberry pi 3 B+ Raspbian Stretch”

  1. Ottima Guida
    Faccio la procedura,tutto va a buon fine, pero quando lancio dal browser: http://ip_seerver/zm
    mi restitusce impossibile raggiungere il sito.
    dove sbaglio?
    grazie per la pazienza

  2. mai capitato?

    zoneminder.service – ZoneMinder CCTV recording and surveillance system
    Loaded: loaded (/lib/systemd/system/zoneminder.service; disabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Thu 2018-12-06 18:59:39 UTC; 6s ago
    Process: 11888 ExecStart=/usr/bin/zmpkg.pl start (code=exited, status=255)

    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: Can’t connect to db at /usr/share/perl5/ZoneMinder/Config.pm line 119.
    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: BEGIN failed–compilation aborted at /usr/share/perl5/ZoneMinder/Config.pm line 119.
    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: Compilation failed in require at /usr/share/perl5/ZoneMinder.pm line 33.
    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: BEGIN failed–compilation aborted at /usr/share/perl5/ZoneMinder.pm line 33.
    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: Compilation failed in require at /usr/bin/zmpkg.pl line 48.
    Dec 06 18:59:39 raspberrypi zmpkg.pl[11888]: BEGIN failed–compilation aborted at /usr/bin/zmpkg.pl line 48.
    Dec 06 18:59:39 raspberrypi systemd[1]: zoneminder.service: Control process exited, code=exited status=255
    Dec 06 18:59:39 raspberrypi systemd[1]: Failed to start ZoneMinder CCTV recording and surveillance system.
    Dec 06 18:59:39 raspberrypi systemd[1]: zoneminder.service: Unit entered failed state.
    Dec 06 18:59:39 raspberrypi systemd[1]: zoneminder.service: Failed with result ‘exit-code’.

  3. non funziona come devo fare per risolvere questo problema?
    ZoneMinder is not installed properly: php’s date.timezone is not set to a valid timezone

  4. Ciao Ciro,
    io ho risolto inserendo la linea:
    date.timezone = Europe/Rome

    nel file:
    /etc/php5/apache2/conf.d/20-xdebug.ini

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *