ZoneMinder: Herramientas para monitorear con cámaras de seguridad en Linux

ZoneMinder es un conjunto de aplicaciones, herramientas que nos permiten controlar, monitorear nuestras cámaras de seguridad, de vigilancia.

¡Qué es ZoneMinder?

Como acabo de decir, es un conjunto de herramientas que nos sirven para monitorear, controlar nuestras cámaras de seguridad. Está conformado por varios scripts (perl, etc), así como una interfaz web (PHP) que hace más amigable todo el proceso.

Supongamos que tenemos un negocio y adquirimos varias cámaras de vigilancia en alguna tienda local, o bien se puede tratar del sistema de vigilancia de un Nodo de comunicaciones, el caso es que necesitamos un sistema que nos permita ver lo que sucede en el (o los) locales que vigilamos, que mediante simples e intuitivas opciones podamos iniciar la grabación o detenerla, girar la cámara (si lo soporta el hardware), etc.

Aquí les dejo varios screenshots de ZoneMinder, pues como se dice por acá, una imagen vale más que mil palabras:

Instalación de ZoneMinder

Antes que todo, les recomiendo que accedan a la Wiki de ZoneMinder, pues deben tener en cuenta compatibilidad entre el hardware que tengan con el sistema que instalarán.

En la misma wiki hay excelentes guías de instalación para Ubuntu y CentOS, tomaremos de ejemplo la guía de Ubuntu 14.04 con ZoneMinder 1.28.1:

Primero debemos tener instalado un entorno LAMP, o sea, Apache, MySQL y PHP. No me detendré en esto, pues aquí en el Blog hemos puesto ya varios tutoriales para ello.

Luego editaremos el archivo de configuración de MySQL, para hacer un cambio y luego reiniciar el servicio:

sudo nano /etc/mysql/my.cnf

Agregamos lo siguiente bajo [mysql]:

innodb_file_per_table

Luego reiniciamos MySQL:

sudo service mysql restart

Además necesitamos habilitar el módulo cgi de Apache, que no viene activado por defecto:

a2enmod cgi

Y reiniciamos Apache:

sudo service apache2 restart

Ahora agregaremos el repositorio de ZoneMinder y lo instalaremos:

sudo add-apt-repository ppa:iconnor/zoneminder
sudo apt-get update
sudo apt-get install zoneminder

Si salen mensajes preguntando algo o esperando confirmación sobre algo, simplemente presionemos Ok o Aceptar.

Instalación de paquetes extras requeridos por ZoneMinder

Además, necesitaremos instalar algunos paquetes extra:

sudo apt-get install libvlc-dev libvlccore-dev vlc

Además, editaremos el archivo de inicio del daemon de MySQL para especificarle que espere unos segundos antes de lanzar el servicio:

sudo nano /etc/init.d/mysql

Ahí agregamos bajo de ‘start) ó start() { lo siguiente:

sleep 15

Puede quedarles así:

start() {
      sleep 15
      echo -n "Starting $prog: "

Ahora pasemos a configurar Apache, deberemos crear un directorio (en caso de que no exista) dentro del cual, pondremos dos archivos (enlaces simbólicos en realidad):

sudo mkdir /etc/apache2/conf.d
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf-enabled/zoneminder.conf

Agreguemos el usuario www-data (que es el usuario con que Apache interactúa con el sistema) al grupo video:

sudo usermod -a -G video www-data

Listo, ya podemos reiniciar Apache:

sudo service apache2 restart

Ahora sí, ya podemos abrir la interfaz web accediendo a: http://direccion-ip/zm/

O sea, ponemos la dirección IP del servidor donde recién instalamos ZoneMinder, o bien el subdominio (Ej: camaras.minegocio.com)

Una vez dentro de la interfaz PHP, puedes configurar, añadir cámaras y todo con opciones simples, a golpe de clic 😉

Conclusiones sobre ZoneMinder

En lo personal todo lo que sea para incrementar la seguridad, sin importar qué tan paranoico pueda parecer que es, lo apoyo. Cuando se cuenta con un Nodo o inclusive más, un DataCenter, la seguridad nunca es poca o suficiente.

Se puede tener una excelente seguridad mediante software, de hecho hace no poco dejamos algunos consejos, pero de nada vale tener un excelente firewall, passwords de acceso complejos, si el acceso físico no está controlado por cámaras de seguridad, por no tener barreras físicas o un sistema de seguridad perimetral.

Por cierto … ZoneMinder está en GitHub 😀

ZoneMinder en GitHub

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print

22 comentarios

  1.   DMoZ dijo

    Excelente hermano, justo lo que estaba buscando :D.

    Ahora sólo espero que mi hardware sea compatible.

    1.    KZKG^Gaara dijo

      Un placer 🙂

  2.   sinnerman dijo

    G
    R
    A
    C
    I
    A
    S

    1.    KZKG^Gaara dijo

      Gracias a tí por comentar 🙂

  3.   Mario Guillermo Zavala dijo

    Esasí de facil e interesante hay que ponerlo en practica,,,,

  4.   NauTiluS dijo

    Grandioso conjunto de herramientas en una sola.

    Me costara probarlo con una raperi pi, para ver como anda.

  5.   Antonio dijo

    Los comentarios se repiten, pero muchas gracias!! tengo problemas con el ingles y esto me ayuda mucho.
    🙂

  6.   Anónimo dijo

    ¿Eso funcionaría con un DVR? Es decir, se tienen 4 cámaras conectadas a un DVR que graba todo el día. ¿Se podría configurar Zone Minder para acceder a ese DVR, ver las grabaciones, etcétera?

  7.   Rafael dijo

    bien ahi luis.. exitos

  8.   louis dijo

    Gracias, me está gustando lo que estoy viendo, lo probaré haber que tal funciona en la raspberry pi

  9.   serfraviros dijo

    Muy interesante, estaba pensando en si existía algo así; esto me dá opciones muy interesantes. Gracias.

  10.   Antonio dijo

    Hola estoy siguiendo el manual y tengo una duda.
    En este script /etc/init.d/mysql que inicia el servicio de mysql, tengo que retardar el servicio 15 segundos, pero no se donde añadir estas linias de código, no me queda claro.

    start() {
    sleep 15
    echo -n “Starting $prog: ”

    case “${1:-”}” in
    ‘start’)
    sanity_checks;
    # Start daemon
    log_daemon_msg “Starting MySQL database server” “mysqld”
    if mysqld_status check_alive nowarn; then
    log_progress_msg “already running”
    log_end_msg 0
    else
    # Could be removed during boot
    test -e /var/run/mysqld || install -m 755 -o mysql -g root -d$

    # Start MySQL!
    /usr/bin/mysqld_safe > /dev/null 2>&1 &

    # 6s was reported in #352070 to be too few when using ndbclus$
    for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
    sleep 1
    if mysqld_status check_alive nowarn ; then break; fi
    log_progress_msg “.”
    done
    if mysqld_status check_alive warn; then

  11.   Criss dijo

    Buen tuto, gracias, ahora quisiera saber cual script perl es el que se ejecuta cuando se lanza un evento o alarma, y la ruta al archivo en ubuntu 14.04, esto es para realizar algunas modificaciones al script

  12.   lindomar dijo

    tenho um dvr standalone com 16 cameras e gostaria de visualizar e gravar através do zoneminder ubuntu lubuntu 14.04 como faço para adicionar cameras do dvr

  13.   Donald Raggs dijo

    Esta es una gran herramienta para disuadir a la delincuencia. Este conjunto de aplicaciones son muy útiles para todo tipo de gestión de la seguridad de la organización empresarial. Me gusta que es todas las características.

  14.   Luis Muñoz dijo

    Saludos, espero alguno pudiese ayudar con mi problema, ya lo instale y he seguido los pasos sin embargo he llegado al momento de cargar el zoneminder (http://localhost/zm) y este me manda un error:

    Unable to connect to ZM db.SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    Espero alguien me pudiese dar un poco de luz sobre el asunto, estoy comenzando a utilizar linux y ahora en este momento no se que hacer.

  15. Muy buen post!, ahora si que me queda claro

  16.   Sandra dijo

    Muy buena información!!, finalmente podre instalar la cámara de seguridad!!
    gracias!

  17.   sp dijo

    Una consulta este programa soporta camaras analogicas e ip? al mismo tiempo?

    1. A mi me ha funcionado con mi camara analogica!

  18.   Lenin Hernandez dijo

    Hola, aquí les dejo mas información para complementar el tema sobre instalar, configurar e implementar ZoneMinder en Debian Linux
    https://leninmhs.com.ve/instalacion-configuracion-zoneminder/

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.