Garp Informatica: Comunicato Stampa
-
01 gen Garp Informatica21: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 = 167772160sudo 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-clientInstalliamo 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.debln -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.hO 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.debln -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.hOra 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.bashrcldconfig
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.gztar -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.52ldconfig
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 zmcd /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/zmEd 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/functionsprog=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 $RETVALPurtroppo 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
-