Novo método!
ATENÇÃO. ESSE POST ESTÁ SUPERADO. AGORA O ZONEMINDER PODE SER INSTALADO DE FORMA MUITO MAIS FÁCIL COM O REPOSITÓRIO PRÓPRIO PARA O CentOS. VEJA ESSE POST.
Sobre o ZoneMinder
Nesse post foi demonstrado como instalar o ZoneMinder no Ubuntu Server. Se quiser informações sobre a instalação das câmeras IP e sobre o que é o ZoneMinder, abra o link já referido.
Instalando no CentOS
Segue agora o passo a passo para instalar o poderoso sistema de vigilância no CentOS 6 (Versão 6.5, arquitetura x86_64).
OBS: Todos os comandos aqui descritos foram executados como root.
Baixe nesse link ou em outro link da lista pública de espelhos a versão mínima do CentOS 6.5 (arquivo CentOS-6.5-x86_64-minimal.iso ou o torrent equivalente).
Instale o CentOS.
Após o primeiro boot, habilite a interface de rede e defina o IP da máquina.
nano /etc/sysconfig/network-scripts/ifcfg-eth0Para IP dinâmico, simplesmente altere a opção ONBOOT conforme abaixo e reinicie o sistema:
ONBOOT="yes"Para IP estático, faça as alterações necessárias para ficar assim:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.0.100 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 DNS1=8.8.8.8 DNS2=208.67.222.222Para evitar lentidão ao conectar via ssh:
nano /etc/ssh/sshd_configE deixe as seguintes opções conforme abaixo:
UseDNS no GSSAPIAuthentication noReinicie os serviços de rede e do servidor ssh:
service network restart service sshd restartAtualize o sistema
yum update -yInstale o repositório RepoForge (antigo RPMForge):
yum install wget wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum install rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmInstale o repositório EPEL
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmVerifique se os repositórios foram corretamente instalados:
yum repolistInstale as dependências necessárias:
wget --output-document=perl-X10-0.03-1.noarch.rpm http://bauerhaus.dyndns.org/filebrowser/download/2500 wget --output-document=perl-Astro-SunTime-0.01-1.noarch.rpm http://bauerhaus.dyndns.org/filebrowser/download/2501 wget --output-document=perl-Sys-Mmap-0.14-2.el6.x86_64.rpm http://bauerhaus.dyndns.org/filebrowser/download/2750 yum install perl-Astro-SunTime-0.01-1.noarch.rpm perl-X10-0.03-1.noarch.rpm perl-Sys-Mmap-0.14-2.el6.x86_64.rpmDesabilite o SELINUX
setenforce 0 nano /etc/selinux/config SELINUX=disabledFaça o download do pacote zoneminder (essa versão já inclui bugfixes e as melhorias de performance conforme descritas aqui)
wget --output-document=zoneminder-1.26.5-1.el6.x86_64.rpm http://bauerhaus.dyndns.org/filebrowser/download/2745 yum install zoneminder-1.26.5-1.el6.x86_64.rpmProteja o servidor mysql definindo senha do usuário root e removendo tabelas de teste:
service mysqld start /usr/bin/mysql_secure_installation chkconfig mysqld onCrie o banco de dados do ZoneMinder (use o password de root definido no item anterior):
mysql -uroot -p mysql> create database zm; mysql> grant select,insert,update,delete,alter on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> exit; mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql mysqladmin -uroot -p reload(OBS: Se você escolheu outros usuário e senha para o bando de dados zm no item anterior, então edite o arquivo /etc/zm.conf e faça os ajustes em ZM_DB_USER e ZM_DB_PASS)
Ajuste o timezone da sua localidade nas configurações do php, exemplo:
nano /etc/php.ini date.timezone = America/Sao_PauloHabilite a interface web do ZoneMinder (ela vem desabilitada por padrão):
nano /etc/httpd/conf.d/zoneminder.confApague ou comente (com um #) a linha "Deny from all # DELETE THIS LINE".
Alguns ajustes para evitar mensagens de erro do apache (altere conforme suas configurações):
echo "ServerName localhost" > /etc/httpd/conf.d/fqdn.conf
Inicie o servidor web (apache) e configure-o para iniciar automaticamente a cada boot:
service httpd start chkconfig httpd onAbra as portas necessárias no firewall (iptables) do CentOS:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT /sbin/service iptables save iptables -L -vOu, se quiser fazer por interface gráfica:
yum install system-config-firewall system-config-firewall# Personalizar
# Marque as opções
WWW (HTTP)
WWW Seguro (HTTPS) (caso você queira habilitar acesso criptografado)
Fechar
Ok
Reinicie o sistema
rebootou
init 6No seu navegador, aponte para http://<ip da máquina>/zm
Se quiser habilitar SSL (navagação segura):
yum install mod_ssl opensslGere a nova chave (auto-assinada) e novo certificado:
openssl genrsa -out ca.key 1024 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 730 -in ca.csr -signkey ca.key -out ca.crtMova para os lugares corretos
mv -f ca.crt /etc/pki/tls/certs/localhost.crt mv -f ca.key /etc/pki/tls/private/localhost.keyReinicie o servidor apache (web)
service httpd restartNo seu navegador, aponte para https://<ip da máquina>/zm
ALGUMAS DICAS DE PERFORMANCE
O servidor ZoneMinder não pode ficar com um "load" muito alto. Se isso ocorrer, você terá instabilidade e perderá alguns "frames" de imagens.
A seguir algumas dicas para tentar melhorar a performance.
1. Para sistemas de arquivos Ext4, adicione as seguintes opções no /etc/fstab:
noatime,nodiratime,commit=120,data=writebackExemplo
UUID=ba4acd10-ae6d-465c-82fe-9752017480ee /var/lib/zoneminder ext4 defaults,noatime,nodiratime,commit=120,data=writeback 0 22. Habilite nas opções do ZoneMinder o CPU_EXTENSIONS, para obter vantagem das extensões SSE2/SSE3 do processador.
3. Habilite FAST_IMAGE_BLENDS. Esse tipo de blend é extremamente rápido e não envolve multiplicação ou divisão, o que pode impactar a performance.
4. Desabilite COLOUR_JPEG_FILES a não ser que realmente precise disso. Essa opção converte imagens em grayscale para cor antes de armazená-las como jpegs. Isso impacta a performance e usa mais espaço no seu disco, então o melhor é deixar desabilitado.
5. Desabilite CREATE_ANALYSIS_IMAGES se você usa motion detection com Blob, mas não precisa das imagens de análise.
6. Embora óbvio, tenha certeza que desabilitou EXTRA_DEBUG e RECORD_DIAG_IMAGES.
7. Para câmeras locais (não IP): Habilite ZM_V4L_MULTI_BUFFER se puder. Tente fazer correspondência entre a paleta de caputra (Capture Palette) e o colorspace alvo (Target Colorspace), para evitar a necessidade de conversão de formato.
8. Se estiver usando Motion Detection (Modect) para as câmeras, quanto menos zonas, mais rápido será o sistema. Antes de ficar criando zonas, pense se realmente você tem necessidade de mais de uma zona.
9. Experimente usar a opção 8 bit grayscale nas câmeras (Target Colorspace), em vez de cores 24 ou 32 bits. Além de as imagens ficarem menores, o processamento e análise delas será mais rápido. Você realmente precisa registrar imagens coloridas? Faça opção consciente.
10. Quantos quadros por segundo (frames per second - FPS) você realmente precisa nas câmeras? Pense nisso. Não há qualquer razão para caputar o vídeo a 20 fps se você não tem qualquer necessidade específica para isso. 5 fps são suficientes para a maioria dos casos e produz bons vídeos.
11. Use a libjpeg-turbo. A instalação pelo método descrito neste post se encarregará disso.
12. Ajuste as opções "Reference Image Blend %ge" e "Alarm Reference Image Blend %ge" de cada monitor apropriadamente. Quanto à primeira, use 6.25% para câmeras internas e 12.5% para externas. Quando à segunda, experimente deixar todas as câmeras em 6.25%. Trata-se de nova funcionalidade da versão do ZoneMinder 1.26.5. Antes de ajustar essa opção alguns eventos estavam ficando quase infinitos (disparava o alarme do modect e não parava mais de gravar).
ATENÇÃO
As opções Maximum FPS e Alarm Maximum FPS são apenas para câmeras analógicas. Não use essas opções para câmeras remotas IP, caso contrário você terá falhas na visualização "ao vivo" e durante as gravações dos eventos. A implementação para câmeras remotas ainda não foi realizada.
Nenhum comentário:
Postar um comentário