Introduccion
Buen diaAl tener un NAS doméstico que ejecuta Debian 8 (solía usar Ubuntu Server 12.04 y 14.04), surgió la idea de asignarle, entre otras cosas, la función de un servidor de vigilancia. Zoneminder fue seleccionado como la parte del servidor . El algoritmo de videovigilancia debe ser el siguiente: no es necesaria la grabación las 24 horas del día, pero si es necesario, se requiere la capacidad de permitir la grabación cuando se produce un evento: desencadenar un movimiento, seguido de enviar una notificación por correo electrónico con capturas de pantalla del evento. Esto es necesario para garantizar el control del apartamento cuando alguien está ausente. Bueno, por supuesto, necesita la capacidad de conectarse de forma remota y verificar si todo está en orden.En el sitio del desarrollador encontré el más detalladoUn wiki específicamente para instalar en Debian 8 de 64 bits. En consecuencia, tomaré las instrucciones de instalación desde allí, explicando algunos puntos con mis comentarios.Instalar Zoneminder
Entonces, tenemos un servidor con Debian 8 de 64 bits instalado en la configuración mínima (usé netinstall). Primero necesitas editar sources.list, agregando backports de Jessie:sudo nano /etc/apt/sources.list
Al final del archivo, agregue:deb http://http.debian.net/debian jessie-backports main
O descomente esta línea, si ya está allí, es decir, elimine # al comienzo de la línea. Actualización del índice del paquete:sudo apt-get update
Ahora todo está listo para instalar Zoneminder, que haremos:sudo apt-get install zoneminder
Durante la instalación, Apache, MySQL, PHP también se instalarán automáticamente.Una vez completada la instalación, cree la base de datos MySQL:sudo mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
En el proceso de creación de la base de datos, se le pedirá que seleccione la contraseña de root. Luego, ejecute los siguientes comandos secuencialmente (a través de sudo), ingresando la contraseña en caso de una solicitud: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
Activa la ejecución automática de Zoneminder:systemctl enable zoneminder.service
Agregamos el usuario www-data al grupo sudo, esto es necesario para acceder a las cámaras locales:adduser www-data sudo
Iniciar Zoneminder:systemctl start zoneminder.service
Comprueba que Zoneminder se está ejecutando:systemctl status zoneminder.service
Si todo está en orden, la salida del comando debería ser algo como esto:● zoneminder.service - ZoneMinder CCTV recording and surveillance system
Loaded: loaded (/lib/systemd/system/zoneminder.service; enabled)
Active: active (running) since 2016-07-10 18:48:30 IRKT; 5h 31min ago
Process: 6413 ExecStop=/usr/bin/zmpkg.pl stop (code=exited, status=0/SUCCESS)
Process: 6455 ExecStart=/usr/bin/zmpkg.pl start (code=exited, status=0/SUCCESS)
Main PID: 6474 (zmdc.pl)
CGroup: /system.slice/zoneminder.service
├─6474 /usr/bin/perl -wT /usr/bin/zmdc.pl startup
├─6507 /usr/bin/perl -wT /usr/bin/zmfilter.pl
├─6514 /usr/bin/perl -wT /usr/bin/zmaudit.pl -c
└─6521 /usr/bin/perl -wT /usr/bin/zmwatch.pl
Configurar Apache:a2enmod cgi
a2enmod rewrite
a2enconf zoneminder
Agregue su zona horaria en PHP:sudo nano /etc/php5/apache2/php.ini
Estamos buscando la sección [Fecha] y cambiando date.timezone a la deseada:[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Irkutsk
Guardar - Ctrl + O, salir - Ctrl + X.Reiniciar Apache:service apache2 restart
Para poder controlar Zoneminder a través de Internet Explorer, debe instalar Cambozola:cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz
replace 936 with cambozola version downloaded
cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder
Esto completa la instalación de Zoneminder. Ahora debe configurar el transporte de correo para que Zoneminder pueda notificarle los eventos por correo electrónico.Configurar el transporte de correo
Para enviar notificaciones, Zoneminder puede usar ssmtp e instalarlo:sudo apt-get update
sudo apt-get install ssmtp
Instale mailutils al mismo tiempo si este paquete aún no está instalado:sudo apt-get install mailutils
Ahora configure los ajustes de correo en nombre de qué notificaciones se enviarán. Supongamos que el buzón se encuentra en gmail.com. Abra ssmtp.conf:sudo nano /etc/ssmtp/ssmtp.conf
y traiga a este formulario, indicando, en consecuencia, sus datos:root=mymail@gmail.com
mailhub=smtp.gmail.com:587
hostname=localhost
RewriteDomain=gmail.com
UseSTARTTLS=YES
UseTLS=YES
AuthUser=mymail@gmail.com
AuthPass=myverystrongpassword
Revalias derechas:sudo nano /etc/ssmtp/revaliases
traemos a esta forma:root:pp@gmail.com:smtp.gmail.com:587
www-data:pp@gmail.com:smtp.gmail.com:587
Y verificamos la corrección de la configuración enviando una carta de prueba:echo "Hello, World" | mail -s "My email check" mne@napochtu.ru
Si la prueba es exitosa, continúe con el siguiente paso: instalar MIME :: Lite y Net :: SMTP. Compruebe si estos componentes están instalados:perl -MMIME::Lite -e "print \"Module installed.\\n\";"
perl -MNet::SMTP -e "print \"Module installed.\\n\";"
Instale yendo al shell perl:sudo perl -MCPAN -e shell
install MIME::Lite
install Net::SMTP
Ahora tenemos que hacer algunos cambios muy importantes, sin los cuales el transporte de correo desde Zoneminder no funcionará. Tenga en cuenta que estos cambios solo deben realizarse si la versión del Zoneminder instalado es 1.29 o inferior. A partir de la versión 1.30, estas acciones no son necesarias.Abra el archivo zmfilter.pl en el editor:sudo nano /usr/bin/zmfilter.pl
Yendo a la línea 1179, vemos lo siguiente:
MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
$mail->send();
Comenta las líneasMIME::Lite->send( "sendmail", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
y$mail->send();
y agregue una línea debajo de ellos$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Como resultado, a partir de la línea 1179 (en mi caso, pero no exactamente este número de línea), el código debería verse así:
$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Guardar, salir Esto completa el trabajo con el terminal.Interfaz web de Zoneminder
La administración está disponible en ip.adress.servera / zm , vaya. Lo primero que debe hacer es ir a Opciones -> Usuarios, y establecer la contraseña para administrador:
luego vaya a Opciones -> Sistema y marque la casilla OPT_USE_AUTH:
Si esto no se hace, Zoneminder le permite ir a la interfaz web o conectarse a través de una aplicación cliente sin solicitar un nombre de usuario / contraseña, que, por supuesto, no es seguro. Es extraño que esta marca de verificación tan necesaria no esté marcada por defecto.Ahora configure el envío de correo electrónico. Vaya a Optons -> Correo electrónico y configure por analogía:
En el campo EMAIL_BODY, puede configurar el formato de notificaciones según lo necesite. Por ejemplo, si agrega% EI1% al campo, la primera captura de pantalla desde el momento en que se activa el sensor de movimiento se adjuntará al mensaje. Una lista completa de opciones para notificaciones está disponible aquí .Agregar cámaras
Zoneminder puede funcionar con cámaras usb e IP. Por el momento, mis cámaras todavía están en camino, así que como una versión temporal de prueba de ajuste de la cámara, utilizo mi viejo teléfono inteligente Alcatel Pop C2 Android, que tiene instalada la aplicación de cámara web IP , que convierte el teléfono inteligente en una cámara IP Wi-Fi. Después de instalar y ejecutar la aplicación (primero recomiendo configurar la resolución de la transmisión de video en la configuración de la aplicación, configuro 800x480), la pantalla del teléfono inteligente muestra la IP y el puerto a través del cual puede ir a la interfaz web y ver qué es interesante aquí:
En general, hay muchas configuraciones, pero estamos interesados en la dirección a la que se proporciona la transmisión de video. Y vemos que hay información para configurar Zoneminder, lo cual es una buena noticia. Es decir, se especifica la ruta del host remoto, la ruta que deberá ingresarse en la configuración de Zoneminder: después de la cámara IP debe agregar / video:
Vuelva a la interfaz web de Zoneminder para agregar la cámara, seleccione Agregar nuevo monitor:
en el campo Nombre, escriba el nombre deseado, Fuente escriba -> Remoto:
en la pestaña Fuente, complete los campos: Nombre de host remoto -> IP del teléfono inteligente, Puerto de host remoto -> puerto en el que se ejecuta la cámara web IP, Ruta del host remoto -> la ruta que vimos en la configuración de la cámara web IP, y también indique resolución de transmisión de video, que debe coincidir con la que seleccionamos anteriormente en la configuración de la cámara web IP:
Guardamos la configuración -> Guardar, y en el menú principal de Zoneminder vemos la cámara que agregamos:
Al hacer clic en el nombre del que vemos la imagen: las
cámaras pueden funcionar en varios modos, que está determinado por el parámetro Función en el menú principal:
el modo en el que solo se realiza la grabación movimiento en el cuadro, llamado Modect, y selecciónelo. Ahora el sistema no grabará la transmisión de video continuamente, pero solo si hay buenas razones. Pero aún necesitamos una notificación de movimiento en el marco. Para esto necesita configurar el filtro. Abra los filtros en el menú principal de Zoneminder, configúrelos según la captura de pantalla, guárdelos con cualquier nombre:
y no olvide marcar la casilla junto a Ejecutar filtro en segundo plano:
Por lo tanto, si se detecta movimiento en el cuadro, el sistema grabará el video y enviará una notificación al correo.Aplicaciones de cliente
Si hay una IP permanente, nada le impide reenviar los puertos en el enrutador y conectarse desde el teléfono inteligente desde el exterior a través de la interfaz web, especialmente porque puede seleccionar la versión móvil de la interfaz en la configuración de Zoneminder, pero, además, decidí buscar alguna aplicación móvil para esto objetivos Después de buscar en Google Play la palabra clave "zoneminder", me decidí por zmNinja , porque La calificación es bastante alta y me gustaron las capturas de pantalla. La aplicación es de pago, versión de prueba para evaluación preliminar, por desgracia, no. La funcionalidad es más que suficiente: ver la transmisión de video en tiempo real, ver el archivo, eventos grabados, cambiar de modo de cámara, etc.



También hay versiones de escritoriozmNinja para Linux, Windows, Mac OS X: se distribuyen de forma gratuita. Así es como se ve la versión de Linux que se ejecuta en mi Mint 18:
en general, la interfaz es la misma para todos los sistemas.Eso es todo, gracias por su atención.