ZoneMinder (Русский) - ArchWiki

Jump to content
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

(источник)

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

- https://wiki.zoneminder.com/index.php/Arch_Linux — Страница проекта.

Categories:

- Surveillance (Русский)
- Web applications (Русский)