ZoneMinder (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи ZoneMinder. Дата последней синхронизации: 22 ноября 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

ZoneMinder — это интегрированный набор приложений, которые обеспечивают полное решение для видео наблюдения, позволяющее осуществлять захват, анализ, запись и мониторинг любых камер видеонаблюдения или камер безопасности, подключенных к компьютерам на базе Linux. Приложение предназначено для работы с дистрибутивами, поддерживающими интерфейс Video For Linux (V4L), и было протестировано с видеокамерами, подключенными к картам BTTV, различными USB-камерами, а также поддерживает большинство IP-камер.

Установка

Примечание: Очень важно установить и правильно настроить стек LAMP для работы ZoneMinder.

Установите пакет zoneminderAUR.

Для создания миниатюр (используется редко) установите пакет netpbm.

После завершения настройки и запуска системной службы, веб-интерфейс будет доступен по следующему адресу: http://localhost/zoneminder/.

Конфигурация

Apache

Включите PHP, как описано в Apache HTTP Server#PHP.

Раскомментируйте следующую строку в /etc/httpd/conf/httpd.conf:

LoadModule cgi_module modules/mod_cgi.so

Включите конфигурационный файл httpd-zoneminder, добавив эту строку в конец httpd.conf:

Include conf/extra/httpd-zoneminder.conf

PHP

Отредактируйте /etc/php/php.ini. Убедитесь, что следующие расширения включены, раскомментируя эти строки:

extension=apcu
extension=ftp
extension=gd
extension=gettext
extension=pdo_mysql
extension=sockets
extension=zip

Также задайте часовой пояс, например:

date.timezone = "Europe/Kiev"

Смотрите https://php.net/manual/en/timezones.php для просмотра списка часовых поясов.

Иногда может присутствовать следующий файл /etc/php/conf.d/zoneminder.ini:

extension=apcu
extension=ftp
extension=gd
extension=gettext
extension=pdo_mysql
extension=sockets
extension=zip
date.timezone = PLACEHOLDER

если часовой пояс не заполнен, выполните:

sed -i 's|PLACEHOLDER|'`timedatectl | grep "Time zone" | tr -s ' ' | cut -f4 -d ' '`'|g' /etc/php/conf.d/zoneminder.ini

MySQL

Создание базы данных zm и пользователя с соответствующими разрешениями и паролем:

$ mysql -u root -p
CREATE DATABASE zm;
CREATE USER 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';
GRANT ALL ON zm.* TO 'zmuser'@'localhost';
exit

Импортируйте предварительно сконфигурированные таблицы в недавно созданную базу данных zm:

$ mysql -u root -p zm < /usr/share/zoneminder/db/zm_create.sql

Обновите конфигурацию ZoneMinder с новыми параметрами:

/etc/zm.conf
ZM_DB_HOST=localhost
ZM_DB_NAME=zm
ZM_DB_USER=zmuser
ZM_DB_PASS=zmpass

Безопасность

Для повышения безопасности нужно установить пароль для пользователя root:

/usr/bin/mysqladmin' -u root password 'new-password'
/usr/bin/mysqladmin' -u root -h lilya-x64 password 'new-password'

Кроме того, вы можете запускать:

/usr/bin/mysql_secure_installation

Запуск

Запустите/включите службы httpd.service, zoneminder.service, fcgiwrap-multiwatch и php-fpm.service.

systemctl start php-fpm
systemctl enable php-fpm 
systemctl start httpd
systemctl enable httpd 
systemctl start zoneminder
systemctl enable zoneminder
systemctl start fcgiwrap-multiwatch
systemctl enable fcgiwrap-multiwatch

Решение проблем

По умолчанию, логи хранятся в /var/log/zoneminder. Вы также можете просматривать логи в веб-интерфейсе.

Также смотрите официальную wiki-страницу проекта: Troubleshooting.

Очистка данных приложения

Данная функция будет полезна разработчикам или пользователям, которым нужно очистить все данные ZoneMinder и начать настройку с нуля.

Восстановление базы данных

Удалите базу данных ZoneMinder и пользователя MySQL:

$ mysql -u root -p
DROP DATABASE zm;
DROP USER 'zmuser'@'localhost';

Пересоздайте базу данных и пользователя:

$ mysql -u root -p
CREATE DATABASE zm;
CREATE USER 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';
GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON zm.* TO 'zmuser'@'localhost';
exit

Импортируйте предварительно сконфигурированные таблицы в недавно созданную базу данных zm:

$ mysql -u root -p zm < /usr/share/zoneminder/db/zm_create.sql

Очистка папки кеша

Важно: При выполнении команды ниже будут удалены все изображения и события.
$ rm -Rf /var/cache/zoneminder/events/* /var/cache/zoneminder/images/* /var/cache/zoneminder/temp/*

Локальные видеоустройства

Важно, чтобы пользователь, выполняющий httpd (обычно http), мог получить доступ к вашим камерам, например:

$ groups http
video http
$ ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 Oct 28 21:54 /dev/video0

То есть, добавьте пользователя http в группу video.

sudo usermod -aG video http

Несколько локальных USB-камер

Если вы заметили ошибку, например, libv4l2: error turning on stream: No space left on device при использовании нескольких USB-видеоустройств (к примеру, нескольких веб-камер), вам может потребоваться увеличить пропускную способность шины.

Сначала проверьте это, остановив zoneminder.service и выполнив данные команды:

$ rmmod uvcvideo
$ modprobe uvcvideo quirks=128

Запустите zoneminder.service и если проблема решена, сохраните изменение, добавив параметр модуля в /etc/modprobe.d/uvcvideo.conf. Например:

options uvcvideo nodrop=1 quirks=128

(источник)

Смотрите также