ZoneMinder (Русский)
ZoneMinder — это интегрированный набор приложений, которые обеспечивают полное решение для видео наблюдения, позволяющее осуществлять захват, анализ, запись и мониторинг любых камер видеонаблюдения или камер безопасности, подключенных к компьютерам на базе Linux. Приложение предназначено для работы с дистрибутивами, поддерживающими интерфейс Video For Linux (V4L), и было протестировано с видеокамерами, подключенными к картам BTTV, различными USB-камерами, а также поддерживает большинство IP-камер.
Установка
Установите пакет 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
(источник)
Смотрите также
- https://www.zoneminder.com/wiki/index.php/Arch_Linux[устаревшая ссылка 2021-11-19] — Страница проекта.