HOWTO - ZoneMinder 1.22.1 and CentOS 4.3 x86_64

Add any particular hints or tricks you have found to help with your ZoneMinder experience.
Post Reply
MILxDOT
Posts: 64
Joined: Wed Mar 29, 2006 5:12 am

HOWTO - ZoneMinder 1.22.1 and CentOS 4.3 x86_64

Post by MILxDOT »

Enterprise Surveillance Server Build version 1.0 - by Mike Thostenson

I haven't actually tested this on a clean install...but I did take notes as I built my production box.

I will keep the tar bundle download live unless the bandwidth usage gets crazy.

I am guessing that everyone is ok with me hosting a single file download of zoneminder and all of it's components. If

not...just let me know and I will remove it immediately.

Purpose:
This document details the complete installation and configuration of CentOS 4.3 x86_64, ZoneMinder 1.22.1, dependent

packages, and the Cambozola java based viewer.

Credits & Thanks:
Phil - Zoneminder
Andy Whitlock - Cambozola
Dag Wieers - Dependent RPMs
rpmfind.net - Dependent RPMs

Assumptions:
The instructions below were written with the assumption that you are an intermediate linux user who is familiar with the

linux file system structure, securing your network connectivity with a seperate firewall or iptables, and can edit files

using either vi or nano (pico). The other assumption is that you are using hardware that is x86_64 compliant (either

AMD64 or Intel EM64T). This documentation also assumes that you are using an mjpeg or mpeg4 compliant camera. I have not

included X10::Home support mainly because I couldn't find a CentOS rpm package for it.

1. Install CentOS 4.3 x86_64
1.1 Partitioning - Setup a 10GB partition dedicated to the operating system and zoneminder database. Create a second

partition that utilizes the rest of your drive. We will later mount this as /var/www/html/events. The reason why we

create this second partition is that we will be installing a large amount of data to it, filling it up on a daily basis.

Even though linux filesystems are pretty good, we need to make it easy to unmount our zoneminder events partition and

perform fsck maintenance if needed.
1.2 Packages - During the install you will want to uncheck every option except for the single "Software Developement"

option. All other required packages will be in the form of a Prowess Networks tar bundle.

2. Kernel configuration
2.1 If you are uncomfortable compiling a custom linux kernel skip this step. Everyone else will probably want to compile

a kernel that includes only the options specific to their hardware. A custom kernel will give you a slight performance

advantage, but for some, not enough to justify the time required to perform the task.

3. Disable any unused services
3.1 Run setup ###The RedHat Text Mode Setup Utility
3.2 Insure that only the following services are set to startup automatically
acpid
autofs
crond
irqbalance (if you have dual or quad processors)
network
sshd
syslog

4. Add CentOS shell users
4.1 useradd username ###Adds the user
4.2 passwd username ###Sets the password

5. Lock Down SSH
5.1 vi /etc/ssh/sshd_config, change #PermitRootLogin yes to PermitRootLogin no
5.2 /etc/rc.d/init.d/sshd restart ###Restarts sshd

6. Network Security Check
6.1 Just a reminder to insure that you have setup iptables to block ports that do not need to be open or you have some

sort of firewall appliance in place.

7. Download the tarball of rpms, zoneminder, cambozola
wget http://www.prowessnetworks.com/prowess- ... _64.tar.gz

8. Unpack the tarball
8.1 tar -xzvf prowess-zm-centos43-x86_64.tar.gz

9. Install all dependent rpm packages
9.1 cd prowess-zm-centos43-x86_64/rpms
9.2 rpm -Uvh * ###This will install all dependent rpms if for some reason it complains, resolve you dependencies

10. Update your CentOS installation
10.1 yum -y update ###This will update your CentOS installation

11. Build and install zoneminder
11.1 cd prowess-zm-centos43-x86_64/
11.2 tar -xzvf ZoneMinder-1.22.1.tar.gz
11.3 cd ZoneMinder-1.22.1
11.4 ./configure --with-ffmpeg --with-webdir=/var/www/html --with-cgidir=/var/www/cgi-bin --with-webgroup=apache

--with-webuser=apache --with-mysql=/usr --with-libarch=lib64 --disable-crashtrace
11.5 make
11.6 make install
11.7 cp scripts/zm /etc/rc.d/init.d/
chmod 755 /etc/rc.d/init.d/zm ###changes permission to executable
11.8 Edit /etc/rc.d/rc.local and add the following:

#Mount the video partition
/bin/mount /dev/sda3 /var/www/html/events

#Change permissions on the events folder or partition
/bin/chown apache:apache /var/www/html/events

#Start ZoneMinder
/etc/rc.d/init.d/zm start

#Set current time
/usr/sbin/ntpdate ns.nts.umn.edu nss.nts.umn.edu >/dev/null 2>&1
11.9 Initialize the zm database
cd db/
/etc/rc.d/init.d/mysqld start ###starts mysql since we haven't rebooted yet
mysql ###gets you into the mysql client
create database zm; ###creates the database
use zm; ###changes to the zm database
GRANT ALL PRIVILEGES ON zm.* TO yourusername@localhost IDENTIFIED BY 'yourpassword';
###You may also want to give direct mysql access to your primary surveillance pc to use the Vision Viewer
GRANT ALL PRIVILEGES ON zm.* TO yourusername@youripaddress IDENTIFIED BY 'yourpassword';
mysql zm < zm_create.sql ###imports the generic zm database tables, etc
11.10 Edit /usr/local/etc/zm.conf and edit the following lines for your user and pass
# ZoneMinder database user
ZM_DB_USER=yourusername

# ZoneMinder database password
ZM_DB_PASS=yourpassword
11.11 Set other services to start automatically
setup ###The Redhat Setup Utility
put a * next to the following services:
httpd
mysqld

12. Set your java and ant paths for cambozola
12.1 Edit /etc/profile and find the following line:
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
Add the following
export ANT_HOME=/usr/share/ant
export JAVA_HOME=/usr/share/java
export PATH=${PATH}:${ANT_HOME}/bin
12.2 logout and then back in to apply your new java and ant paths

13. Copy cambozola to your web directory
13.1 cp cambozola-0.68/dist/cambozola* /var/www/html/

14. Reboot the server and direct your web browser to the ip address of your server
ZoneMinder should be running and you should be able to set your options and monitors.
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

Excellent and very helpful. Thanks Mike.
Phil
ynn
Posts: 152
Joined: Fri Mar 17, 2006 2:30 am

question

Post by ynn »

I did rpm -Uvh *
and got these messages:
rpm -Uvh *
warning: a52dec-0.7.4-8.el4.rf.x86_64.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
warning: alsa-lib-1.0.6-5.RHEL4.x86_64.rpm: V3 DSA signature: NOKEY, key ID 443e1821
warning: ant-1.6.2-3jpp_4rh.noarch.rpm: V3 DSA signature: NOKEY, key ID db42a60eant-1.6.2-3jpp_4rh.noarch.rpm.html: not an rpm package (or package manifest):
[
do you know what should i fo?

thanks.
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

Try:
rpm -Uvh --nosignature *

Regards,
Corey
ynn
Posts: 152
Joined: Fri Mar 17, 2006 2:30 am

jaxp_parser_impl

Post by ynn »

everytime i run this xml-commons-resolver-1.1-1jpp_erh.noarch.rpm
jaxp_parser_impl is needed by xml-commons-resolver

and then i run xerces-j2-2.6.2-4jpp_1rh.noarch.rpm
xml-commons-resolver is needed by xercess

i search through google, and i think it's like chicken and egg, jaxp_parser_impl is insider the xerces, and if i run xerces it asked for xml-commons-resolver, if i run xml-commons-resolver it's ask for jaxp_parser_impl.

anyone can help?
thanks.
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

If you put all three rpms on the same command does it not work then? You don't have to do them one at a time.
Phil
ynn
Posts: 152
Joined: Fri Mar 17, 2006 2:30 am

Post by ynn »

you are right!!! :) it worked thanks alot
Geoffroi
Posts: 1
Joined: Thu Aug 03, 2006 3:07 pm
Location: Rouen FR

the same for an Athlon x86_32

Post by Geoffroi »

Hi, very great thanks for this poste Mike.

I never had making RPMs and I need to install ZM on an Athlon XP 32bits, I have reading your post with interesting and I will know if it's possible to make the same for an other arch? (a kind of howto in order to howto...)

Regards
Geoffroi Gouesmel
Post Reply