Garp Informatica: Comunicato Stampa
  • 01 gen Garp Informatica
    21:01 - 01 gen 2012 Emilia-Romagna http://www.garp.it/2012/zoneminder-ubuntu-11-10/

    Zoneminder 1.25 + FFmpeg + Cambozola + libjpeg-turbo su Ubunutu 11.10

    BUON ANNO!!!

    Vogliamo iniziare questo 2012 con una piccola guida su come installare un sistema di videosorveglianza.

    Abbiamo recentemente instalato un sistema di Videosorveglianza nel nostro nuovo ufficio, vista questa nuova possibilità abbiamo voluto installare le ultime versioni di tutti i software necessari, ovviamente partendo dai sorgenti.

    Ecco la procedura per installare correttamente il sofware:

    Partiamo con l’installazione di Ubuntu (che non spiegheremo passo per passo), selezionare durante la scelta dei pacchetti da installare: OpenSSH Server, LAMP e Mail Server (Postfix).
    Per l’installazione del server di posta potete tranquillamente selezionare “Internet Site” e lasciare tutte le impostazioni cosi come sono cliccando su “continua” fino al terminde dell’installazione.

    Aggiorniamo il sistema

    sudo apt-get update

    sudo apt-get upgrade

    sudo nano /etc/sysctl.conf

    Aggiungete queste due linee alla fine del file:

    kernel.shmall = 167772160
    kernel.shmmax = 167772160

    sudo reboot

    Riavviato il sistema diventiamo root ed ottimizziamo il compilatore GCC:

    sudo su

    export CFLAGS=”-march=native -O2 -pipe” && \
    export CXXFLAGS=”${CFLAGS}” && \
    export CPPFLAGS=”${CFLAGS}”

    Installiamo ora i software necessari dai repositories:

    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

    Installiamo ora libjpeg-turbo (64 Bit):

    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

    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

    O per chi ha la versione a 32bit:

    wget http://downloads.sourceforge.net/project/libjpeg-turbo/1.1.1/libjpeg-turbo_1.1.1_i386.deb?use_mirror=voxel

    mv libjpeg-turbo_1.1.1_i386.deb?use_mirror=voxel libjpeg-turbo_1.1.1_i386.deb && \
    dpkg -i libjpeg-turbo_1.1.1_i386.deb

    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

    Ora configuriamo i percorsi delle librerie:

    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

    Installiamo i moduli 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
    Installiamo FFmpeg:
    cd /usr/src && wget http://ffmpeg.org/releases/ffmpeg-0.8.5.tar.gz

    tar -xzvf ffmpeg-0.8.5.tar.gz

    mv ffmpeg-0.8.5 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

    Installiamo Zoneminder dai sorgenti:

    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

    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

    mysql -u root -p < db/zm_create.sql

    mysql -u root -p

    grant select,insert,update,delete on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;

    quit

    mysqladmin -p reload

    make install

    Installiamo Cambozola:

    cd /usr/src && wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz

    tar -xzvf cambozola-latest.tar.gz

    #sostituisci xx con la versione scaricata
    cp cambozola-0.xx/dist/cambozola.jar /var/www/zm

    Ed infine creiamo lo script per l’avvio ed il controllo di Zoneminder:

    nano -w /etc/init.d/zm

    Incolla le seguenti righe nel file appena creato:

    #!/bin/sh
    # description: Control ZoneMinder as a Service
    # chkconfig: 2345 99 99

    # Source function library.
    #. /etc/rc.d/init.d/functions

    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

    Purtroppo Ubuntu svuota la cartella /tmp all’avvio e conseguentemente cancella anche la cartella /tmp/zm.
    Per ovviare a questo problema modifichiamo questo file come segue:

    nano /usr/local/bin/zmdc.pl

    Aggiungi le linee precedute dal simbolo + (ovviamente senza scriverlo all’interno del file) nella esatta posizione in cui si trovaono ora, abbiamo inserito alcune righe prima e dopo per aiutarti.

    foreach my $arg ( @ARGV )
    }
    }

    +# Crea la cartella se non esiset
    +mkdir(ZM_PATH_SOCKS);
    +

    socket( CLIENT, PF_UNIX, SOCK_STREAM, 0 ) or Fatal( “Can’t open socket: $!” );

    my $saddr = sockaddr_un( SOCK_FILE );

    Diamo i diritti corretti alla cartella

    chown www-data:www-data -R /tmp/zm

    Abbiamo terminato l’installazione, riavviate il sistema e potrete accedere all’interfaccia di Zoneminder attraverso questo URL: http://IP_DEL_TUO_ZONEMINDER/zm

    Altre informazioni:

    Legge sulla privacy in merito alla video sorveglianza

    Cartello “Area Videosorvegliata” in formato JPG

     

     

     

     

Coobiz.it - 2024
Social Network | Trova aziende