Главная
Главная Руководства FreeBSD › Устанавливаем zoneminder на FreeBSD



Автор:

Статья опубликована: 2019-02-24 21:55:50
Последние правки: 2019-02-28 13:49:25

Zoneminder - популярный сервер видеонаблюдения. Установим и настроим на FreeBSD 11.2.

Важная информация
В качестве проверки я подключил по usb камеру PS3 EYE (от Playstation 3). При смене параметров подключения камеры, скрипт zmc, который тянет видео с камеры, категорически отказывался завершаться (даже по kill -KILL), помогало только вытаскивание камеры из usb и повторное подключение. Не знаю, особенность ли это webcamd или самой камеры, но дела обстоят именно так.

Zoneminder в режиме записи, в архив писал пустое видео. Пробовал на usb и ip-камерах. Файл mp4 создавался, но продолжительность видео = 0 сек. Побороть не смог.

Мне нужен архив видео, но он был пустым, потому мои эксперименты с zoneminder под FreeBSD закончились на установке и однодневном тестировании.


  • Исходные данные
    # uname -sr
    FreeBSD 11.2-RELEASE-p5
    # pkg info | grep zoneminder
    zoneminder-1.32.3              Complete security camera solution, fully web based with image analysis
    # pkg info | grep nginx
    nginx-1.14.2_8,2               Robust and small WWW server
    # pkg info | grep mysql
    mysql56-server-5.6.43          Multithreaded SQL database (server)
    # pkg info | grep fcgiwrap
    fcgiwrap-1.1.0_9               Simple FastCGI wrapper for CGI scripts
    # pkg info | grep php
    php72-7.2.15                   PHP Scripting Language
    


  • Установка
    # cd /usr/ports/multimedia/zoneminder
    # make install clean
    
    Мои настройки:
    [ ] DOCS  Build and/or install documentation
    [x] NLS   Native Language Support
    [x] V4L   Video 4 Linux support
    


  • Настройка nginx
    zoneminder использует и perl и php, потому server в nginx настраиваем с учетом этого. Настройки в виде отдельного сайта есть в документации, я же интегрирую их в существующий.
    server {
    ...
        # ZONEMINDER
        location ~ /cgi-bin/nph-zms {
            gzip off;
            root /usr/local/www/zoneminder;
            fastcgi_param DOCUMENT_ROOT /usr/local/www/zoneminder;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:8999;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
        location /zm/cache {
            alias /var/cache/zoneminder;
        }
        location /zm {
            alias   /usr/local/www/zoneminder;
            index index.php;
            location ~ \.php$ {
                if (!-f $request_filename) { return 404; }
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_index index.php;
                fastcgi_pass unix:/tmp/www-php-fpm.sock;
            }
            location ~ \.(jpg|jpeg|gif|png|ico)$ {
                access_log      off;
                expires 33d;
            }
            location /zm/api/ {
                alias   /usr/local/www/zoneminder;
                rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last;
            }
        }
        #/ZONEMINDER
    ...
    }
    

    После установки

    Директория /var/log/zm не создается автоматически, поэтому создайте сами и не забудьте дать права для www:www на неё и все, что в ней.

    Входим по адресу http://mysite.com/zm/
    Логин и пароль у нас не спросят, а потому в настройках надо поставить галочку для опции OPT_USE_AUTH, после чего вас из админки попрут и зайти уже можно только по admin : admin.