jueves, 26 de marzo de 2015

Manual basico de instalación y configuración Zoneminder 1.28 en fedora 21

No voy a entrar en definiciones de que es y para que sirve zoneminder, para eso puedes ir a la pagina principal o buscar en otros sitios; Lo que haremos en este pequeño escrito es ver la instalación y configuración del mismo, así que manos a la obra.



[Nota de actualización a v1.29.0]

En el proceso de actualización nos va a dar errores nuevamente con los sockets de apache, el error es como el siguiente:

web_php[19063]: ERR [socket_sendto( /var/lib/zoneminder/sock/zms-329947s.sock ) failed: No such file or directory]

A lo cual debemos modificar nuestro zoneminder de la siguiente forma:

1) cambios en la interfaz web en el menú "Opciones->Rutas" en el campo "PATH_ZMS" y cambiar el valor a "/zoneminder/cgi-bin/zms"
2) El segundo cambio que debemos realizar es a nivel de la configuración del virtualhost de apache, en /etc/httpd/conf.d/zoneminder.conf en la linea

ScriptAlias /cgi-bin-zm "/usr/libexec/zoneminder/cgi-bin"

debemos modificarla de la siguiente forma:

ScriptAlias /zoneminder/cgi-bin "/usr/libexec/zoneminder/cgi-bin"


Reiniamos zoneminder y apache y con esto ya deberían tener funcionando nuevamente el streaming por el ambiente web

Ref: https://forums.zoneminder.com/viewtopic.php?f=34&t=24265&p=92469#p92469


1 Verificar el soporte

Lo primero que debemos tener en cuenta al momento de configurar zoneminder es el dispositivo de captura a usar y ver si esta soportada o al menos hay pruebas con el mismo, esto se puede verificar directamente en la pagina de zoneminder en donde ademas nos indican los ajustes que se le deben hacer a las cámaras.

2 Instalación

Una vez se haya verificado el soporte procedemos a la instalación, tenemos dos métodos para la instalación si bien lo podemos hacer a través de las fuentes, lo mas cómodo para la actualización son los repositorios; por lo cual vamos a utilizar uno en particular el cual nos ofrece las ultimas versiones. En este enlace están las instrucciones de como instalarlo.

2.1 Instalar repositorio y software base

Una vez instalado el repositorio se instala zoneminder y la base de datos mariadb el cual es un clon de mysql.

yum install zoneminder mariadb-server

2.2 Configuración de la base de datos

Ahora es necesario configurar la base de datos y el usuario en mariadb(mysql)
Lo primero que haremos será definir una contraseña al usuario root de la base de datos esto se hace de la siguiente forma:

2.2.1 Configuración de la contraseña del usuario root


mysqladmin -u root password 'mirootpass'

2.2.2 Ingresar a mariadb

mysql -u root -p
Enter password:

2.2.3 crear la base de datos

MariaDB [(none)]> create database zm;

2.2.4 Crear usuario y permisos

grant all on zm.* to zm@localhost identified by 'mizmpass';

Con esto ya tenemos creado el usuario y sus respectivos permisos, ahora debemos cargar la base de datos básica para que zoneminder inicie.

2.2.5 Cargar datos iniciales a la base de datos


Primero vamos al directorio en donde esta el script para inicializar la base de datos:

cd /usr/share/zoneminder/db/

Ahora cargaremos los datos a la base de datos de zoneminder:
mysql -u zm -p zm < zm_create.sql

Con esto ya se debe poder iniciar el servicio de zoneminder, tener en cuenta que la base de datos debe estar activa.

systemctl enable zoneminder.service
systemctl start zoneminder.service



2.2.6 Ajustes adicionales apache

Hay una particularidad con los scripts cgi de zoneminder y fedora, por lo cual hay que modificar la configuración de apache para que funcione correctamente, esto se hace editando el siguiente archivo:

vi /etc/httpd/conf/httpd.conf

Seguidamente buscamos la siguiente linea “#   ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
Con esta modificación terminamos la modificación de apache y procedemos a la configuración.

3 Configuración de zoneminder

3.1 Acceder a la administración

Con el servicio iniciado es hora de acceder a la configuración ingresando la ip en donde se instaló el servicio: http://127.0.0.1/zm



Como se puede observar se permite acceder directamente a la consola sin ningún tipo de autenticación lo cual se debe modificar ademas del idioma, a continuación veremos como modificar estos valores y agregar las cámaras y demás.

3.2 Activar autenticación y cambio de idioma

Hacemos click en el menú “options” y nos desplegá las opciones.


Guardamos los cambios y nos exige el reinicio de zoneminder

systemctl restart zoneminder.service

Ahora cuando se vuelve a intentar ingresar nos exige autenticarnos, el usuario y contraseña es “admin”.

3.3 Agregar una cámara

En la interfaz principal hacemos click en el botón “agregar nuevo monitor” lo cual nos despliega el siguiente menú.



A continuación la descripción de los campos:
Nombre: nombre descriptivo del monitor o como se va a identificar la camara.
Tipo de origen: como su nombre lo dice es como se va a acceder el dispositivo, si es esta conectado directamente al pc debería ser local, en caso que sea una camara ip sería remoto o ffmpeg; o depende de las instrucciones que se den en la wiki en donde se especifica como se deben ajustar estos valores.
Función: en este caso se debería colocar en “modec”, el cual solo graba cuando se detecta movimiento, en caso de querer solo el streaming se debería colocar en “monitor”, en caso de querer grabar solo lapsos de tiempo específicos se debería colocar en “record”, por utlimo se tiene la opción “mocord” la cual grabará continuamente.
Linked monitors: en esta opción se debería seleccionar las cámaras que se deberían activar en caso que en este monitor se presente una alarma, esto es particularmente útil cuando se esta monitoreando un pasillo o espacios los cuales tengan una sola entrada.
Máximos FPS: esto es útil cuando se tiene una cámara potente y un pc con poco rendimiento, lo que se hace es limitar el flujo de fotogramas desde la cámara y procesar solo la cantidad necesaria.
Un monitor configurado en esta pestaña quedaría de la siguiente forma, para una cámara que esta recibiendo un flujo rtsp; en este caso no hay monitores enlazados.



Ahora veremos la pestaña en donde se especifica el origen del dispositivo.






En este espacio es altamente recomendable consultar el hardware soportado ya que de allí tomaremos las instrucciones de configuración de cada dispositivo en particular, en el caso particular para una cámara TL-SC3130 tendremos las siguientes configuraciones para capturar el flujo rtsp.


3.4 Borrar las capturas antiguas

Uno de los puntos mas importantes y que son poco claros es el hecho de borrar la información que ya no es útil o que sencillamente es necesario liberar ese espacio en el disco, aun así la herramienta con la que cuenta para tal fin es muy versátil y podemos jugar muchos valores a la vez, la opción por la que debemos ingresar es por filtros.




Una vez dentro de filtro veremos algo como lo siguiente:

Ahora para crear un nuevo filtro y borrar los videos que sean mayores a 4 días, se deben seleccionar por “fecha”, “menor que” y escribir tal cual “-4 days”, seguidamente en las opciones a ejecutar se seleccionar “borrar todas las coincidencias”.



Ahora se guarda y sin olvidar de marcar la opción “ejecutar filtro en segundo plano” lo cual ejecutara dicho filtro periódicamente.



Con esto se terminaría una instalación básica de zonemider, no sobra mencionar los foros de zoneminder ya que son de mucha ayuda y cuentan con una comunidad muy activa.

Nota: se debe tener selinux desactivado ya que los módulos existentes no son totalmente compatibles para el correcto desempeño.

No hay comentarios: