1. Introdução
Bom diaTendo um NAS domĂ©stico executando o Debian 8 (eu costumava usar o Ubuntu Server 12.04 e 14.04), surgiu a idĂ©ia de atribuir, entre outras coisas, o papel de um servidor de vigilância. O Zoneminder foi selecionado como a parte do servidor . O algoritmo de vigilância por vĂdeo deve ser o seguinte: a gravação 24 horas por dia nĂŁo Ă© necessária, mas, se necessário, Ă© necessária a capacidade de ativar a gravação na ocorrĂŞncia de um evento - acionando um movimento, seguido pelo envio de uma notificação por e-mail com capturas de tela do evento. Isso Ă© necessário para garantir o controle do apartamento quando alguĂ©m está ausente. Bem, Ă© claro, vocĂŞ precisa da capacidade de se conectar remotamente e verificar se está tudo em ordem.No site do desenvolvedor, encontrei as mais detalhadasUm wiki especificamente para instalação no Debian 8 de 64 bits. Consequentemente, seguirei as instruções de instalação, explicando alguns pontos com meus comentários.Instale o Zoneminder
Portanto, temos um servidor com o Debian 8 de 64 bits instalado na configuração mĂnima (usei o netinstall). Primeiro vocĂŞ precisa editar o sources.list, adicionando backports a Jessie:sudo nano /etc/apt/sources.list
No final do arquivo, adicione:deb http://http.debian.net/debian jessie-backports main
Ou remova o comentário desta linha, se ela já estiver lá, ou seja, exclua # no inĂcio da linha. Atualizando o Ăndice do pacote:sudo apt-get update
Agora tudo está pronto para instalar o Zoneminder, o que faremos:sudo apt-get install zoneminder
Durante a instalação, Apache, MySQL, PHP também serão instalados automaticamente.Após a conclusão da instalação, crie o banco de dados MySQL:sudo mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
No processo de criação do banco de dados, você será solicitado a selecionar a senha root. Em seguida, execute os seguintes comandos sequencialmente (via sudo), digitando a senha no caso de uma solicitação:mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
mysqladmin -uroot -p reload
chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
Ative a execução automática do Zoneminder:systemctl enable zoneminder.service
Nós adicionamos o usuário www-data ao grupo sudo, isto é necessário para acessar as câmeras locais:adduser www-data sudo
Inicie o Zoneminder:systemctl start zoneminder.service
Verifique se o Zoneminder está em execução:systemctl status zoneminder.service
Se tudo estiver em ordem, a saĂda do comando deve ser algo como isto:â—Ź zoneminder.service - ZoneMinder CCTV recording and surveillance system
Loaded: loaded (/lib/systemd/system/zoneminder.service; enabled)
Active: active (running) since 2016-07-10 18:48:30 IRKT; 5h 31min ago
Process: 6413 ExecStop=/usr/bin/zmpkg.pl stop (code=exited, status=0/SUCCESS)
Process: 6455 ExecStart=/usr/bin/zmpkg.pl start (code=exited, status=0/SUCCESS)
Main PID: 6474 (zmdc.pl)
CGroup: /system.slice/zoneminder.service
├─6474 /usr/bin/perl -wT /usr/bin/zmdc.pl startup
├─6507 /usr/bin/perl -wT /usr/bin/zmfilter.pl
├─6514 /usr/bin/perl -wT /usr/bin/zmaudit.pl -c
└─6521 /usr/bin/perl -wT /usr/bin/zmwatch.pl
Configure o Apache:a2enmod cgi
a2enmod rewrite
a2enconf zoneminder
Adicione seu fuso horário no PHP:sudo nano /etc/php5/apache2/php.ini
Estamos procurando a seção [Data] e alterando date.timezone para a desejada:[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Irkutsk
Salvar - Ctrl + O, sair - Ctrl + X.Reinicie o Apache:service apache2 restart
Para poder controlar o Zoneminder através do Internet Explorer, você precisa instalar o Cambozola:cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz
replace 936 with cambozola version downloaded
cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder
Isso completa a instalação do Zoneminder. Agora você precisa configurar o transporte de email para que o Zoneminder possa notificá-lo sobre eventos por email.Configurando o Transporte de Correio
Para enviar notificações, o Zoneminder pode usar ssmtp e instalá-lo:sudo apt-get update
sudo apt-get install ssmtp
Instale mailutils ao mesmo tempo se este pacote ainda nĂŁo estiver instalado:sudo apt-get install mailutils
Agora defina as configurações de email em nome de quais notificações serão enviadas. Suponha que a caixa de correio esteja localizada em gmail.com. Abra ssmtp.conf:sudo nano /etc/ssmtp/ssmtp.conf
e leve para este formulário, indicando, consequentemente, seus dados:root=mymail@gmail.com
mailhub=smtp.gmail.com:587
hostname=localhost
RewriteDomain=gmail.com
UseSTARTTLS=YES
UseTLS=YES
AuthUser=mymail@gmail.com
AuthPass=myverystrongpassword
Revaliases corretas:sudo nano /etc/ssmtp/revaliases
nós trazemos para este formulário:root:pp@gmail.com:smtp.gmail.com:587
www-data:pp@gmail.com:smtp.gmail.com:587
E verificamos a exatidão das configurações enviando uma carta de teste:echo "Hello, World" | mail -s "My email check" mne@napochtu.ru
Se o teste for bem-sucedido, continue com a prĂłxima etapa - instalando o MIME :: Lite e Net :: SMTP. Verifique se estes componentes estĂŁo instalados:perl -MMIME::Lite -e "print \"Module installed.\\n\";"
perl -MNet::SMTP -e "print \"Module installed.\\n\";"
Instale entrando no shell perl:sudo perl -MCPAN -e shell
install MIME::Lite
install Net::SMTP
Agora precisamos fazer algumas mudanças muito importantes, sem as quais o transporte de correio do Zoneminder não funcionará. Observe que essas alterações só devem ser feitas se a versão do Zoneminder instalado for 1.29 ou inferior. A partir da versão 1.30, essas ações não são necessárias.Abra o arquivo zmfilter.pl no editor:sudo nano /usr/bin/zmfilter.pl
Indo para a linha 1179, vemos o seguinte:
MIME::Lite->send( "smtp", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
$mail->send();
Comente as linhasMIME::Lite->send( "sendmail", $Config{ZM_EMAIL_HOST}, Timeout=>60 );
e$mail->send();
e adicione uma linha abaixo deles$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Como resultado, a partir da linha 1179 (no meu caso, mas nĂŁo exatamente esse nĂşmero de linha), o cĂłdigo deve ficar assim:
$mail->send('sendmail','/usr/sbin/ssmtp',$Config{ZM_EMAIL_ADDRESS});
Salve, saia. Isso completa o trabalho com o terminal.Interface da Web do Zoneminder
O gerenciamento está disponĂvel em ip.adress.servera / zm , go. A primeira coisa a fazer Ă© ir para Opções -> Usuários e definir a senha do administrador:
Em seguida, vá para Opções -> Sistema e marque a caixa OPT_USE_AUTH:
Se isso não for feito, o Zoneminder permite acessar a interface da Web ou conectar-se via um aplicativo cliente sem solicitar um login / senha, o que, é claro, não é seguro. É estranho que essa marca de seleção tão necessária não esteja marcada por padrão.Agora configure o envio de email. Vá para Optons -> Email e configure por analogia:
No campo EMAIL_BODY, vocĂŞ pode configurar o formato das notificações conforme necessário. Por exemplo, se vocĂŞ adicionar% EI1% ao campo, a primeira captura de tela a partir do momento em que o sensor de movimento for acionado será anexada Ă mensagem. Uma lista completa de opções para notificações está disponĂvel aqui .Adicionando câmeras
O Zoneminder pode funcionar com câmeras USB e IP. No momento, minhas câmeras ainda estĂŁo a caminho; portanto, como uma versĂŁo temporária da câmera para teste de ajuste, uso meu antigo smartphone Alcatel Pop C2 Android, que possui o aplicativo IP Webcam instalado , que transforma o smartphone em uma câmera IP Wi-Fi. Depois de instalar e executar o aplicativo (primeiro recomendo definir a resolução do fluxo de vĂdeo nas configurações do aplicativo, defino 800x480), a tela do smartphone mostra o IP e a porta atravĂ©s da qual vocĂŞ pode acessar a interface da Web e ver o que Ă© interessante aqui:
Em geral, existem muitas configurações, mas estamos interessados ​​no endereço ao qual o fluxo de vĂdeo Ă© fornecido. E vemos que há informações para configurar o Zoneminder, o que Ă© uma boa notĂcia. Ou seja, o caminho do host remoto Ă© especificado, o caminho que precisará ser inserido nas configurações do Zoneminder - apĂłs a câmera IP que vocĂŞ precisa adicionar / vĂdeo:
Volte à interface da web do Zoneminder para adicionar a câmera, selecione Adicionar novo monitor:
no campo Nome, escreva o nome desejado, Origem tipo -> Remoto:
Na guia Origem, preencha os campos: Nome do Host Remoto -> IP do smartphone, Porta do Host Remoto -> porta na qual a Webcam IP está sendo executada, Caminho do Host Remoto -> o caminho que vimos nas configurações da Webcam IP e tambĂ©m indique resolução de fluxo de vĂdeo, que deve corresponder Ă que selecionamos anteriormente nas configurações da webcam IP:
Salvamos as configurações -> Salvar e, no menu principal do Zoneminder, vemos a câmera que adicionamos:
Ao clicar no nome do qual vemos a imagem: As
câmeras podem operar em vários modos, o que é determinado pelo parâmetro Function no menu principal:
O modo em que a gravação Ă© realizada apenas movimento no quadro, chamado Modificar, e selecione-o. Agora, o sistema nĂŁo gravará o fluxo de vĂdeo continuamente, mas apenas se houver boas razões. Mas ainda precisamos de uma notificação de movimento no quadro. Para isso, vocĂŞ precisa configurar o filtro. Abra Filtros no menu principal do Zoneminder, configure de acordo com a captura de tela, salve-o com qualquer nome:
E não esqueça de marcar a caixa ao lado de Executar filtro em segundo plano:
Assim, se for detectado movimento no quadro, o sistema gravará o vĂdeo e enviará uma notificação para o correio.Aplicativos cliente
Se vocĂŞ possui um IP permanente, nada impede o encaminhamento das portas no roteador e a conexĂŁo do smartphone a partir da interface externa, alĂ©m disso, nas configurações do Zoneminder vocĂŞ pode escolher a versĂŁo mĂłvel da interface, mas, alĂ©m disso, decidi procurar algum aplicativo mĂłvel para isso. objetivos. Depois de pesquisar no Google Play a palavra-chave "zoneminder", decidi pelo zmNinja , porque A classificação Ă© bastante alta e gostei das capturas de tela. O aplicativo Ă© pago, versĂŁo de teste para avaliação preliminar, infelizmente, nĂŁo. A funcionalidade Ă© mais do que suficiente - visualizando o fluxo de vĂdeo em tempo real, visualizando o arquivo morto, eventos gravados, alternando os modos da câmera etc.



Existem tambĂ©m versões para desktopzmNinja para Linux, Windows, Mac OS X - eles sĂŁo distribuĂdos gratuitamente. É assim que a versĂŁo do Linux em execução no meu Mint 18 se parece:
Em geral, a interface é a mesma para todos os sistemas.É tudo, obrigado pela atenção.