ZoneMinder установка и настройка на CentOS 7

ZoneMinder — свободное программное обеспечение для организации видеонаблюдения под лицензией GNU GPL.
Имеется компьютер Intel(R) Core(TM)2 CPU 4300, 2GB RAM.

Была произведена чистая установка CentOS 7 Minimal. IP-камера AXIS-206. Для организации архива записей используется отдельный жесткий диск, который можно подключить на этапе инсталяции системы (монтируется в /var/lib/zoneminder) или позднее при установке ZoneMinder’а, как будет описано ниже. Приступим!

Установка ZoneMinder

Далее подразумевается, что все команды выполняются от имени пользователя root. Если Вы пользуетесь механизмом sudoers, то перед командами добавляйте sudo.
1. Поключаем репозиторий EPEL. Он понадобится для разрешения всех зависимостей.
yum install epel-release

2. Добавляем в систему отдельный диск для хранения записей. Предположим, что диск имеет обозначение /dev/sdb и на нем одна партиция /dev/sdb1 соответственно. Теперь необходимо выяснить UUID (Универсальный Уникальный Идентификатор) партиции.
blkid /dev/sdb1
Ответом будет строка, примерно, с таким содежанием (у Вас UUID будет другим).
/dev/sdb1: UUID="f3609e58-ab0d-4bfb-a0a5-f7e912db6597" TYPE="ext4"
Добавим UUID в /etc/fstab.
vi /etc/fstab
Теперь /etc/fstab выглядит, примерно, так (зависит от Вашей разметки диска).

В последней строке партиция с нашим UUID монтируется в /var/lib/zoneminder.

3. Доставим пакеты, отключим SElinux и обновим систему.
По умолчанию в CentOS 7 Minimal не установлены пакеты wget, который понадобится нам дальше, и ntp для синхронизации точного времени.
yum install wget ntp
vi /etc/selinux/config
Заменим enforcing на disabled в следующей строке.

yum update
Перезагрузим компьютер, чтобы обновления и настройки вступили в силу.
reboot

4. Подключим репозиторий ZoneMinder’а и установим его.
wget http://zmrepo.zoneminder.com/el/7/x86_64/zmrepo-7-8.el7.centos.noarch.rpm
yum install --nogpgcheck zmrepo-7-8.el7.centos.noarch.rpm
Удостоверимся, что все нужные репозитории подключены.
yum repolist

Следующая команда установит ZoneMinder и все зависимые пакеты.
yum install zoneminder
После этого необходимо настроить базу данных MariaDB.

5. Если Вы ранее уже использовали базу данных MariaDB/MySQL на сервере, куда устанавливается ZoneMinder, то шаг с запуском и первоначальной настройкой можно пропустить и перейти к непосредственно конфигурированию.
— запускаем MariaDB
systemctl enable mariadb
systemctl start mariadb
— первоначальная настройка
mysql_secure_installation
Так как это первый запуск, пароль пустой, жмем Enter

Установим собственный пароль для пользователя root базы данных (не путать с пользователем root самой системы)

На все вопросы отвечаем «у»

— конфигурирование
В следующих командах иcпользуем пароль пользователя root установленный ранее. Не забудьте заменить zmpass во второй команде на нормальный пароль!
mysql -uroot -pпароль < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -pпароль -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
mysqladmin -uroot -pпароль reload
После редактируем конфигурационный файл ZoneMinder’а /etc/zm/zm.conf. Изменяем строки с переменными ZM_DB_USER и ZM_DB_PASS в соответствии с введенными ранее.
Редактируем файл /etc/php.ini для установки правильной временной зоны.
date.timezone = Europe/Moscow

6. Инсталируем mod_ssl для использования HTTPS и готового самоподписного сертификата.
yum install mod_ssl
7. Запускаем Apache и ZoneMinder.
systemctl enable httpd
systemctl start httpd
systemctl enable zoneminder
systemctl start zoneminder

Настройка ZoneMinder

1. Итак, установка полностью выполнена. Можно набрать в адресной строке браузера https://localhost/zm/ либо https://Ваш IP-адрес/zm/, или, если есть, https://Ваш домен/zm/. Вся дальнейшая настройка осуществляется через веб-интерфейс в браузере.
Первое, что мы видим, это шапка некой незаполненной таблицы. Обратите внимание на правый верхний угол, там есть кнопка «Options».

Выберем русский язык: правда, переведено не все, но все-таки так приятнее.

В обязательном порядке включаем вход по логину и паролю.

Во вкладке «Пользователи» в целях безопасности следует изменить логин администратора на свой вместо стандартного admin.

Можно поменять тему оформления. На мой взгялд, «flat» выглядит более комфортно.


2. Добавим IP-камеру AXIS-206. В незаполненной таблице на главной странице веб-интерфейса жмем кнопку «Добавить монитор» (мониторами тут назваются источники видеосигнала). Нас интересуют 2 вкладки «General» и «Источник». Вводим имя, «Тип источника» — «Удаленный», так как у нас отдельное устройство IP-камера. Если подключить USB-камеру непосредственно к серверу, тип источника станет «Локальный». Далее выбираем «Функцию», здесь режим записи с камеры. «Функция» может принимать различные значения:
— Monitor – просмотр изображений с камеры;
— Modect (от Motion Detection) — производится анализ кадров и при возникновении движения ведет запись;
— Record – постоянная запись с камер;
— Mocord (гибрид Modect и Record) — ведется постоянная запись с камер, при возникновении движения — с подсветкой областей детекции;
— Nodect – специализированный режим, использующийся вместе с внешними триггерами.

Переходим на вкладку «Источник».
Remote Protocol — HTTP
Remote Method — Simple
Имя удаленного хоста заполняется в формате user:password@IP-адрес. Это пользователь, который имеет доступ к просмотру IP-камеры, и его пароль.
Удаленный порт 80
Путь на удаленном хосте — это путь к файлу в камере, где транслируется видеопоток. Чтобы его определить, нужно зайти в веб-интерфейс настроек камеры.
Указываем нужный нам размер картинки по вертикали и горизонтали в пикселях.

Сохраняем. Теперь у нас в таблице есть одна строчка с подключенной камерой. Имя, функция, источник. «Имя» позволяет смотреть камеру в онлайн режиме, а также несколько последних событий. «Функция» и «Источник» вернут Вас к настройке параметров, описанных выше. Далее идут события — это записи видеопотока, отсортированные по временным интервалам: час, день, неделя, месяц. Нажимая на эти «кнопки», можно посмотреть записи за соответсвующее время.
3. Каким бы большим не был жесткий диск, место на нем рано или поздно закончится. Поэтому нам необходимо настроить функцию очистки диска от старых записей. Жмем кнопку «Filters». Выбираем «PurgeWhenFull» в параметре «Использовать фильтр». В условии запуска фильтра «Disk Percent» и «больше или равно» прописываем «85». Жмем «Сохранить» в этом и следующем окне. Теперь при достижении 85% от общего объема диска будет запускаться скрипт очистки.

4. Последний шаг настройки. Создадим обычного непривилегированного пользователя для просмотра онлайн и архивных записей. Перейдем в «Опции» -> «Пользователи» -> «Добавить пользователя». Обзовем его observer (англ. — наблюдатель) и установим ему соответствующие права. Обратите внимание, что также можно выбирать какие камеры доступны этому пользователю. На следующей картинке доступна только камера с именем axis206_m.

Заходим в систему только что созданным пользователем.

Система видеонаблюдения ZoneMinder достаточно мощная и простая в настройке и эксплуатации. Она поддерживает локальные и сетевые видеокамеры, цифровые USB камеры и аналоговые видеокамеры. Имеется большое количество настроек и возможностей.

ZoneMinder установка и настройка на CentOS 7

ZoneMinder установка и настройка на CentOS 7: 2 комментария

  1. Dmitry

    If Firewalld is running, allow HTTP service. HTTP uses 80/TCP. HTTPS uses 443/TCP.

    firewall-cmd —add-service=http —permanent
    firewall-cmd —add-service=https —permanent
    firewall-cmd —reload

  2. Алексей Автор записи

    Спасибо Дмитрий!
    А если у Вас iptables, то
    iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
    Другие примеры iptables можно посмотреть тут

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *