Видеонаблюдение под Linux

avreg-site: управление сервером через веб-интерфейс.

avreg-site

Веб-интерфейс системы AVReg является основным интерфейсом с пользователями. Позволяет производить настройку системы, просматривать видеокамеры в режиме реального времени и работать с архивом сохранённых записей.

Веб-интерфейс написан на PHP и предполагает использование http-сервера Apache и SQL-сервера MySQL.

Конфигурационные файлы пакета avreg-site:

  • Apache2 специфичные
    • «/etc/avreg/site-apache2.conf» (системный) и
    • «/etc/avreg/site-apache2-users.conf» (пользовательский);
  • AVReg специфичные
    • «/etc/avreg/site-defaults.php» (системный) и
    • «/etc/avreg/avreg.conf» (пользовательский).

По умолчанию, сайт доступен по адресу:
http://ip-адрес_или_хост-имя/avreg

Для доступа к веб-сайту,
сразу после установки,
используйте имя admin и пустой пароль.
Если нужно «входить» на сайт AVReg прямо с адреса «http://ip-адрес_или_хост-имя», необходимо изменить настройки веб-сервера.

Для apache2 (Debian) Вам нужно отрыть в редакторе файл «/etc/apache2/sites-available/default» и добавить или заменить строку

RedirectMatch ^/$ /apache2-default/

на

RedirectMatch ^/$ /avreg/

После чего выполнить команду:

$ sudo apache2ctl -k restart
или
$ sudo /etc/init.d/apache2 restart

Описание параметров avreg-site, допустимых в файле avreg.conf

...
# Имя хоста SQL-сервера и имя базы данных.
# По умолчанию:
; db-host = 'пусто'
; db-name = 'avreg5_db'

# Каталог, в который должны сохраняться аудио/видео файлы.
# По умолчанию:
; storage-dir = '/var/spool/avreg'

# Имя текстового файла-журнала, в который записываются "вручную"
# удалённые из архива файлы, например, для сокрытия каких-то проишествий.
# Журнал создаётся в каталоге "{{storage-dir}}".
# По умолчанию: "removed-manually.txt"
; removed-manually = 'removed-manually.txt'

# Контактные данные администратора сервера AVReg
; admin-name = 'Your name'
; admin-mail = 'your@email'
; admin-tel  = '+7 111 222 333'

avreg-site {
   ### Пользовательские настройки веб-интерфейса, версия 5.4.4.
   ### Используйте эту секцию для переопределения параметров по-умолчанию
   ### в файле /etc/avreg/site-defaults.php, не изменяйте site-defaults.php
   
   # Устанавливайте имя "db-user" и пароль "db-passwd" доступа к базе данных
   # в приватном ( 0640 root:www-data ) файле c именем "avreg-site.secret" 
   include /etc/avreg/avreg-site.secret

   # Номер первого входного(input) видео-устройства v4loop.
   # ДОЛЖЕН соответствовать значению параметра "dev_offset"
   # модуля ядра v4loop, см. файл "/etc/modprobe.d/v4loop".
   # Необходимость уменьшить возникает при настройке локального просмотра
   # более чем 25 камер одновременно.
   ; v4loop-dev-offset = 14

   # НЕ HTTP-шные URL префиксы для загрузки медиа-файлов с удалённых хостов.
   # Общий шаблон: murl-pre-OS[CLIENTS_IP_ACL] = 'PROTO://HOST:PORT/PATH'
   #   где:
   #     OS - "win"(dows), "nix" - unix-based or "other"
   # Прокотолы доступа к медиа-файлам по-умолчанию: "http://"
   # Для некоторых протоколов возможно потребуется дополнительная настройка
   # браузеров,
   # см. http://avreg.net/manual_applications_media-access.html#browser
   # Примеры:
   ; murl-pre-win['192.168.55.0/24'] = 'file:///\\\\hostname\\AVReg'
   ; murl-pre-win['10.0.0.0/8']      = 'file:///Z:\\AVReg'
   ; murl-pre-nix['192.168.0.0/16']  = 'smb://hostname/avreg'
   ; murl-pre-other['any']           = 'ftp://192.168.1.1/avreg'
   ; murl-pre-nix['localhost']       = 'file:///var/spool/avreg'

   # Абсолютный путь до включаемого php-кода, выполняемого при получении
   # HTTP уведомлений, например, при "сработке" дискретных входов ip-камер.
   # По умолчанию, этот параметр указывает на наш рабочий пример
   # "/usr/share/avreg-site/on-http-notify.inc.php", который позволяет
   # только отображать "внешние" тревоги в локальном просмотрщике камер
   # avreg-mon и только в одно-дисплейной конфигурации.
   # См. также http://avreg.net/manual_applications_on-http-notify.html 
   ; on-http-notify = /etc/avreg/scripts/on-http-notify.inc.php
}

Настройка sudo.

Для возможности выполнения команд start/stop/restart/reload/snapshot для демона avregd c страницы «Управление» необходимо правильно настроить sudo.

Смысл настроек следующий.

Большинство демонов работают с привилегиями от «своего» обычного пользователя (прим: в редких случаях от root-а - небезопасно). Например, демон avregd выполняется от обычного пользователя «avreg», а веб-сервер Apache выполняется от пользователя «www-data» (в Debian). Такой подход отвечает основным требованиям безопасности, однако не позволяет «общаться» (подавать сигналы kill(2)) процессам, запущенным от разных пользователей.

Нам нужно сделать возможным подачу сигналов от демона Apache к демону avregd. Это можно сделать через механизм временного повышения привилегий пользователя «www-data» до привилегий супер-пользователя «root» при выполнении конкретных команд.

Для этого нужно прописать некоторые правила в конфигурационный файл /etc/sudoers. Этот файл доступен только root-у.

Править его можно в любом текстовом редакторе, но правильнее через команду visudo, которая не допустит изменение файла с неправильным синтаксисом.

По умолчанию, visudo откроет файл sudoers в мощном но специфическом редакторе Vi. Если Вы ранее не работали в этом редакторе, советуем использовать другой, более привычный редактор mcedit. Для этого выполните в терминале root-а команду:

находясь в консоли

EDITOR=mcedit visudo

находясь в терминале

VISUAL=mcedit visudo

Фрагменты файла /etc/sudoers, не копируйте текст целиком

....
# Host alias specification
...
# определяем группу хостов, с которых можно будет управлять avregd
# ip-адреса или хост-имена (см. настройки /etc/hosts и /etc/resolv.conf)
# или адрес подсети клиентов
Host_Alias     AVREG_HOSTS = localhost, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8
...

# Cmnd alias specification
...
# группа команд для управления avregd (>= 5.4.2),
# выполняемых от root-а
Cmnd_Alias  AVREG_WEBCMD = /etc/init.d/avreg, /usr/bin/tail
...

# User privilege specification
...
# пользователь "www-data" (apache) с хостов AVREG_HOSTS
# может выполнять команды AVREG_WEBCMD 
# c привилегиями root без ввода пароля
www-data  AVREG_HOSTS = NOPASSWD: AVREG_WEBCMD
...

Для внеклассного чтения:

  1. формат файла sudoers .

Конфигурирование системы.

Вход в веб-интерфейс: http://IP-адрес_сервера_или_ХОСТ_имя/avreg и после ввода имени и пароля (после установки install или admin с пустым паролем) должна отобразиться страница (см. скриншот ниже).

 Главная страница веб-интерфейса AVReg

Описание параметров см. либо непосредственно в веб-интерфейсе (каждый параметр задокументирован прямо на странице) или на сайте предыдущей версии http://linuxdvr.ru/rus/docs/tune-cams.html

manual/tuning/avreg-site.txt · Последние изменения: 2010-07-26 support