Debian 6 Squeeze 64-bit with ZoneMinder 1.25.0 Preview, FFmpeg, libjpeg-turbo, Webmin, Cambozola(Spanish Diciembre 2011)
From ZoneMinder Wiki
Jump to navigationJump to search
Basado en la guia para Ubuntu 11.04 con Zoneminder 1.25.0 ACTUALIZADO: 6 de Diciembre 2011
#Descargar e instalar Debian Squeeze (estable) NetInstall 64-bits (http://www.debian.org/CD/netinst/) No es necesario descargar la imagen de CD completa. Netinst pesa un poco mas de 100 MB #En la seleccion de software, solo instalar OpenSSH, y el Servidor de Correo (Postfix). #Para el servidor de correo, puedes usar "Internet Site". #Despues de instalar, iniciar sesión y establecer IP estatica. La IP es de acuerdo a tu red ############### #Volverse root# ############### su #Coloca la contraseña ingresada durante la instalación. ############################ #Establecer la IP estatica# ############################ nano /etc/network/interfaces #################################### #################################### # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 #################################### #################################### #Presionar Ctrl + O para guardar y Ctrl + X para salir de nano. #Reiniciar la red /etc/init.d/networking restart #Con IP estatica y conexión a Internet ya se puede usar SSH desde otra computadora Linux de la red y conectarte a tu nuevo sistema Debian. #Se puede Copiar/Pegar los siguientes comandos en la consola o si se prefiere escribirlos. Los comandos multiples sin lineas vacias en medio se pueden copiar y pegar juntas. No pegar lineas que inician con # #################################### #Guardar logs del arranque Debian# #################################### #Es util si por alguna razon Zoneminder no se inicia bien. nano /etc/default/bootlogd #Cambiamos el valor del archivo a Yes quedando asi: BOOTLOGD_ENABLE=Yes # Presionar Ctrl + O para guardar y Ctrl + X para salir de nano # La proxima vez que se reinicie el sistema podemos buscar en /var/log/boot para conocer los detalles del arranque de Debian. ######################### #Agregar un repositorio# ######################### #Util para no tener errores en futuras compilaciones necesarias. #El paquete debian-multimedia-keyring maneja llaves del repositorio apt-get install debian-multimedia-keyring #Se edita el archivo sources.list para agregar el repositorio nano /etc/apt/sources.list #Se agrega el repositorio en la ultima linea del archivo sources.list deb http://www.debian-multimedia.org squeeze main #Presionar Ctrl + O para guardar y Ctrl + X para salir de nano ######################## #Actualizar el sistema# ######################## apt-get update apt-get upgrade ############################## #Instalar paquetes Multimedia# ############################## #El paquete obligatorio es libfaac-dev pero se pueden instalar los otros para asegurar el funcionamiento. #Se indica SI al instalador con una S apt-get install libfaac-dev apt-get install libmp3lame-dev apt-get install libogg-dev apt-get install libtheora-dev apt-get install libvorbis-dev apt-get install libx264-dev apt-get install libxvidcore4-dev ############################## #Minimo/Maximo Memoria Kernel# ############################## #Se edita el archivo sysctl.conf nano /etc/sysctl.conf #Se agrega al final del archivo lo siguiente dejando una linea en blanco de ultimo kernel.shmall = 167772160 kernel.shmmax = 167772160 #Se reinicia el sistema reboot ############################## #Instalar paquetes necesarios# ############################## #No olvidar volverse root nuevamente con: su aptitude install acpid build-essential linux-headers-`uname -r` automake perl libauthen-pam-perl \ apache2 libpam-runtime libio-pty-perl libmysqlclient-dev php5 php5-cli libapache2-mod-php5 php5-mysql \ libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libjpeg62 libmime-perl libstdc++6 libwww-perl \ zlib1g zip unzip patch ntp openssl libpcre3-dev libssl-dev libjpeg-progs libcurl4-gnutls-dev munin munin-node libmime-lite-perl \ netpbm libbz2-dev subversion yasm libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions git-core mysql-server mysql-client ############################# #Descargar e Instalar Webmin# ############################# wget http://downloads.sourceforge.net/project/webadmin/webmin/1.570/webmin_1.570_all.deb?use_mirror=voxel mv webmin_1.570_all.deb\?use_mirror=voxel webmin_1.570_all.deb && \ dpkg -i webmin_1.570_all.deb ############################################ #Descargar e instalar libjpeg-turbo# (AMD64) ############################################ wget http://downloads.sourceforge.net/project/libjpeg-turbo/1.1.1/libjpeg-turbo_1.1.1_amd64.deb?use_mirror=voxel mv libjpeg-turbo_1.1.1_amd64.deb?use_mirror=voxel libjpeg-turbo_1.1.1_amd64.deb && \ dpkg -i libjpeg-turbo_1.1.1_amd64.deb #Se crean enlaces ln -s /opt/libjpeg-turbo/lib/libjpeg.a /usr/lib/libjpeg.a && \ ln -s /opt/libjpeg-turbo/include/jconfig.h /usr/include/jconfig.h && \ ln -s /opt/libjpeg-turbo/include/jerror.h /usr/include/jerror.h && \ ln -s /opt/libjpeg-turbo/include/jmorecfg.h /usr/include/jmorecfg.h && \ ln -s /opt/libjpeg-turbo/include/jpeglib.h /usr/include/jpeglib.h ########################### #Configurar rutas para Lib# ########################## echo "/opt/libjpeg-turbo/lib" > /etc/ld.so.conf.d/libjpeg-turbo.conf && \ echo "/usr/local/lib" > /etc/ld.so.conf.d/ffmpeg.conf && \ echo "LD_LIBRARY_PATH=/usr/local/lib:/opt/libjpeg-turbo/lib:$LD_LIBRARY_PATH" >> /etc/bash.bashrc && \ echo "export LD_LIBRARY_PATH" >> /etc/bash.bashrc ldconfig ########################## #Instalar modulos de Perl# ########################## #Ejecutar linea por linea y esperar a que descargue los modulos de Perl perl -MCPAN -e shell install CPAN exit perl -MCPAN -e shell install YAML PHP::Serialization Module::Load X10::ActiveHome exit LC_ALL=C perl -MCPAN -e shell install Sys::Mmap install DBI install DBD::mysql exit ################# #Instalar FFmpeg# ################# #Version de FFMPEG 0.10 cd /usr/src && wget http://ffmpeg.org/releases/ffmpeg-0.10.tar.gz tar -xzvf ffmpeg-0.10.tar.gz mv ffmpeg-0.10 ffmpeg #Preparar y compilar FFmpeg cd /usr/src/ffmpeg/ && ./configure --enable-gpl --enable-shared --enable-pthreads --enable-libx264 --enable-libfaac --enable-nonfree --enable-x11grab --enable-version3 make make install make install-libs cd /lib && ln -s /usr/local/lib/libswscale.so.0 && \ ln -s /usr/local/lib/libavformat.so.52 && \ ln -s /usr/local/lib/libavcodec.so.52 && \ ln -s /usr/local/lib/libavutil.so.50 && \ ln -s /usr/local/lib/libavdevice.so.52 ldconfig ##################### ##Instalar Zoneminder# ##################### cd /usr/src wget http://www.zoneminder.com/downloads/ZoneMinder-1.25.0.tar.gz tar -xzvf ZoneMinder-1.25.0.tar.gz mv ZoneMinder-1.25.0 zm #Con las siguientes lineas se dan los parametros para el archivo de configuracion de Zoneminder #Cuidado con los datos en: ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass #Esos datos son necesarios para la comunicacion de ZM con Mysql cd /usr/src/zm && \ ./configure --with-webdir=/var/www/zm --with-cgidir=/usr/lib/cgi-bin \ ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser \ ZM_DB_PASS=zmpass ZM_SSL_LIB=openssl --enable-debug=no \ --with-webgroup=www-data --with-webuser=www-data --enable-mmap=yes CPPFLAGS="-D__STDC_CONSTANT_MACROS ${CPPFLAGS}" autoconf aclocal automake make #Se conecta a Mysql para crear la BD necesaria para Zoneminder. mysql -u root -p < db/zm_create.sql #La contraseña solicitada es la que se ingreso para root de Mysql durante la instalación de paquetes. No es contraseña del sistema. mysql -u root -p #A continuacion usar los datos ingresados arriba para el archivo de configuracion de Zoneminder. grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass'; quit mysqladmin -p reload #Se termina de compilar y se instala ZM make install #################### #Instalar Cambozola# #################### cd /usr/src && wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz tar -xzvf cambozola-latest.tar.gz #Cambiar las xx con el numero de version descargada de cambozola cp cambozola-0.xx/dist/cambozola.jar /var/www/zm ########################################## ##Crear el script que iniciará ZoneMinder# ########################################## nano -w /etc/init.d/zm #Copiar todo lo que se encuentra entre las lineas de abajo y pegarlo en el archivo zm ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #!/bin/sh ### BEGIN INIT INFO # Provides: ZM # Required-Start: $network mysql $local_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: <Enter a short description of the sortware> # Description: <Enter a long description of the software> # <...> # <...> ### END INIT INFO prog=ZoneMinder ZM_PATH_BIN="/usr/local/bin" command="$ZM_PATH_BIN/zmpkg.pl" start() { echo -n "Starting $prog: " $command start RETVAL=$? [ $RETVAL = 0 ] && echo success [ $RETVAL != 0 ] && echo failure return $RETVAL } stop() { echo -n "Stopping $prog: " $command stop RETVAL=$? [ $RETVAL = 0 ] && echo success [ $RETVAL != 0 ] && echo failure } status() { result=`$command status` if [ "$result" = "running" ]; then echo "ZoneMinder is running" RETVAL=0 else echo "ZoneMinder is stopped" RETVAL=1 fi } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') stop start ;; 'status') status ;; *) echo "Usage: $0 { start | stop | restart | status }" RETVAL=1 ;; esac exit $RETVAL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #Presionar Ctrl + O para guardar y Ctrl + X para salir de nano #Se dan permisos de ejecución al archivo chmod 755 /etc/init.d/zm #Se asigna un usuario especifico al directorio /tmp/zm chown www-data:www-data -R /tmp/zm ########################### #Inicio de Zoneminder# ########################### #Si no existieron errores en la compilacion se puede iniciar ZM para ver si todo funciona correctamente /etc/init.d/zm start #En Firefox, ir a http://Tu_IP_Zoneminder/zm y aparecerá la interfaz de ZM ########################### #Auto-Inicio de Zoneminder# ########################### #En Firefox, ir a https://Tu_IP_ZoneMinder:10000 para ver la interfaz de Webmin. (Usar el usuario root y contraseña de Debian) #En el menu de la izquierda, ir a "System" > "Bootup and Shutdown". Buscar y seleccionar zm y hacer click en "StartNow and On Boot" ################################# #Extras (No necesarios para ZM )# ################################# #Si se desea ingresar directamente a ZM con solo poner IP o dominio hacer lo siguiente en Webmin. #En el menu de la izquierda, ir a "Servers" > "Apache Webserver" Hacer click en "Virtual Server". En "Document Root" se debe cambiar de /var/www a /var/www/zm y luego click en Save. #Por ultimo, en la parte superior derecha hacer click en "Apply changes" #En el mismo menu de Webmin es posible cambiar el puerto predeterminado (80). Al cambiarlo tambien se debe editar el archivo /etc/apache2/ports.conf y colocar el nuevo puerto. ###################### # Pequeños Problemas # ###################### #Si se agrega un nuevo monitor o se modifica un existente y se quiere usar la funcion Probe muestra un error: Unable to probe network cameras, status is '127' #Para solucionar el error editamos como root el archivo /skins/classic/views/monitorprobe.php y buscamos la linea $command = "arp -a"; #Esa linea se sustituye con: $command = "/usr/sbin/arp -a"; #Ya debe funcionar Probe.