Настройка в Abills

Добавление нужных репозиториев с пакетами:

add-apt-repository ppa:iconnor/zoneminder
add-apt-repository ppa:iconnor/zoneminder-1.32
add-apt-repository ppa:iconnor/zoneminder-master


apt-get update


Протестировано на версии 1.33.1


В файле /etc/mysql/mysql.conf.d/mysqld.cnf добавить после строки "[mysqld]"

sql_mode = NO_ENGINE_SUBSTITUTION

Настраиваем Mysql

rm /etc/mysql/my.cnf
cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
systemctl restart mysql

Установка Zoneminder

apt-get install zoneminder

Добавление базы данных:

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e "grant lock tables,alter,drop,select,insert,update,delete,create,index,alter routine,create routine, trigger,execute on zm.* to 'zmuser'@localhost identified by 'zmpass';"

mysqladmin -uroot -p reload


Настройка Apache:

chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
chown -R www-data:www-data /usr/share/zoneminder/
chown -R www-data:www-data /var/cache/zoneminder/


adduser www-data video


a2enmod cgi
a2enmod rewrite
a2enconf zoneminder

systemctl enable zoneminder
systemctl start zoneminder


В файле /etc/php/7.0/apache2/php.ini редактируем временную зону на системную

[Date]
date.timezone = "Europe/Kiev"

В файле /etc/apache2/conf-enabled/zoneminder.conf вставляем в конце:

<Directory "/usr/share/zoneminder/www/api">
   RewriteEngine on
   RewriteRule ^$ app/webroot/ [L]
   RewriteRule (.*) app/webroot/$1 [L]
   RewriteBase /zm/api
</Directory>

<Directory "/usr/share/zoneminder/www/api/app">
   RewriteEngine on
   RewriteRule ^$ webroot/ [L]
   RewriteRule (.*) webroot/$1 [L]
   RewriteBase /zm/api
</Directory>

<Directory "/usr/share/zoneminder/www/api/app/webroot">
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    RewriteBase /zm/api
</Directory>

Перезагружаем Apache

systemctl reload apache2


Скачиваем последний архив Cambozola c http://www.andywilcock.com/code/cambozola/cambozola-latest.zip

cp cambozola.jar /usr/share/zoneminder/www/


Открываем файл /usr/share/zoneminder/www/api/app/Controller/UsersController.php


vim /usr/share/zoneminder/www/api/app/Controller/UsersController.php


Заменяем функцию beforeFilter() на код ниже

public function beforeFilter() {
        parent::beforeFilter();

		global $user;

		$canView = (!$user) || ($user['Control'] != 'None');
		if ( !$canView ) {
			throw new UnauthorizedException(__('Insufficient Privileges'));
			return;
		}
    }


Перезапускаем Zoneminder

systemctl reload zoneminder


Zoneminder настроен. Заходим на htts://SERVER/zm, где SERVER это URL вашего web сервера.

Во вкладке Options(Config) редактируем следующие параметры и нажимаем сохранить:

ПараметрДействие
OPT_USE_AUTH Отмечаем галочкой
AUTH_TYPE        Отметить builtin
AUTH_RELAY     Отметить hashed
AUTH_HASH_IPS Убираем галочку

Стандартные данные для входа:

Login: admin 

Password: admin


Если вы меняете данные то измените конфиг

$conf{ZONEMINDER_ADMIN_LOGIN} = 'Your login';
$conf{ZONEMINDER_ADMIN_PASSWORD} = 'Your password';



Нажать кнопку с иконкой wi-fi и изменить на Low B/W || Medium B/W || High B/W


В левом подменю Network изменяем HTTP_TIMEOUT на 10000.

В левом подменю Low B/W || Medium B/W || High B/W(зависит от выбора в кнопке с иконкой WI-FI) изменяем WEB_L_AJAX_TIMEOUT на 10000.