Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
wiki:zoneminder [2013/09/30 15:39] создано |
wiki:zoneminder [2016/10/18 10:30] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Zoneminder ====== | + | ====== ZoneMinder ====== |
- | =====Установка из репозитория Ubuntu===== | + | |
+ | ===== Установка из репозитория Ubuntu ===== | ||
<note warning>При устанвке появляется сообщение о не запущенном процессе Mysql, хотя это не так!</note> | <note warning>При устанвке появляется сообщение о не запущенном процессе Mysql, хотя это не так!</note> | ||
Все необходимые зависимости загрузятся и установятся автоматически: | Все необходимые зависимости загрузятся и установятся автоматически: | ||
<code>sudo apt-get install zoneminder</code> | <code>sudo apt-get install zoneminder</code> | ||
- | =====Установка из стороннего репозитория===== | ||
- | <code>sudo apt-add-repository ppa:iconnor/zoneminder | ||
- | sudo apt-get update && sudo apt-get install zoneminder</code> | ||
- | Проблема в том, что при установке этого пакета происходит обращение к неинициализированной базе данных, поэтому она будет прерываться с ошибкой | ||
- | <file> | ||
- | Настраивается пакет zoneminder (1.26.3-2) ... | ||
- | Starting ZoneMinder: DBI connect('database=zm;host=localhost','zmuser',...) failed: Unknown database 'zm' at /usr/share/perl/5.14.2/ZoneMinder/Config.pm line 89 | ||
- | Can't call method "prepare_cached" on an undefined value at /usr/share/perl/5.14.2/ZoneMinder/Config.pm line 91. | ||
- | BEGIN failed--compilation aborted at /usr/share/perl/5.14.2/ZoneMinder/Config.pm line 100. | ||
- | Compilation failed in require at /usr/share/perl/5.14.2/ZoneMinder.pm line 33. | ||
- | BEGIN failed--compilation aborted at /usr/share/perl/5.14.2/ZoneMinder.pm line 33. | ||
- | Compilation failed in require at /usr/bin/zmpkg.pl line 37. | ||
- | BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 37. | ||
- | failure | ||
- | invoke-rc.d: initscript zoneminder, action "start" failed. | + | ===== Установка на ubuntu 16.04 из официального репозитория разработчиков ===== |
- | dpkg: не удалось обработать параметр zoneminder (--configure): | + | |
- | подпроцесс установлен сценарий post-installation возвратил код ошибки 255 | + | |
- | Отчёты apport не записаны, так достигнут MaxReports | + | |
- | При обработке следующих пакетов произошли ошибки: | + | |
- | zoneminder | + | |
- | E: Sub-process /usr/bin/dpkg returned an error code (1)</file> | + | |
- | Для начала создаем базу данных: | + | |
- | <code>mysql -uroot -p | + | |
- | mysql>create database zm; | + | |
- | mysql>grant all privileges on zm.* to 'zmuser'@'localhost' identified by "zmpass"; | + | |
- | mysql>\q</code> | + | |
- | Запускаем процесс исправления прерванной установки: | + | |
- | <code>sudo apt-get -f install</code> | + | |
- | И если таблица создана верно, вы увидите новую ошибку: | + | |
- | <code>Can't execute: Table 'zm.Config' doesn't exist at /usr/share/perl/5.14.2/ZoneMinder/Config.pm line 100 | + | |
- | BEGIN failed--compilation aborted at /usr/share/perl/5.14.2/ZoneMinder/Config.pm line 100. | + | |
- | Compilation failed in require at /usr/share/perl/5.14.2/ZoneMinder.pm line 33. | + | |
- | BEGIN failed--compilation aborted at /usr/share/perl/5.14.2/ZoneMinder.pm line 33. | + | |
- | Compilation failed in require at /usr/bin/zmpkg.pl line 37. | + | |
- | BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 37. | + | |
- | failure | + | |
- | invoke-rc.d: initscript zoneminder, action "start" failed. | + | <code bash>#! /bin/bash |
- | dpkg: не удалось обработать параметр zoneminder (--configure): | + | |
- | подпроцесс установлен сценарий post-installation возвратил код ошибки 255 | + | |
- | При обработке следующих пакетов произошли ошибки: | + | |
- | zoneminder | + | |
- | E: Sub-process /usr/bin/dpkg returned an error code (1)</code> | + | |
- | Что означает, что в базе данных нет нужных таблиц, к которым происходит обращение. | + | |
- | FIXME | + | |
- | === Пртестируем апач, сделаем тестовый файл === | + | |
- | <code bash>sudo vi /var/www/test.php</code> | + | |
- | и запишем в него следующее: | + | |
- | <code php><?php phpinfo(); ?></code> | + | |
- | Набираем в браузере: | + | |
- | <code>http://your_ip/test.php</code> Если все хорошо, увидим справку нашего php. | + | |
- | ---- | + | # http://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html#easy-way-ubuntu-16-04 |
- | === Правим sysctl.conf === | + | |
- | Теперь <code bash>sudo vi /etc/sysctl.conf</code> | + | |
- | добавить строку: | + | |
- | <file>kernel.shmmax = 134217728</file> | + | |
- | Перезагружаем компьютер. | + | |
- | ---- | + | COOKIES_PASSWORD="qazwsxedc" |
- | === Настраиваем Apache === | + | |
- | Можно просто скопировать содержимое | + | |
- | /usr/share/zoneminder в /var/www/ | + | |
- | и создать заново симлин на cgi | + | |
- | <code bash>cd /var/www/</code> | + | |
- | <code bash>ln -s /usr/lib/cgi-bin/ ./cgi-bin</code> | + | |
- | ==В мане приводятся следующие настройки:== | + | |
- | <file>vi /etc/apache2/sites-available/default | + | |
- | найти RedirectMatch ^/$ /apache2-default/ | + | |
- | заменить на RedirectMatch ^/$ /zm/ | + | |
- | Добавить в /etc/apache2/apache2.conf | + | |
- | Alias /zm /usr/share/zoneminder | + | |
- | <Directory /usr/share/zoneminder> | + | |
- | php_flag register_globals off | + | |
- | options Indexes FollowSymlinks | + | |
- | <IfModule mod_dir.c> | + | |
- | DirectoryIndex index.php | + | |
- | </IfModule> | + | |
- | </Directory></file> | + | |
- | ---- | + | # Настраививаем автоматический ввод пароля для админа mysql. |
- | === Для Ubuntu 7.04 === | + | # http://stackoverflow.com/a/7740571 |
- | <code bash>sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf</code> | + | echo "mysql-server mysql-server/root_password password $COOKIES_PASSWORD" | debconf-set-selections |
- | <code bash>sudo /etc/init.d/apache2 reload</code> | + | echo "mysql-server mysql-server/root_password_again password $COOKIES_PASSWORD" | debconf-set-selections |
+ | |||
+ | # Устанавливаем лампу (linux, apache, mysql, php) | ||
+ | tasksel install lamp-server | ||
+ | |||
+ | # Добавляем репу разрабов zoneminder. | ||
+ | add-apt-repository -y ppa:iconnor/zoneminder | ||
+ | |||
+ | # Обновляем индексы, чтобы новая репа увиделась. | ||
+ | apt-get update | ||
+ | # 2 раза делаем принудительное обновление всей системы. На всякий случай. | ||
+ | apt-get -y upgrade | ||
+ | apt-get -y dist-upgrade | ||
+ | |||
+ | # Удаляем конфиг мускуля. | ||
+ | rm /etc/mysql/my.cnf | ||
+ | # Копируем новый конфиг: | ||
+ | cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf | ||
+ | |||
+ | # Добавляем строку "sql_mode = NO_ENGINE_SUBSTITUTION" в раздел "[mysqld]" в конфиге /etc/mysql/my.cnf. | ||
+ | sed -i 's/\[mysqld\]/\[mysqld\]\nsql_mode = NO_ENGINE_SUBSTITUTION/' /etc/mysql/my.cnf | ||
+ | |||
+ | # Рестартим базу мускуля. | ||
+ | systemctl restart mysql | ||
+ | |||
+ | # Устанавливаем собственно zoneminder. | ||
+ | apt-get -y install zoneminder | ||
+ | |||
+ | # http://stackoverflow.com/a/20033673 | ||
+ | # Говорим мускулю создать БД для проги из заранее приготовленного шаблона. | ||
+ | mysql --user=root --password="$COOKIES_PASSWORD" < /usr/share/zoneminder/db/zm_create.sql | ||
+ | # Ещё донастраиваем. Я в бд не шарю, но эта строка всё равно из официального руководства взята. И она пашет. Инфа - сотка. | ||
+ | mysql --user=root --password="$COOKIES_PASSWORD" -e "grant select,insert,update,delete,create,alter,index,lock tables on zm.* to 'zmuser'@localhost identified by 'zmpass';" | ||
+ | |||
+ | # Меняем ugo права на файл конфига. | ||
+ | chmod 740 /etc/zm/zm.conf | ||
+ | # Меняем владельца и группу. Рулит root, читать может пользователь www-data. | ||
+ | chown root:www-data /etc/zm/zm.conf | ||
+ | # Меняем пользователя:группу на весь каталог /usr/share/zoneminder/ и всё что внутри до самого конца. | ||
+ | chown -R www-data:www-data /usr/share/zoneminder/ | ||
+ | |||
+ | # Втыкаем конфиг зонемайндера в апач. | ||
+ | a2enconf zoneminder | ||
+ | # Разрешаем модули для корректной работы. | ||
+ | a2enmod cgi | ||
+ | a2enmod cgid | ||
+ | a2enmod rewrite | ||
+ | |||
+ | # Разрешаем сервису запускаться в принципе. При старте системы. | ||
+ | systemctl enable zoneminder | ||
+ | # Запускаем. | ||
+ | systemctl start zoneminder | ||
+ | |||
+ | # Добавляем в модуль [Date] временную зону (строка date.timezone = Europe/Moscow) в конфиг /etc/php/7.0/apache2/php.ini | ||
+ | sed -i 's|\[Date\]|\[Date\]\ndate.timezone = Europe/Moscow|' /etc/php/7.0/apache2/php.ini | ||
+ | |||
+ | # Согласно форуму - лучше всё-таки добавить пользователя от которого запускается веб-сервер (www-data) в группу в которой разрешено иметь доступ к вебкамерам (video). | ||
+ | # http://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html#socket-sendto-or-no-live-streaming | ||
+ | # https://forums.zoneminder.com/viewtopic.php?t=23361 | ||
+ | adduser www-data video | ||
+ | |||
+ | # Рестартим апач: | ||
+ | systemctl reload apache2 | ||
+ | |||
+ | # http://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html#socket-sendto-or-no-live-streaming | ||
+ | # http://www.cyberciti.biz/faq/mysql-command-to-show-list-of-databases-on-server/ | ||
+ | # http://www.shellhacks.com/ru/Kak-Vypolnit-Komandu-MySQL-iz-Linux-BASH-Shell | ||
+ | # http://stackoverflow.com/questions/28462376/updating-data-in-mysql-db-from-bash-script | ||
+ | # http://sitear.ru/material/mysql-primery | ||
+ | # "-e" - после неё идёт внутренняя кухня мускуля с собсно мускулевым синтаксисом. "use zm" - использовать БД zm. Остальные комманды будут выпоняться уже в ней. Типа как cd. Всё, что с апдейта и дальше - я получил через тыкание в phpmyadmin, только грохнул эти кавычки: `. | ||
+ | mysql --user=root --password="$COOKIES_PASSWORD" -e "use zm ; UPDATE Config SET Value = '/zm/cgi-bin/nph-zms' WHERE Config.Name = 'ZM_PATH_ZMS';" | ||
+ | |||
+ | # Чистим мусор. | ||
+ | aptitude clean | ||
+ | |||
+ | # Ребутим тачку, чтобы точняк-точняк всё применилось: | ||
+ | reboot | ||
+ | </code> | ||
- | ---- | ||
=== Для тех,кто при запуске сервера столкнулся с ошибкой чтения из /dev/video* === | === Для тех,кто при запуске сервера столкнулся с ошибкой чтения из /dev/video* === | ||
+ | |||
Советуется сделать следующее: | Советуется сделать следующее: | ||
+ | |||
==Установить параметры доступа к видеоустройству:== | ==Установить параметры доступа к видеоустройству:== | ||
+ | |||
Если Вы не получаете картинки с Вашего видеоустройства(или 'sources' высвечиваются красным, т.е. не работают),Вы можете установить параметры доступа к требуемому видеоустройству /dev/video* используя команду chmod :- | Если Вы не получаете картинки с Вашего видеоустройства(или 'sources' высвечиваются красным, т.е. не работают),Вы можете установить параметры доступа к требуемому видеоустройству /dev/video* используя команду chmod :- | ||
<code bash>chmod 666 /dev/video0 </code>(или /dev/video* ,где * -порядковый номер устройстваe, 0, 1, 2 и т.д.) | <code bash>chmod 666 /dev/video0 </code>(или /dev/video* ,где * -порядковый номер устройстваe, 0, 1, 2 и т.д.) | ||
Строка 108: | Строка 117: | ||
---- | ---- | ||
=== Теперь собственно настройки программы:=== | === Теперь собственно настройки программы:=== | ||
+ | |||
Первым делом в браузере снять запрет на блокировку всплывающих окон | Первым делом в браузере снять запрет на блокировку всплывающих окон | ||
http://your_ip/ | http://your_ip/ | ||
Строка 162: | Строка 172: | ||
и указать модуль ffmpeg (и путь до него, /usr/bin/ffmpeg)</note> | и указать модуль ffmpeg (и путь до него, /usr/bin/ffmpeg)</note> | ||
---- | ---- | ||
+ | |||
==== Источник и обсуждение на форуме ==== | ==== Источник и обсуждение на форуме ==== | ||
+ | |||
* [[http://forum.ubuntu.ru/index.php?topic=10034.0 | Ссылка на источник статьи и обсуждение]] | * [[http://forum.ubuntu.ru/index.php?topic=10034.0 | Ссылка на источник статьи и обсуждение]] | ||
+ | * http://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html#easy-way-ubuntu-16-04 | ||
{{tag>HOWTO ПО Администрирование ZoneMinder Server Linux_на_предприятии}} | {{tag>HOWTO ПО Администрирование ZoneMinder Server Linux_на_предприятии}} |