суббота, 25 апреля 2009 г.

Ubuntu 9.04 и ZoneMinder 1.24.x

Как показала практика, ZoneMinder оказался весьма хрупкой конструкцией, при любом обновлении выпадающей в незнанку и настырно требующий к себе внимания.
После обновления Ubuntu до следующего релиза видеонаблюдение не поднялось. Прога жаловалась на отсутсвие библотеки
libavcodec.so.52 - что вело нас к обновлению пакета ffmpeg.
Продолжительный секс с одной и той-же прогой, на меня лично, действует угнетающе. Поэтому кратко изложу терапевтические процедуры.


Обновим систему
sudo aptitude update
sudo aptitude full-upgrade
Или, как вариант:
sudo apt-get update
sudo apt-get dist-upgrade
Убедимся, что уже стоит все необходимое

sudo aptitude install build-essential linux-headers-`uname -r` automake perl libnet-ssleay-perl openssl libauthen-pam-perl \libpam-runtime libio-pty-perl libmd5-perl apache2 php5-mysql libapache2-mod-php5 mysql-server libmysqlclient15-dev \libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libjpeg62 libjpeg62-dev libmime-perl libstdc++6 libwww-perl \zlib1g zip unzip patch ntp openssl libpcre3-dev libssl-dev libjpeg-progs libcurl4-gnutls-dev munin munin-node libmime-lite-perl \netpbm libbz2-dev subversion sysvconfig checkinstall



Обновление ffmpeg

Очень разумная дока на эту тему установки и обновления ffmpeg расположена по адресу.
Удаляем пакет:

sudo apt-get purge ffmpeg
Скачиваем обновление:

cd ffmpeg
sudo make distclean
cd
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
Получена редакция (далее номер билда)
Конфигурим:

cd ffmpeg
./configure --enable-gpl --enable-shared --enable-pthreads
Компилируем (процесс долгий, наберитесь терпения):

make
Ставим пакет:

sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "5:0.svn`date +%Y%m%d`-12ubuntu3" --default
sudo make install-libs
Далее, рекоммендуют прописать ссылки:

cd /lib
sudo ln -s /usr/local/lib/libswscale.so.0
sudo ln -s /usr/local/lib/libavformat.so.52
sudo ln -s /usr/local/lib/libavcodec.so.52
sudo ln -s /usr/local/lib/libavutil.so.50
sudo ln -s /usr/local/lib/libavdevice.so.52

Теперь, открываем фаил ld.so.conf.d

cd /etc/ld.so.conf.d
sudo gedit /etc/ld.so.conf.d/custom-libs.conf
Если нет, добавляем строчку

/usr/local/lib
Сохраняемся и запускаем конфиги:

sudo ldconfig
Еще одна правка в файле /etc/bash.bashrc

cd /etc
sudo gedit bash.bashrc
Добавляем в конце файла:


LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
Проверяем, выделена ли физическая память, фаил /etc/sysctl.conf

sudo gedit sysctl.conf
добавляем строки:
kernel.shmall = 1536000
kernel.shmmax = 3221225472
Сохраняемся и перегружаем систему.


Обновление ZoneMinder

Если пакет уже стоял и вы хотите поставить все заново:

cd
cd zm
sudo make uninstall
или

sudo dpkg -r zoneminer
Внимание! При деинсталляции будут уничтожены все видео-данные.
Скачиваем пакет с офсайта и распаковываем в корневую директорию пользователя.

make distclean
cd
svn co http://svn.zoneminder.com/svn/zm/trunk zm
cd zm

Конфигурим пакет:

./configure --with-webdir=/var/www/zm --with-cgidir=/usr/lib/cgi-bin --with-mysql=/usr/include/mysql ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass --enable-debug=yes --with-webgroup=www-data --with-webuser=www-data ZM_SSL_LIB=openssl

Теперь можно компилировать

aclocal
autoconf
automake
make


Если zm у вас до этого работал, надо остановить его через web-интерфейс:

Если все ставиться впервые надо создать базу и пользователя в MySQL:

mysql -u root -p < db/zm_create.sql
mysql -u root -p

grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';
flush privileges;
quit


Инсталлируем пакет ZoneMinder:


sudo checkinstall --fstrans=no --install=yes --pkgname=zoneminer --pkgversion "1.24.svn`date +%Y%m%d`-12ubuntu3" --default
Запускаем сервисы:

sudo service mysql start
sudo service apache2 start

sudo zmpkg.pl start
Если при перезагрузке видеонаблюдение не стартует по умолчанию
редактируем /etc/init.d/zm

Далее по вкусу инсталлим всякие дополнения типа
cambozola.

Известные проблемы:

После апгрейда сильно повысилась загрузка процессора. Решение пришло неожиданно сменой пользователя в Linux. Что за паразитный процесс жрал ресурсы, не стал выяснять ибо неохота.


Ресурсы:

Ubuntu Installation Guides

Ubuntu 8.10 Vanilla 32bit (with FFmpeg SVN, ZoneMinder SVN, jscalendar-1.0, cambozola-0.7)

На последок картинки:



2 комментария:

  1. у меня при компили ZM вылетает ошибка mmap, ставлю конф конфига mmap=no и потом на make выдает ошибку что делать?

    ОтветитьУдалить
  2. Взять готовый пакет из репозитория.
    Описано выше в статье "Видеонаблюдение под Ubuntu для "чайников" (ZoneMinder)"

    ОтветитьУдалить