среда, 13 августа 2014 г.

ZoneMinder 1.27, CentOS 6.5, война за работоспособность

1) Установка CentOS 6.5, обновление, отключение SELinux, iptables и прочего не нужного.
2) Подключение sourceforge, epel, rpmfusion репозитариев.
3) Увеличение kernel.shmax до 256МБ (на время тестирования, возможно понадобится еще больше).
4) Установка пакетов ПО:
yum install gcc gcc-c++ wget mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring bison bison-devel httpd make ncurses ncurses-devel libtermcap-devel sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel libv4l-devel ffmpeg ffmpeg-devel zlib zlib-devel openssl openssl-devel gnutls-devel php-process perl-Time-HiRes perl-CPAN pcre-devel libjpeg-devel perl-Date-Manip perl-libwww-perl perl-Module-Load perl-Net-SFTP-Foreign perl-Archive-Tar perl-Archive-Zip perl-Expect perl-MIME-Lite perl-Device-SerialPort perl-Sys-Mmap perl-MIME-tools bzip2-devel phpMyAdmin zip
4.1) Костыли из-за ffmpeg, установленного из fusion:
 ln -s /usr/include/ffmpeg/libavcodec /usr/include/libavcodec
 ln -s /usr/include/ffmpeg/libavdevice /usr/include/libavdevice
 ln -s /usr/include/ffmpeg/libavfilter /usr/include/libavfilter
 ln -s /usr/include/ffmpeg/libavformat /usr/include/libavformat
 ln -s /usr/include/ffmpeg/libavutil /usr/include/libavutil
 ln -s /usr/include/ffmpeg/libpostproc /usr/include/libpostproc
 ln -s /usr/include/ffmpeg/libswresample /usr/include/libswresample
 ln -s /usr/include/ffmpeg/libswscale /usr/include/libswscale

5) Скачать архив с исходными текстами ПО, распаковать, куда будет удобно, зайти в каталог с распакованными исходниками:
bootstrap.sh

CXXFLAGS=-D__STDC_CONSTANT_MACROS ./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-webuser=apache --with-webgroup=apache ZM_DB_HOST=localhost ZM_DB_NAME=zm ZM_DB_USER=YOURZMUSER ZM_DB_PASS=YOURZMPASSWORD ZM_SSL_LIB=openssl --with-extralibs="-L/usr/lib64 -L/usr/lib64/mysql -L/usr/local/lib" --with-libarch=lib64 --with-ffmpeg --enable-mmap=yes

make
service mysqld start
mysql_secure_installation
mysql -u root -p

create database zm;
CREATE USER 'YOURZMUSER'@'localhost' IDENTIFIED BY 'YOURZMPASSWORD';
grant CREATE, INSERT, SELECT, DELETE, UPDATE on zm.* to YOURZMUSER@localhost;
FLUSH PRIVILEGES;
exit

make install

chkconfig mysqld on
chkconfig httpd on

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

cp ./scripts/zm /etc/init.d/
chmod +x /etc/init.d/zm
chkconfig zm on

cd /var/www/html/zm
wget http://www.zoneminder.com/sites/zoneminder.com/downloads/cambozola.jar
chown apache:apache /var/www/html/zm/cambozola.jar

nano /etc/php.ini
short_open_tag = On

service httpd restart
service zm start
 6) Проверить доступность web-интерфейса zm.