Zoneminder(HOW TO)
About
ZoneMinder is intended for use in single or multi-camera video security applications, including commercial or home CCTV, theft prevention and child, family member or home monitoring and other domestic care scenarios such as nanny cam installations. It supports capture, analysis, recording, and monitoring of video data coming from one or more video or network cameras attached to a Linux system. ZoneMinder also support web and semi-automatic control of Pan/Tilt/Zoom cameras using a variety of protocols. It is suitable for use as a DIY home video security system and for commercial or professional video security and surveillance. It can also be integrated into a home automation system via X.10 or other protocols.
Installation
Requirements
Zoneminder is available from the Zoneminder repository. You need to configure the zmrepo as explained here.
Install Zoneminder from the zmrepo
yum install zoneminder --enablerepo=zmrepo
Zoneminder's configuration file is located at /etc/zm.conf. Not really known if it is required, but you can change the Apache user in the zm.conf file from apache:apache to www:www, and double check the database credentials in the same file with the ones you have used.
MySQL database
Zoneminder works 'best' with InnodeDB enabled. As root issue:
db configuration setprop mysqld InnoDB enabled expand-template /etc/my.cnf sv t /service/mysqld
Zoneminder uses MySQL for the storage of picture data, so we need to create a new database. As root issue:
mysql create database zm; grant all privileges on zm.* to zmuser identified by 'zmpass'; flush privileges; exit
Then we populate the new database:
mysql zm < /usr/share/zoneminder/db/zm_create.sql
The above bold credentials should be replaced by your own information.
Create custom templates
mkdir -p /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/ cp /etc/httpd/conf.d/zoneminder.conf /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder rm -f /etc/httpd/conf.d/zoneminder.conf sed -i "18i AddType application/x-httpd-php .php" /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder sed --in-place '/DELETE/d' /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf/98zoneminder expand-template /etc/httpd/conf/httpd.conf service httpd-e-smith restart
Start Zoneminder at boot
config set zoneminder service status enabled ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S98zoneminder
You can now start Zoneminder manually:
service zoneminder start
And access the Zoneminder portal at http://yourserver.com/zm, and login as admin admin
Acces Zoneminder via sub domain
Instead of accessing the Zoneminder portal at http://yourserver.com/zm, it is possible to change this to e.g. https://cctv.myserver.com. For this the easiest and comfortable way is to use the webapps-common contrib.
Install the webapps-common contrib according the how-to. Then (as per example for https://cctv.mydomain.com) issue the following as root:
db domains set cctv.mycompany.com domain Description "CCTV" Content Primary \ Nameservers internet TemplatePath WebAppVirtualHost \ DocumentRoot /usr/share/zoneminder/www RequireSSL enabled
Followed by:
signal-event domain-create cctv.mycompany.com signal-event webapps-update