www.lissyara.su
—> www.lissyara.su
—> Zoneminder
Настройка системы видеонаблюдения Zoneminder на FreeBSD 7.0
Имеем
media# uname -vFreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
| Чуть позже ставил на 7.1 установка аналогичная
Ставим апач
media# cd /usr/ports/www/apache22
| оставляю все без изменеий
media# make showconfig
APR_FROM_PORTS=off "Use devel/apr as APR (beware!)"
THREADS=off "Enable threads support in APR"
MYSQL=off "Enable MySQL support for apr-dbd"
PGSQL=off "Enable PostgreSQL support for apr-dbd"
SQLITE=off "Enable SQLite support for apr-dbd"
IPV6=off "Enable IPv6 support"
BDB=off "Enable BerkeleyDB dbm"
AUTH_BASIC=on "Enable mod_auth_basic"
AUTH_DIGEST=on "Enable mod_auth_digest"
AUTHN_FILE=on "Enable mod_authn_file"
AUTHN_DBD=off "Enable mod_authn_dbd"
AUTHN_DBM=on "Enable mod_authn_dbm"
AUTHN_ANON=on "Enable mod_authn_anon"
AUTHN_DEFAULT=on "Enable mod_authn_default"
AUTHN_ALIAS=on "Enable mod_authn_alias"
AUTHZ_HOST=on "Enable mod_authz_host"
AUTHZ_GROUPFILE=on "Enable mod_authz_groupfile"
AUTHZ_USER=on "Enable mod_authz_user"
AUTHZ_DBM=on "Enable mod_authz_dbm"
AUTHZ_OWNER=on "Enable mod_authz_owner"
AUTHZ_DEFAULT=on "Enable mod_authz_default"
CACHE=on "Enable mod_cache"
DISK_CACHE=on "Enable mod_disk_cache"
FILE_CACHE=on "Enable mod_file_cache"
MEM_CACHE=off "Enable mod_mem_cache"
DAV=on "Enable mod_dav"
DAV_FS=on "Enable mod_dav_fs"
BUCKETEER=off "Enable mod_bucketeer"
CASE_FILTER=off "Enable mod_case_filter"
CASE_FILTER_IN=off "Enable mod_case_filter_in"
EXT_FILTER=off "Enable mod_ext_filter"
LOG_FORENSIC=off "Enable mod_log_forensic"
OPTIONAL_HOOK_EXPORT=off "Enable mod_optional_hook_export"
OPTIONAL_HOOK_IMPORT=off "Enable mod_optional_hook_import"
OPTIONAL_FN_IMPORT=off "Enable mod_optional_fn_import"
OPTIONAL_FN_EXPORT=off "Enable mod_optional_fn_export"
LDAP=off "Enable mod_ldap"
AUTHNZ_LDAP=off "Enable mod_authnz_ldap"
ACTIONS=on "Enable mod_actions"
ALIAS=on "Enable mod_alias"
ASIS=on "Enable mod_asis"
AUTOINDEX=on "Enable mod_autoindex"
CERN_META=on "Enable mod_cern_meta"
CGI=on "Enable mod_cgi"
CHARSET_LITE=on "Enable mod_charset_lite"
DBD=off "Enable mod_dbd"
DEFLATE=on "Enable mod_deflate"
DIR=on "Enable mod_dir"
DUMPIO=on "Enable mod_dumpio"
ENV=on "Enable mod_env"
EXPIRES=on "Enable mod_expires"
HEADERS=on "Enable mod_headers"
IMAGEMAP=on "Enable mod_imagemap"
INCLUDE=on "Enable mod_include"
INFO=on "Enable mod_info"
LOG_CONFIG=on "Enable mod_log_config"
LOGIO=on "Enable mod_logio"
MIME=on "Enable mod_mime"
MIME_MAGIC=on "Enable mod_mime_magic"
NEGOTIATION=on "Enable mod_negotiation"
REWRITE=on "Enable mod_rewrite"
SETENVIF=on "Enable mod_setenvif"
SPELING=on "Enable mod_speling"
STATUS=on "Enable mod_status"
UNIQUE_ID=on "Enable mod_unique_id"
USERDIR=on "Enable mod_userdir"
USERTRACK=on "Enable mod_usertrack"
VHOST_ALIAS=on "Enable mod_vhost_alias"
FILTER=on "Enable mod_filter"
VERSION=on "Enable mod_version"
PROXY=off "Enable mod_proxy"
PROXY_CONNECT=off "Enable mod_proxy_connect"
PROXY_FTP=off "Enable mod_proxy_ftp"
PROXY_HTTP=off "Enable mod_proxy_http"
PROXY_AJP=off "Enable mod_proxy_ajp"
PROXY_BALANCER=off "Enable mod_proxy_balancer"
SSL=on "Enable mod_ssl"
SUEXEC=off "Enable mod_suexec"
CGID=off "Enable mod_cgid"
===> Use 'make config' to modify these settings
media# make install clean
| Ставим php5
media# cd /usr/ports/lang/php5
| Я выбрал такой конфиг.
media# make showconfig
===> The following configuration options are available for php5-5.2.8:
CLI=on "Build CLI version"
CGI=on "Build CGI version"
APACHE=on "Build Apache module"
DEBUG=off "Enable debug"
SUHOSIN=on "Enable Suhosin protection system (not for jails)"
MULTIBYTE=off "Enable zend multibyte support"
IPV6=on "Enable ipv6 support"
MAILHEAD=off "Enable mail header patch"
REDIRECT=off "Enable force-cgi-redirect support (CGI only)"
DISCARD=off "Enable discard-path support (CGI only)"
FASTCGI=on "Enable fastcgi support (CGI only)"
PATHINFO=on "Enable path-info-check support (CGI only)"
| в /usr/local/etc/apache22/httpd.conf добавляем строки
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
| Ставим mysql
media# cd /usr/ports/databases/mysql51-server
media# make install clean
| Ставим php5-extentions
media# cd /usr/ports/lang/php5-extensionsmedia
# make install clean
| у меня такой конфиг
media# make showconfig
===> The following configuration options are available for php5-extensions-1.2:
BCMATH=off "bc style precision math functions"
BZ2=off "bzip2 library support"
CALENDAR=off "calendar conversion support"
CTYPE=on "ctype functions"
CURL=off "CURL support"
DBA=off "dba support"
DBASE=off "dBase library support"
DOM=on "DOM support"
EXIF=off "EXIF support"
FILEINFO=off "fileinfo support"
FILTER=on "input filter support"
FRIBIDI=off "FriBidi support"
FTP=off "FTP support"
GD=off "GD library support"
GETTEXT=off "gettext library support"
GMP=off "GNU MP support"
HASH=on "HASH Message Digest Framework"
ICONV=on "iconv support"
IMAP=off "IMAP support"
INTERBASE=off "Interbase 6 database support (Firebird)"
JSON=on "JavaScript Object Serialization support"
LDAP=off "OpenLDAP support"
MBSTRING=off "multibyte string support"
MCRYPT=on "Encryption support"
MHASH=on "Crypto-hashing support"
MING=off "ming shockwave flash support"
MSSQL=off "MS-SQL database support"
MYSQL=on "MySQL database support"
MYSQLI=off "MySQLi database support"
NCURSES=off "ncurses support (CLI only)"
ODBC=off "unixODBC support"
OPENSSL=off "OpenSSL support"
PCNTL=off "pcntl support (CLI only)"
PDF=off "PDFlib support (implies GD)"
PDO=on "PHP Data Objects Interface (PDO)"
PDO_SQLITE=on "PDO sqlite driver"
PGSQL=off "PostgreSQL database support"
POSIX=on "POSIX-like functions"
PSPELL=off "pspell support"
READLINE=off "readline support (CLI only)"
RECODE=off "recode support"
SESSION=on "session support"
SHMOP=off "shmop support"
SIMPLEXML=on "simplexml support"
SNMP=off "SNMP support"
SOAP=off "SOAP support"
SOCKETS=off "sockets support"
SPL=on "Standard PHP Library"
SQLITE=on "sqlite support"
SYBASE_CT=off "Sybase database support"
SYSVMSG=off "System V message support"
SYSVSEM=off "System V semaphore support"
SYSVSHM=off "System V shared memory support"
TIDY=off "TIDY support"
TOKENIZER=on "tokenizer support"
WDDX=off "WDDX support (implies XML)"
XML=on "XML support"
XMLREADER=on "XMLReader support"
XMLRPC=off "XMLRPC-EPI support"
XMLWRITER=on "XMLWriter support"
XSL=off "XSL support (Implies DOM)"
YAZ=off "YAZ support (ANSI/NISO Z39.50)"
ZIP=on "ZIP support"
ZLIB=off "ZLIB support"
===> Use 'make config' to modify these settings
| Создаем файл /usr/local/www/apache22/data/info.php такого содержания.
cat /usr/local/www/apache22/data/info.php
<?
phpinfo();
?>
| добавляем в /etc/rc.conf
apache22_enable="YES"
mysql_enable="YES"
| Стартуем апач
/usr/local/etc/rc.d/apache22 start
| проверяем работу апача с PHP. Входим на страницу http://IP-сервера/info.php. Должны увидеть страницу с информацией об установленом PHP.
Скачиваем Zoneminder, распаковываем и переносим в /usr/ports/multimedia/
media# cd /tmp/media
# fetch http://matrix.gatewaynet.com/panix/zoneminder.tar.gzzoneminder.tar.gz 100% of 21 kB 41 kBps
media# tar zxvf zoneminder.tar.gzx
zoneminder/x
zoneminder/files/x
zoneminder/files/patch-configurex
zoneminder/files/zm_fbsd_camera.cppx
zoneminder/files/videodev.h
...
media# mv zoneminder /usr/ports/multimedia/
media# cd /usr/ports/multimedia/zoneminder/
| Правим Makefile
т.к. стоит Апач2 исправим mod_perl на mod_perl2, mysql50-server на mysql51-server, p5-DBD-mysql50 на p5-DBD-mysql51. Правим строку WEBBASE= ${LOCALBASE}/www/apache22
выбрал такой конфиг для ffmpeg (снял галки на счет аудиокодеков)
make showconfig
===> The following configuration options are available for ffmpeg-2008.07.27_7:
AMR_NB=off "AMR narrowband encoder"
AMR_WB=off "AMR wideband encoder"
FAAC=off "FAAC mp4/aac audio encoder"
FAAD=off "FAAD mp4/aac audio decoder"
GSM=off "gsm audio codec"
IPV6=off "IPV6 network support"
LAME=off "lame MP3 codec"
LIBA52=on "liba52 support"
OPTIMIZED_CFLAGS=off "Additional optimizations"
SDL=off "SDL support (build ffplay)"
THEORA=on "libtheora support (implies OGG)"
VORBIS=on "libvorbisenc support (implies OGG)"
X264=on "X.264 codec"
XVID=off "XVID codec"
===> Use 'make config' to modify these settings
| после установки ffmpeg вывалилась ошибка
aclocal-1.10: not found
WARNING: `aclocal-1.10' is missing on your system. You should only need it if
you modified `acinclude.m4' or `configure.in'. You might want
to install the `Automake' and `Perl' packages. Grab them from
any GNU archive site.
cd . && /bin/sh /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/missing --run automake-1.10 --gnu
automake-1.10: not found
WARNING: `automake-1.10' is missing on your system.
You should only need it if
you modified `Makefile.am', `acinclude.m4' or `configure.in'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.
cd . && /bin/sh /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/missing --run autoconf
aclocal.m4:14: error: this file was generated for autoconf 2.61.
You have another version of autoconf. If you want to use that,
you should regenerate the build system entirely.
aclocal.m4:14: the top level
autom4te-2.62: /usr/local/bin/gm4 failed with exit status: 63
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3.
*** Error code 1
Stop in /usr/ports/multimedia/zoneminder.
| Проблема в том что порт был построен с использованием autoconf 2.61 и автор порта не хочет его переделывать. Предложили следующее решение. Скачать файлы aclocal.m4 и acinclude.m4 в каталог /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/src, добавить в Makefile строчки
MAKE_ARGS= ACLOCAL="${TRUE}" AUTOCONF="${TRUE}" AUTOMAKE="${TRUE}"
USE_AUTOTOOLS= autoconf:262:env
USE_AUTOTOOLS= aclocal:110 /usr/local/bin/autoheader:262
|
и заново
опять ошибка
zm_mpeg.cpp: In destructor 'VideoStream::~VideoStream()':
zm_mpeg.cpp:281: error: cannot convert 'ByteIOContext**' to 'ByteIOContext*' for argument '1' to 'int url_fclose(ByteIOContext*)'
*** Error code 1
| в /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/src.zm_mpeg.cpp на 281 и 283 строках вносим изменения:
за место url_fclose(&ofc->pb);
url_fclose(ofc->pb);
| media# make install
В этот раз у меня все прошло без ошибок.
добавляем в /etc/rc.conf zm_enable="YES".
Стартуем mysql, входим и создаем БД.
media# /usr/local/etc/rc.d/mysql-server start
Starting mysql.
media# mysql -h localhost -u root -p
mysql: Команда не найдена.
media# rehash
media# mysql -h localhost -u root -p
Enter password:
mysql> source /usr/ports/multimedia/zoneminder/work/ZoneMinder-1.23.3/db/zm_create.sql;
mysql> grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass'; flush privileges;
mysql> quit
media# ee /usr/local/etc/apache22/httpd.conf
добавляем
<VirtualHost *:80>
DocumentRoot /usr/local/www/apache22/data/zm
DirectoryIndex index.php
</VirtualHost>
| перезапускаем апач и пробуем войти http://ip-сервера
free# /usr/local/etc/rc.d/apache22 restart
| Теперь нужно пересобрать ядро с параметрами (эти параметры работали у меня с 3 камерами axis206)
options SHMMAXPGS=65536
options SHMMNI=384
options SHMSEG=256
у меня после перезагрузки ZM не стартовал, т.к. не видел базу, пришлось в раскомментировать /usr/local/etc/rc.d/zm sleep 10
несколько правок.
Это чтобы работал экпорт видео.
media# cd /usr/local/bin/
media# fetch http://www.hamsterleymill.co.uk/zmvideo.patchzmvideo.patch 100% of 846 B 4052 kBps
media# patch < zmvideo.patch
Hmm... Looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** ./zmvideo.pl Mon Dec 29 02:01:13 2008
|--- ./zmvideo2.pl Mon Dec 29 01:53:19 2008
--------------------------
Patching file ./zmvideo.pl using Plan A...
Hunk #1 succeeded at 319.done
media#
| Это чтоб показывалось видео а не картинки в браузере.
media# pwd/rootmedia# fetch http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gzcambozola-latest.tar.gz 100% of 144 kB 25 kBps
media# tar zxvf cambozola-latest.tar.gzx
cambozola-0.70/x
cambozola-0.70/bldsrc/x
cambozola-0.70/bldsrc/com/x
cambozola-0.70/bldsrc/com/charliemouse/x
cambozola-0.70/bldsrc/com/charliemouse/embed/
...
media# cp cambozola-0.70/dist/cambozola.jar /usr/local/www/apache22/data/zm/
|
|