Главная » Linux Ubuntu/Mint » Установка ZoneMinder на Ubuntu 22.04 (Linux Mint 21) и nginx

📑 Установка ZoneMinder на Ubuntu 22.04 (Linux Mint 21) и nginx

ZoneMinder

В данной статье приводится прцесс установки пакета ZoneMinder — на сегодняшний день (по нашему мнению) лучшего бесплатного комплексного решения для камер видеонаблюдения с открытым исходным кодом для Linux и распространяемого с лицензией GPL.

Коммерческие «системы безопасности» часто разрабатываются как системы мониторинга, при этом мало внимания уделяется качеству записи. В такой системе поиск и экспорт соответствующего видео может быть сложной задачей и часто требует значительного вмешательства человека. ZoneMinder был разработан для обеспечения наилучшего качества записи, позволяя легко искать, фильтровать и экспортировать кадры с камер наблюдения.

ZoneMinder разработан на основе ряда независимых компонентов, которые функционируют только тогда, когда это необходимо, ограничивая любые потери ресурсов и максимально повышая эффективность вашей машины. К устаревшему ПК с процессором Pentium II может быть подключено несколько записывающих устройств, и он способен отслеживать одну камеру на устройство со скоростью до 25 кадров в секунду, что снижается примерно вдвое для каждой дополнительной камеры на том же устройстве. Дополнительные камеры на устройствах, которые не взаимодействуют с другими устройствами, могут поддерживать частоту кадров 25 в секунду. Мониторинг нескольких камер не будет перегружать ЦП, поскольку обработка кадров синхронизируется с захватом.

Начните с базовой установки Ubuntu 22.04. Вы можете использовать серверную или настольную установку. Не устанавливайте LAMP!!!

Установите компоненты Nginx, Mariadb и PHP:

$ sudo apt install nginx mariadb-server php-fpm php-mysql fcgiwrap

Подправим безопасность Mariadb:

$ sudo mysql_secure_installation

и перезагрузим сервер Mariadb:

$ sudo systemctl restart mysql

Правим файл php.ini (Если у вас версия PHP отличная от 8.1 — подправьте номер версии!)

$ sudo nano /etc/php/8.1/fpm/php.ini

Найдите (Ctrl+w) cgi.fix_pathinfo=1 и замените на

cgi.fix_pathinfo=0

Не забудьте удалить  ; в начале строки!

Ctrl+o Enter для сохранения

CTRL+x для выхода

Перестартуем php-fpm

$ sudo systemctl restart php8.1-fpm

Добавим репозиторий ppa

ПРИМЕЧАНИЕ. Возможно, вам придется запустить: «apt install software-properties-common», если вы выполнили минимальную сетевую установку Ubuntu.

$ sudo add-apt-repository ppa:iconnor/zoneminder-1.35

На момент написания самая свежая стабильная версия — 1.35

Установим Zoneminder

$ sudo apt install zoneminder

Добавим пользователей

$ sudo adduser www-data video

Меняем ZM_PATH_ZMS в файле 01-system-paths.conf на /cgi-bin/nph-zms, удалив /zm/

$ sudo nano /etc/zm/conf.d/01-system-paths.conf

Включаем и запускаем Zoneminder

$ sudo systemctl enable zoneminder

$ sudo service zoneminder start

Отредактируем конфигурацию Ngnix по умолчанию.

$ sudo nano /etc/nginx/sites-available/default

Найдите строку «index index.html index.htm index.nginx-debian.html;» и добавьте index.php

index index.php index.html index.htm index.nginx-debian.html;

В разделе «сервер» после listen [::] :80 default_Server; добавить

include /etc/nginx/zoneminder.conf;

Создадим конфигурационный файл Zoneminder —  /etc/nginx/zoneminder.conf

$ sudo nano /etc/nginx/zoneminder.conf

Введите следующее в файл zoneminder.conf. Измените «php8.1-fpm.sock» на вашу версию PHP.

location /cgi-bin {
auth_basic off;
alias /usr/lib/zoneminder/cgi-bin;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param HTTP_PROXY "";
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location /zm/cache {
auth_basic off;
alias /var/cache/zoneminder/cache;
}
location ~ /zm/api/(css|img|ico) {
auth_basic off;
rewrite ^/zm/api(.+)$ /api/app/webroot/$1 break;
try_files $uri $uri/ =404;
}
location /zm {
auth_basic off;
alias /usr/share/zoneminder/www;
try_files $uri $uri/ /index.php?$args =404;
location /zm/api {
auth_basic off;
rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
}
location ~ .php$ {
auth_basic off;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param HTTP_PROXY "";
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php8.8-fpm.sock;
}
}

Сохраняемся и перегружаем nginx

$ sudo service nginx restart

Создайте или отредактируйте fcgiwrap:

$ sudo nano /etc/default/fcgiwrap

и вставьте (количество дочерних элементов -c равно или больше количества камер)

DAEMON_OPTS=-c 20

Сохраняемся и перезагружаем сервис fcgiwrap

$ sudo systemctl restart fcgiwrap

Zoneminder установлен. Теперь можно работать с Zoneminder через web-интерфейс. По умолчанию вбиваем в брозере

192.168.0.133/zm

где 192.168.0.133 нужно поменять на адрес вашего сервера Zoneminder или на localhost, если локально.

📑 Похожие статьи на сайте
При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2024 . All Rights Reserved.