ZoneMinder (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи ZoneMinder. Дата последней синхронизации: 22 ноября 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

Установка

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

Установите пакет zoneminderAUR. Также можно использовать ветку разработки, установив пакет zoneminder-gitAUR.

Для создания миниатюр (используется редко) установите пакет 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[устаревшая ссылка 2021-11-19].

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

Данная функция будет полезна разработчикам или пользователям, которым нужно очистить все данные 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

(источник)

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