Bienvenido(a) a Alcance Libre 13/09/2025, 15:07
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 2008 Israel Yglesias. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
CPU a mas de 2.0 GHZ
Memoria Ram: 512
Tarjeta de captura de video.- Solo en los casos en la que se utilizen cámaras de Tv de circuito cerrado, de lo contrario webcams e ipcams pueden utilizar otra clase de dispositivo para la identificación del video.
Tarjeta de Red.
Manejo de dispositivos USB 2.0
-Cualquier distribución de Linux, para este caso, utilizaremos CentOS Enterprise Linux en su distribución 5 en adelante
-GSPCAV1.- Driver de instalación para webcams ( driver universal para algunos equipos de captura de video)
-Linux Kernel-Source
-Zoneminder
-TermReadKey
-Cambozola
-Mysql*
-PHP y PHP Sereliazicion *
-Libutils *
-Perl *
ZoneMinder es un sistema de vigilancia de vídeo completo y de distribución gratuita para plataforma Linux. Esta aplicación se basa al igual que 'Gspy' en un sistema de detección de movimientos lo cual permite reducir la cantidad de datos de vídeo que deben enviarse por la red, ya que el envío de información solo se produce cuando se detecta un cambio en el patrón de la escena que pudiese significar un alterado en la seguridad de la zona que se está monitoreando.
A diferencia de 'Gspy', ZoneMinder está basado completamente en Web lo cual permite administrar y monitorear todos los sistemas de seguridad que se implementen mediante este sistema ya sea por la intranet corporativa o incluso desde internet.
El cambio de versión en ciertos componentes desde la versión 7.2 a 8 en RedHat Linux produce que se deban realizar ciertas modificaciones antes de realizar los pasos descritos en la documentación del software para una correcta instalación
Instalación del dispositivo de captura de video.
Antes de realizar la instalación de Zoneminder es necesario realizar la instalación de nuestros dispositivos de captura de video y asegurarnos de que estos funcionen ya que no es posible iniciar el demonio de ZoneMinder sin tener cámara reconocida por el Kernel de Linux.
Para este manual utilizaremos un dispositivo de captura LOGITECH modelo Live Pro. Para la instalación se deben de seguir los siguientes pasos:
1.- Descargar el Kernel-source de la distribución que estemos empleando. Para este paso podemos seguir los siguientes procedimientos:
Descargar el kernel.source de website oficial de la distribución que estemos utilizando.
Como root, instalar los paquetes de rpm-build, redhat-rpm-config, mock
[root@host]# yum install rpm-build redhat-rpm-config
Crear un grupo y usuario llamado mockbuild para que puedan realizarse las instalaciones del Kernel-source.
Mock es un paquete de instalación y compilación de paquetes RPM por lo que será necesario tenerlo instalado en nuestro kernel, de lo contrario el kernel*.src.rpm generara errores y no podrá ser instalado
Después de haberlo instalado debemos de crear un grupo llamado mockbuild además de crear el usuario mockbuild y hacerlo que pertenezca al grupo creado con el mismo nombre
[root@host]# groupadd mock build [root@host]# useradd mockbuild –g mockbuild
Habiendo terminado de agregar al usuario mockbuild ahora debemos descargar el kernel source del sitio oficial de la distribución e instalarlo. Para los pasos anteriormente mencionados es necesario recalcar que pueden cambiar debido a la distribución, en este caso se está utilizando CENTOS 5 por lo que si fue necesario realizar la instalación de MOCK antes de instalar el Kernel Source.
Habiendo descargado el kernel-source y kernel-devel instalamos:
[root@host]# rpm –Uvh kernel*.src.rpm
Posteriormente a este paso solo abra que reiniciar el equipo y bootear con el Kernel source que acabamos de instalar.
Otra manera de instalar los kernel-sources de Linux es bajando e instalando los paquetes Kernel ubicados en los repositorios YUM de CENTOS. Esta opción es mas practica que la anterior pero posteriormente a la instalación debemos de eliminar aquellos kernels que no sean utilizados.
Por lo que instalamos mediante yum.
[root@host]# yum –y install kernel*
Posteriormente a la instalación solo es necesario reiniciar el sistema operativo y bootear con el kernel source que acabamos de instalar.
Instalación de dispositivos de captura de video.
Actualmente existen diferentes dispositivos de captura de video compatibles con Linux por lo que en algunos casos solo abra que compilar el driver necesario para que dicho dispositivo funcione.
Para esos casos especiales en los que el dispositivo no es reconocido por Linux, se encuentra un driver que soporta bastantes marcas de cámaras sobre Linux. Dicho driver es GSPCA, un driver para webcams genérico que funciona a la perfección con Linux. Dicho driver se puede descargar desde http://mxhaard.free.fr/index.html.
Para su instalación seguimos los siguientes pasos:
1.- Descargar el binario empaquetado de gspca de
http://mxhaard.free.fr/download.html
2.- Debido a que dicho driver trabaja con módulos de Perl es necesario descargar la paquetería de Perl para la instalación del driver por lo que instalamos Perl, sus módulos y dependencias.
[root@host]# yum –y install perl*
3.- Descomprimir el archivo empaquetado del driver gspca para posteriormente instalar
[root@host]# tar –zxvf gspcav1-20071224.tar.gz
Antes de continuar con la instalación damos una revisada a la lista de Cámaras soportadas por el Driver GSPCA.
Lista de los dispositivos soportados por este driver:
Vendor ID Device ID Support Summary
--------- --------- ---------------
{USB_DEVICE(0x0733, 0x0430)}, /* Intel PC Camera Pro */
{USB_DEVICE(0x0733, 0x0401)}, /* Intel Create and Share */
{USB_DEVICE(0x99FA, 0x8988)}, /* Grandtec V.cap */
{USB_DEVICE(0x0733, 0x0402)}, /* ViewQuest M318B */
{USB_DEVICE(0x0733, 0x0110)}, /* ViewQuest VQ110 */
{USB_DEVICE(0x040A, 0x0002)}, /* Kodak DVC-325 */
{USB_DEVICE(0x055f, 0xc420)}, /* Mustek gSmart Mini 2 */
{USB_DEVICE(0x055f, 0xc520)}, /* Mustek gSmart Mini 3 */
{USB_DEVICE(0x041E, 0x400A)}, /* Creative PC-CAM 300 */
{USB_DEVICE(0x084D, 0x0003)}, /* D-Link DSC-350 */
{USB_DEVICE(0x041E, 0x400B)}, /* Creative PC-CAM 600 */
{USB_DEVICE(0x8086, 0x0630)}, /* Intel Pocket PC Camera */
{USB_DEVICE(0x8086, 0x0110)}, /* Intel Easy PC Camera */
{USB_DEVICE(0x0506, 0x00df)}, /* 3Com HomeConnect Lite */
{USB_DEVICE(0x040a, 0x0300)}, /* Kodak EZ200 */
{USB_DEVICE(0x04fc, 0x504b)}, /* Maxell MaxPocket LE 1.3 */
{USB_DEVICE(0x08ca, 0x2008)}, /* Aiptek Mini PenCam 2 M */
{USB_DEVICE(0x08ca, 0x0104)}, /* Aiptek PocketDVII 1.3 */
{USB_DEVICE(0x08ca, 0x2018)}, /* Aiptek Pencam SD 2M */
{USB_DEVICE(0x04fc, 0x504a)}, /* Aiptek Mini PenCam 1.3 */
{USB_DEVICE(0x055f, 0xc530)}, /* Mustek Gsmart LCD 3 */
{USB_DEVICE(0x055f, 0xc650)}, /* Mustek MDC5500Z */
{USB_DEVICE(0x052b, 0x1513)}, /* Megapix V4 */
{USB_DEVICE(0x08ca, 0x0103)}, /* Aiptek PocketDV */
{USB_DEVICE(0x0af9, 0x0010)}, /* Hama USB Sightcam 100 */
{USB_DEVICE(0x1776, 0x501c)}, /* Arowana 300K CMOS Camera */
{USB_DEVICE(0x08ca, 0x0106)}, /* Aiptek Pocket DV3100+ */
{USB_DEVICE(0x08ca, 0x2010)}, /* Aiptek PocketCam 3M */
{USB_DEVICE(0x0458, 0x7004)}, /* Genius VideoCAM Express V2 */
{USB_DEVICE(0x04fc, 0x0561)}, /* Flexcam 100 */
{USB_DEVICE(0x055f, 0xc430)}, /* Mustek Gsmart LCD 2 */
{USB_DEVICE(0x04fc, 0xffff)}, /* Pure DigitalDakota */
{USB_DEVICE(0xabcd, 0xcdee)}, /* Petcam */
{USB_DEVICE(0x04a5, 0x3008)}, /* Benq DC 1500 */
{USB_DEVICE(0x046d, 0x0960)}, /* Logitech Inc. ClickSmart 420 */
{USB_DEVICE(0x046d, 0x0901)}, /* Logitech Inc. ClickSmart 510 */
{USB_DEVICE(0x04a5, 0x3003)}, /* Benq DC 1300 */
{USB_DEVICE(0x0af9, 0x0011)}, /* Hama USB Sightcam 100 */
{USB_DEVICE(0x055f, 0xc440)}, /* Mustek DV 3000 */
{USB_DEVICE(0x041e, 0x4013)}, /* Creative Pccam750 */
{USB_DEVICE(0x060b, 0xa001)}, /* Maxell Compact Pc PM3 */
{USB_DEVICE(0x04a5, 0x300a)}, /* Benq DC3410 */
{USB_DEVICE(0x04a5, 0x300c)}, /* Benq DC1016 */
{USB_DEVICE(0x0461, 0x0815)}, /* Micro Innovation IC200 */
{USB_DEVICE(0x046d, 0x0890)}, /* Logitech QuickCam traveler */
{USB_DEVICE(0x10fd, 0x7e50)}, /* FlyCam Usb 100 */
{USB_DEVICE(0x06e1, 0xa190)}, /* ADS Instant VCD */
{USB_DEVICE(0x055f, 0xc220)}, /* Gsmart Mini */
{USB_DEVICE(0x0733, 0x2211)}, /* Jenoptik jdc 21 LCD */
{USB_DEVICE(0x046d, 0x0900)}, /* Logitech Inc. ClickSmart 310 */
{USB_DEVICE(0x055f, 0xc360)}, /* Mustek DV4000 Mpeg4 */
{USB_DEVICE(0x08ca, 0x2024)}, /* Aiptek DV3500 Mpeg4 */
{USB_DEVICE(0x046d, 0x0905)}, /* Logitech ClickSmart820 */
{USB_DEVICE(0x05da, 0x1018)}, /* Digital Dream Enigma 1.3 */
{USB_DEVICE(0x0c45, 0x6025)}, /* Xcam Shanga */
{USB_DEVICE(0x0733, 0x1311)}, /* Digital Dream Epsilon 1.3 */
{USB_DEVICE(0x041e, 0x401d)}, /* Creative Webcam NX ULTRA */
{USB_DEVICE(0x08ca, 0x2016)}, /* Aiptek PocketCam 2 Mega */
{USB_DEVICE(0x0734, 0x043b)}, /* 3DeMon USB Capture aka */
{USB_DEVICE(0x041E, 0x4018)}, /* Creative Webcam Vista (PD1100) */
{USB_DEVICE(0x0546, 0x3273)}, /* Polaroid PDC2030 */
{USB_DEVICE(0x041e, 0x401f)}, /* Creative Webcam Notebook PD1171 */
{USB_DEVICE(0x041e, 0x4017)}, /* Creative Webcam Mobile PD1090 */
{USB_DEVICE(0x046d, 0x08a2)}, /* Labtec Webcam Pro */
{USB_DEVICE(0x055f, 0xd003)}, /* Mustek WCam300A */
{USB_DEVICE(0x0458, 0x7007)}, /* Genius VideoCam V2 */
{USB_DEVICE(0x0458, 0x700c)}, /* Genius VideoCam V3 */
{USB_DEVICE(0x0458, 0x700f)}, /* Genius VideoCam Web V2 */
{USB_DEVICE(0x041e, 0x401e)}, /* Creative Nx Pro */
{USB_DEVICE(0x0c45, 0x6029)}, /* spcaCam@150 */
{USB_DEVICE(0x0c45, 0x6009)}, /* spcaCam@120 */
{USB_DEVICE(0x0c45, 0x600d)}, /* spcaCam@120 */
{USB_DEVICE(0x04fc, 0x5330)}, /* Digitrex 2110 */
{USB_DEVICE(0x055f, 0xc540)}, /* Gsmart D30 */
{USB_DEVICE(0x0ac8, 0x301b)}, /* Asam Vimicro */
{USB_DEVICE(0x041e, 0x403a)}, /* Creative Nx Pro 2 */
{USB_DEVICE(0x055f, 0xc211)}, /* Kowa Bs888e Microcamera */
{USB_DEVICE(0x0ac8, 0x0302)}, /* Z-star Vimicro zc0302 */
{USB_DEVICE(0x0572, 0x0041)}, /* Creative Notebook cx11646 */
{USB_DEVICE(0x08ca, 0x2022)}, /* Aiptek Slim 3200 */
{USB_DEVICE(0x046d, 0x0921)}, /* Labtec Webcam */
{USB_DEVICE(0x046d, 0x0920)}, /* QC Express */
{USB_DEVICE(0x0923, 0x010f)}, /* ICM532 cams */
{USB_DEVICE(0x055f, 0xc200)}, /* Mustek Gsmart 300 */
{USB_DEVICE(0x0733, 0x2221)}, /* Mercury Digital Pro 3.1p */
{USB_DEVICE(0x041e, 0x4036)}, /* Creative Live ! */
{USB_DEVICE(0x055f, 0xc005)}, /* Mustek Wcam300A */
{USB_DEVICE(0x041E, 0x403b)}, /* Creative Webcam Vista (VF0010) */
{USB_DEVICE(0x0545, 0x8333)}, /* Veo Stingray */
{USB_DEVICE(0x0545, 0x808b)}, /* Veo Stingray */
{USB_DEVICE(0x10fd, 0x8050)}, /* Typhoon Webshot II USB 300k */
{USB_DEVICE(0x0546, 0x3155)}, /* Polaroid PDC3070 */
{USB_DEVICE(0x046d, 0x0928)}, /* Logitech QC Express Etch2 */
4.- Habiendo analizado los dispositivos soportados, continuamos con la compilación del driver. Es necesario que se es trabajando con el kernel-source que anteriormente se descargo ya que si no se está trabajando con este kernel, la compilación del driver será imposible.
Nos dirigimos al directorio donde se descomprimo el driver y tecleamos
[root@host]# ./gspca_build
[root@host]# make
[root@host]# make install
[root@host]# make clean
5.- Despues de la compilacion del driver es necesario realizar un reinicio para que los cambios surtan efecto en el kernel
[root@host]# reboot
6.- Antes de comenzar a probar nuestro dispositivo de video es necesario conocer la ubicación física de la cámara por lo que tecleamos
[root@host]# lsusb Bus 001 Device 001: ID 0000:0000 Bus 001 Device 003: ID 04b3:3100 IBM Corp. NetVista Mouse Bus 003 Device 001: ID 0000:0000 Bus 003 Device 002: ID 046d:08d8 Logitech, Inc. Bus 002 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000
Dado el resultado podemos observar que nuestro kernel reconoció en que bus de usb esta conectada físicamente la cámara por lo que ahora haremos una prueba de que el driver esta en operación
[root@host]# dmesg
usb 3-2: configuration #1 chosen from 1 choice
/home/paqueteria/webcamdriver/gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
/home/paqueteria/webcamdriver/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEG
Obteniendo el resultado de dmesg podemos observar que Driver está trabajando con el dispositivo de captura de video. En las ultimas 2 líneas se puede observar el archivo del controlador trabajando
/home/paqueteria/webcamdriver/gspcav1-20071224/gspca_core.c: [spca5xx_probe:4275] Camera type JPEG
Por último se pueden realizar pruebas con diferentes herramientas para ver que efectivamente la cámara está trabajando. Para este ejercicio se realizaron pruebas y configuración de EKIGA para conocer la operación de la cámara, pero se pueden realizar pruebas con otros sistemas de captura como CAMORAMA o XAWTV. Se recomienda que a falta de funcionalidad de la cámara, se prueben drivers adicionales y se lea la documentación de la compatibilidad del tipo de cámara con la distribución que se esté utilizando.
Nota: Es necesario de que antes de pasar a la instalación de ZONEMINDER se tenga la certeza de que la cámara está trabajando correctamente, de lo contrario solo se tendrán pérdidas de tiempo valioso para la configuración del sistema.
Posteriormente a la instalación del dispositivo de captura de video, pasaremos a descargar paquetes adicionales para la operación de MYSQL y su configuración por lo que descargamos e instalamos lo siguiente.
[root@host]# yum –y install mysql-server mysql-client mysql-devel php-mysql php*
[root@host]# chkconfig mysqld on
[root@host]# service mysqld start
Al arrancar por primera vez MYSQL, este nunca tiene password para ingresar al manejador de la base de datos por lo que le asignaremos el password de Root a Mysql para incrementar los niveles de seguridad del servidor.
[root@host]# mysql Your MySQL connection id is 86 Server version: 5.0.45 Source distribution Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> use mysql; mysql> Update user set password=PASSWORD(‘passwordRoot’) where user=’root’; mysql> flush privileges; mysql> quit; [root@host]# service mysqld restart
Debido a que Zoneminder trabaja como monitor atreves de WEB es necesario configurar el arranque de Apache al inicio del sistema y que este se encuentre corriendo antes de la configuración de ZoneMinder.
[root@host]# chkconfig httpd on
[root@host]# service httpd start
1) Descargar la última versión disponible de ZoneMinder en el sitio Web oficial en:
Ennuestro caso se descargo el paquete de nombre ZoneMinder-1.22.2.
2) Ingresar al directorio donde se descargo y ejecutar el siguiente comando
[root@host]# tar –zxvf zoneminder-1.22.2.tar-gz
Este comando desempaquetará y creara un directorio con el nombre del paquete por lo que su contenido de configuración se encontrara en dicho directorio
3) Descargar la versión más reciente del paquete 'TermReadKey' desde el sitio oficial en: http://search.cpan.org/author/JSTOWE/TermReadKey-2.21/
En nuestro caso se descargo el paquete de nombre 'TermReadKey-2.21.tar.gz'.
Term Read Key es un modulo compilado sobre PERL dedicado a proporcionar un control simple sobre drivers de terminales. Dicho paquete es necesario para la gestión de Zoneminder por lo que descargamos, descomprimimos y compilamos.
[root@host]# tar –zxvf TermReadKey-2.30.01.tar.gz
[root@host]# perl -Mblib test.pl interactive
Este ultimo comando nos permitirá saber si está instalada toda la paquetería necesaria de Perl para que se pueda instalar TermReadKey. Si existe un error en esta parte, es necesario descargar toda la paquetería de PERL para poder instalarlo.
[root@host]# perl Makefile.pl [root@host]# make install [root@host]# make clean
4) Entrar al directorio SRC de Zoneminder-1.22.2 y editar el archivo “zm.h” y comentar la línea (utilizar // al comienzo de la línea) double round(double); esta linea es alrededor de la número 46 dentro del archivo
5) Entrar en el directorio de nombre 'zm-1.22.2' y ejecutar el siguiente comando:
./configure –with-mysql=/usr –with-webdir=/var/www/html/zm –with-cgidir=/var/www/cgi-bin'
Esta instrucción enviara algunos parámetros de ubicación de archivos al archivo de compilación de la aplicación. La ruta '/usr' corresponde al directorio raíz de archivos de sistema utilizables por usuarios, a esa ruta ZoneMinder le agrega la ruta 'lib/mysql' por lo cual el archivo 'libmysqlclient.a' debe encontrarse en la ruta completa '/usr/lib/mysql/'. De no ser así deberán modificarse los parámetros enviados o crear links simbólicos a la carpeta de origen.
Los otros dos parámetros le dicen la ubicación de instalación (preferiblemente dentro del directorio Web) y la ubicación de la carpeta de gráficos y binarios del servidor Web que en este caso es '/var/www/cgi-bin'.
Sintaxis
./configure.- Ejecución del Archivo Configure
-with-mysql=/usr.- Asignación de un usuario directamente a mysql, aquí podemos cambiar la dirección /usr por “root” o por algún otro usuario deseado. Dicho usuario deberá de estar dado de alta en la base de datos de ZM de lo contrario marcara un ACCESO DENEGADO AL SISTEMA
–with-webdir=/var/www/html/zm.- Directorio utilizado por APACHE. Especificamos que para la configuración de ZM en web deberá de encontrarse en la dirección mencionada. NOTA Esta dirección puede cambiar dependiendo de la distribución de Linux utilizada.
–with-cgidir=/var/www/cgi-bin. Directorio de ejecución de CGI. Este directorio tiene que tener derechos de escritura, lectura y ejecución para Apache debido a que cgi-bin controla la interconexión del hardware de captura de video y Apache.
6) Dentro del directorio 'zm-1.22.82' ejecutar el siguiente comando (como usuario root):
'#chmod +x zmconfig.pl'
Esto le dará permisos de ejecución al archivo.
7) Descargar la última versión disponible del applet para imágenes 'cambozola' desde:
http://www.charliemouse.com/code/cambozola/
En nuestro caso se descargo el paquete de nombre 'cambozola-latest.tar.gz'
8) Descomprimirlo tal como se ha realizado anteriormente con el comando 'tar -xvzf'.
9) Esto creara varios directorios y archivos, copiar el contenido del directorio 'dist' dentro de /var/WWW/html/zm'.
10) Crear una base de datos con el esquema 'zmschema.sql' que se encuentra dentro de la carpeta 'db' dentro del directorio 'zm-1.22.2', esto se realiza estando dentro del directorio 'db' y ejecutando el siguiente comando:
'#mysql < zm_create.sql -p'
11) Editar el archivo '/etc/php.ini' y verificar que la linea 49 este de la siguiente manera:
short_open_tag = On
13) Antes de probar por primera ves ZoneMinder debemos de editar el archivo /usr/local/etc/zm.conf y cambiar los parámetros de ZMUSER Y ZMPASSWORD.
# ZoneMinder database user
ZM_DB_USER=root
# ZoneMinder database password
ZM_DB_PASS=Passwordderoot
Nota. Es necesario que dicho usuario si este dado de alta en la table USERS de ZM de lo contrario Apache marcara un acceso denegado al momento de cargar el sistema.
14) Por ultimo solo será necesario reiniciar los demonios de Apache y MYSQL para que los cambios tengan efecto
[root@host]# service mysqld restart [root@host]# service httpd restart
Por último solo abra que abrir el navegador y teclear la dirección ip del servidor seguido de /zm para entrar directamente al sistema y configurarlo personalizada mente.
Última Edición: 04/08/2008, 12:45| Hits: 23,033