You are on page 1of 7

Documentao do ZoneMinder-1.2.22 Slackware-10.

2
1. Introduo O PoP-GO com a inteno de implementar uma soluo para monitoramento em tempo real de todas as suas dependncias, resolve implantar o software ZoneMinder. O ZoneMinder uma soluo Open Source Linux Video Camera Security, que est sob a licena GPL. O core do ZoneMinder a captao e anlise das imagens com uma gama de parmetros configurveis que permite assegurar a eliminao de falso-positivos, e de capturar tudo que seja necessrio. O ZoneMinder permite definir "zonas" para cada cmera, variando a sensibilidade e a funcionalidade nas anlises; permitindo a eliminao das regies que no sejam necessrias anlises minuciosas ou reas que sejam de suma importncia para o monitoramento. O software permite capturar, analisar, gravar e monitorar qualquer cmera conectada a uma mquina baseada em Linux ou cmeras IP. Alguns requisitos do ZoneMinder: PHP, Apache, MySQL, ffmpeg, libjpeg.a, libpcre.a, netpbm, cambozola java applet e alguns mdulos perl. O presente documento visa descrever (how-to) a instalao do ZoneMinder, abordando tambm a instalao dos requisitos. 2. Instalando o APACHE O source do Apache-1.3.37 pode ser baixado da seguinte URL (Apache-1.3.37). A compilao foi padro. Recomendo o uso do apache.Slackbuild para instalao.
# ./configure \ --with-layout=Slackware \ --enable-module=most \ --enable-shared=max \ --manualdir=/var/www/htdocs/manual \ # make -j3 # checkinstall

Fazer as seguintes alteraes no arquivo de configurao httpd.conf: Em DirectoryIndex colocar:


<IfModule mod_dir.c> DirectoryIndex index.html index.php </IfModule>

Retire o comentrio das linhas (final do arquivo):


Include /etc/apache/mod_php.conf Include /etc/apache/mod_ssl.conf

Outros parmetros de configurao no sero abordados neste documento, pois este tem a inteno de se voltar para operao do ZoneMinder.

3. Instalando o PHP com mdulo para suporte no Apache O source do PHP-4.4.4 pode ser baixado do seguinte link (PHP-4.4.4). A compilao foi padro. Recomendo o uso do php.Slackbuild. necessrio ter o mdulo com suporte ao Apache, jpeg e MySQL.
# ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-discard-path \ --with-config-file-path=/etc/apache \ --enable-safe-mode \ --with-openssl \ --with-mhash \ --enable-bcmath \ --with-bz2 \ --with-pic \ --enable-calendar \ --enable-ctype \ --with-gdbm \ --with-db3 \ --with-imap-ssl=$IMAPLIBDIR \ --with-imap=$IMAPLIBDIR \ --enable-ftp \ --with-iconv \ --with-dom \ --with-exif \ --enable-exif \ --with-gd \ --enable-gd-native-ttf \ --with-jpeg-dir=/usr \ --with-png \ --with-gmp \ --with-pcre-regex=/usr \ --with-mysql=shared,/usr \ --with-gettext=shared,/usr \ --with-expat-dir=/usr \ --with-xml \ --enable-wddx \ --with-mm=/usr \ --enable-trans-sid \ --enable-shmop \ --enable-sockets \ --with-regex=php \ --enable-yp \ --enable-memory-limit \ --with-tsrm-pthreads \ --enable-shared \ --disable-debug \ --enable-fastcgi \ --enable-force-cgi-redirect \ --disable-static \ --with-apxs=/usr/sbin/apxs \ --with-zlib=/usr # make j3 # checkinstall

Aps a compilao, cria uma pgina de teste para ver se est tudo OK. Crie um arquivo index.php, no seu DocumentRoot, com o seguinte contedo:
<? phpinfo(); ?>

Reinicie os servios e acesse no seu browser a URL, se estiver OK, vo aparecer s informaes do seu sistema:
http://localhost/

4. Configurando o MySQL-4.1.21 Baixe o arquivo pr-compilado do seguinte link (MySQL-4.1.21) e instale. Aps isso faa o login com o usurio mysql:
# su mysql $ mysql_install_db /*Instala a base de dados MySQL $ exit # mysqld_safe --user=mysql& /*Inicia o MySQL com usurio mysql # mysql_secure_installation /* Realiza os ajustes necessrios

Vo aparecer vrias perguntas, como setar a senha de root, opo para remover usurios annimos do banco dados e base de dados de teste. Neste ponto prefiro que deixe a base de teste, pois na hora da instalao do mdulo perl DBD::Mysql, ele far um teste de conexo nesta tabela. Aps isso a tabela e o usurio podero ser removidos. Caso seja removido agora no tem nenhum problema, basta se conectar como root na instalao do mdulo. O arquivo my.cnf que eu usei foi a seguinte:
[mysql.server] datadir=/var/lib/mysql socket=/var/run/mysql/mysql.sock [mysqladmin] socket=/var/run/mysql/mysql.sock [mysqld] datadir=/var/lib/mysql socket=/var/run/mysql/mysql.sock language=/usr/share/mysql/english/ log=/var/log/mysql/mysqld.log [mysql] socket=/var/run/mysql/mysql.sock

Crie o diretrio /var/log/mysql e d permisso para o usurio mysql. Reinicie o MySQL. 5. Compilando ffmpeg e netpbm FFmpeg uma soluo completa para gravar, converter e fazer stream de udio e vdeo. O source pode ser encontrado no seguinte link (ffmpeg-0.4.9-pre1).

Netpbm um kit de ferramentas para manipulao de imagens, incluindo a converso de imagens entre vrios outros formatos. O source pode ser encontrado no seguinte link (netpbm-10.26.31). Compilando o ffmpeg:
# ./configure enable-shared enable-mp3lame # make # checkinstall

Compilando o netpbm:
# # # # ./configure make make package installnetpbm

Copie o diretrio netpbm para onde achar melhor (/usr/local). 6. Instalando JAVA J2SDK, apache-ant e cambozola

Baixe o j2sdk1.4.2_12 no site http://java.sun.com/j2se/1.4.2/download.html e instale. Crie um arquivo j2sdk.sh no diretrio /etc/profile.d:
#!/bin/sh export JAVA_HOME=/usr/lib/j2sdk /* Diretrio de instalao export MANPATH="$MANPATH:/usr/lib/j2sdk/man" export PATH="$PATH:/usr/lib/j2sdk/bin:/usr/lib/j2sdk/jre/bin"

Baixe o apache-ant. Descompacte-o e crie um arquivo ant.sh no diretrio /etc/profile.d:


#!/bin/sh ANT_HOME=/usr/local/ant /* Diretrio de Instalao PATH=$PATH:$ANT_HOME/bin export ANT_HOME PATH

Baixe o cambozola no link (cambozola-0.68). Descompacte-o e instale:


# ant

Esse comando vai criar dois arquivos no diretrio dist/: cambozola-server.jar Servidor de teste que mostra repetidamente algumas imagens cambozola.jar O cliente que dever ser usado no diretrio do Apache. 7. Instalando os mdulos PERL Recomendo utilizar o shell CPAN para instalao dos mdulos necessrios. Na linha de comando digite: # perl -MCPAN -e shell

Ir aparecer uma tela para que se configure o CPAN, na maioria das vezes o automatic resolve. Terminado o procedimento de configurao, basta digitar 'install nome_do_modulo', ele j checa as dependncias de cada mdulo. Os mdulos necessrios para o ZoneMinder podem ser verificados na execuo do ./configure do ZoneMinder. Os mdulos so: Bundle::CPAN, Bundle::LWP, DBI, DBD::Mysql, Archive::Zip, Mail::Mailer, Date::Manip, MIME::Entity, MIME::Lite, Device::SerialPort e X10::ActiveHome. Na instalao do mdulo DBD::Mysql poder aparecer uns erros de conexo com o MySQL. Isso acontece porque o usurio, senha e a tabela podem ser diferentes do banco de dados MySQL ou se voc excluiu a tabela test na instalao. Caso d erro na instalao pelo CPAN, proceda com a instalao manualmente. Baixe o arquivo DBDmysql-3.0007.tar.gz, descompacte-o e instale.
# perl Makefile.PL --testdb=<db> --testuser=<user> -testpassword=<pwd> # make # make test # make install

8. Instalando o ZoneMinder Primeiro vamos criar as tabelas no MySQL. Para isto vamos realizar os seguintes procedimentos no diretrio do ZoneMinder:
$ ./configure --with-mysql=/usr/bin \ --with-webdir=/var/www/htdocs/zm \ --with-cgidir=/var/www/cgi-bin \ --with-webuser=nobody \ --with-webgroup=nobody \ --with-ffmpeg=/usr/lib \ --with-libarch=lib \ --enable-debug=yes \ --enable-crashtrace=yes \ CFLAGS=-g -O3 -march=pentium4 CXXFLAGS=-g ZM_DB_PASS=zmuser \ ZM_PATH_CONF=/etc

-O3

-march=pentium4

Acesse o diretrio db/ no diretrio do ZoneMinder e verifique se os arquivos *.sql foram criados. Configurando as tabelas e setando as permisses.
# mysql u root p mysql> source //db/zm_create.sql; mysql> grant select, insert, update, delete on zm.* to zmadmin identified by zmadmin; mysql> grant select on zm.* to zmuser; mysql> update user set host = localhost where user like zm%; mysql> flush privileges; mysql> quit;

Algumas alteraes precisam ser feitas nos arquivos fontes do ZoneMinder para funcionar no Slackware. Faa as seguintes alteraes: Arquivo /opt/Zoneminder-1.2.22/scripts/zmpkg.pl

Linha 265:
$prefix = "su ".ZM_WEB_USER." --shell=/bin/sh --command='";i

Para
$prefix = "su ".ZM_WEB_USER." -c '$command'";i

Execute o ./configure novamente com as opes acima.


# make # checkinstall

Outras alteraes precisam ser realizadas. O ZoneMinder aloca memria virtual para funcionamento dos monitors. O clculo de memria virtual alocada se d seguinte maneira: ring buffer size x image width x image height x 3 (for 24 bits images) + a bit of overhead. Para no ocorrer erros na alocao da memria virtual necessrio alterar alguns parmetros do sistema. Para ver as configuraes atuais:
# sysctl a

Verifique os valores do kernel.shmmax, kernel.shmall. Este valor no suficiente para a alocao. Coloque no seu rc.local as seguintes alteraes:
#Seta alguns /sbin/sysctl /sbin/sysctl /sbin/sysctl /sbin/sysctl parmetros do sistema -w kernel.shmmax="0x3000000" -w kernel.shmall="0x3000000" -w fs.file-max=65536 -w kernel.panic=10

Copie o cambozola.jar para o diretrio web do ZoneMinder. Pronto. Acesse pelo seu browser o front-end do ZoneMinder.
http://localhost/zm/

9. Configurao cmera TRENDnet TV-IP300

Algumas alteraes so necessrias para o funcionamento desta cmera IP. So elas: Na configurao de um novo monitor, colocar em Remote Host Path: /cgibin/vdeo.jpg, Capture Width (pixels): 352 e Capture Height (pixels): 240. Em ADMIN: No guia PATHS: ZM_PATH_ZMS: /cgi-bin/zms ZM_PATH_LOGS: /var/log/zm (crie e d as permisses necessrias) No guia IMAGES: ZM_CAN_STREAM: auto

ZM_STREAM_METHOD: jpeg ZM_OPT_CAMBOZOLA: yes ZM_PATH_CAMBOZOLA: cambozola.jar ZM_PATH_FFMPEG: /usr/bin/ffmpeg

No guia NETWORK: ZM_OPT_REMOTE_CAMERAS: yes ZM_NETCAM_REGEXPS: yes ZM_HTTP_VERSION: 1.0

Maiores informaes acesse o manual do ZoneMinder (http://www.zoneminder.com/fileadmin/downloads/README.html) e o frum de discusso (http://www.zoneminder.com/forums/). Equipe POP-GO

You might also like