Рано или поздно при использовании одиночных камер возникает желание собрать их воедино - для этого нужно некое место сбора, которым и будет сервер видеонаблюдения.
Задача:
Установить сервер видеонаблюдения.
Поиск решения:
Для решения данной задачи было решено создать виртуальную машину на уже имеющимся кластере, подключить дополнительный женский диск, что бы не убивать скорость и ресурс дисков кластера. Из бесплатных решений выбор небольшой, а законченным, по сути, можно считать только одно. Таким образом выбор пал на ZoneMinder.
Реализация:
Ставить будем на
Код: Выделить всё
FreeBSD 10.3-STABLE
Ставим базу данных
Код: Выделить всё
cd /usr/ports/databases/mysql56-server
make install clean
sysrc mysql_server_enable="YES"
Код: Выделить всё
cp /usr/local/share/mysql/my-default.cnf /var/db/mysql/my.cnf
Код: Выделить всё
sql_mode= NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Код: Выделить всё
service mysql-server start
Код: Выделить всё
cd /usr/ports/www/nginx
make install clean
sysrc nginx_enable="YES"
Код: Выделить всё
server {
root /usr/local/www/zoneminder;
try_files $uri $uri/ /index.php$is_args$args;
index index.php;
location = /cgi-bin/nph-zms {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
location /api {
rewrite ^/api/(.+)$ /api/index.php?p=$1 last;
}
location ~ ^/(?:images|events)/ {
deny all;
}
}
Код: Выделить всё
cd /usr/ports/www/fcgiwrap
make install clean
sysrc fcgiwrap_enable="YES"
sysrc fcgiwrap_user="www"
sysrc fcgiwrap_flags="-c 4"
Код: Выделить всё
cd /usr/ports/lang/php56
make install clean
sysrc php_fpm_enable="YES"
Код: Выделить всё
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Код: Выделить всё
date.timezone = Europe/Moscow
Код: Выделить всё
listen = /var/run/php-fpm.sock
listen.owner = www
listen.group = www
env[PATH] = /usr/local/bin:/usr/bin:/bin
Код: Выделить всё
cd /usr/ports/multimedia/zoneminder
make install clean
sysrc zoneminder_enable="YES"
Код: Выделить всё
mysql -u root -p
CREATE DATABASE zm;
GRANT ALL PRIVILEGES ON zm.* TO 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';
FLUSH PRIVILEGES;
quit;
mysql -u root -p zm < /usr/local/share/zoneminder/db/zm_create.sql
Код: Выделить всё
service nginx start
service fcgiwrap start
service php-fpm start
service zoneminder start