Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > Linux Forums > Suggest HOWTO

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 17th February 2008, 04:17
oakleeman oakleeman is offline
Junior Member
Join Date: Oct 2006
Posts: 12
Thanks: 0
Thanked 2 Times in 2 Posts
Default Centos 5.x/ZM 1.23.1 Setup Guide

Below is a modified version of Patrick Harper's Snort install guide that I adapted to work with ZoneMinder. When all of the bugs have been completely worked out then I will make a custom install cd if there is enough demand for it.

At present I only have a Logitech Quickcam 4000 to use for testing and have confirmed that I am able to view/record video with this procedure.

Installing CentOS 5:

This is a minimal install of CentOS 5.X (or you can use RHEL 5.X with no changes or Fedora Core with few changes) this starts with a minimal install, and then uses yum to add the packages needed.

You will start at a grub screen that has boot:, hit enter. Then you can either choose to check your cds or skip. If you know they are good then skip it otherwise you might want to check them out.

Click next


U.S. English

Install Type:
Choose custom

Disk Partitioning:
Choose to automatically partition the hard drive.
Choose to remove all partitions from this hard drive (I am assuming that this not a dual boot box)
Make sure the review button is checked

When the warning dialog comes up, choose Yes.

Accept the default layout. Most of the disk will be /

Boot Loader:
Go with the default (if this is a dual boot system then go to google and search for info on how to install grub for dual booting)

Network Configuration:
Hit edit, Uncheck Configure with DHCP, Leave Activate on boot
Set a static IP and subnet mask for your network
Manually set the hostname
Set a gateway and the DNS address(s)

Additional Language:
Choose only US English

Time Setup:
Choose the closest city within your time zone (for central choose Chicago)

Root Password:
Set a strong root password here (a strong password has at least 8 characters with a combination of upper case, lower case, numbers and symbols. It should also not be, or resemble, anything that might be found in a dictionary of any language)

Uncheck everything, select customize packages now, and uncheck everything but BASE to get a minimal install

After the packages install:

Reboot hit the reboot button

After the reboot:

Run the Firewall Configuration tool:
Choose enabled
Select remote login (SSH) and Web Server (HHTP, HTTPS)
For SELinux, move to disabled.

You are now in run level 3 command line only

Login as root and setup a user account for yourself

User Account:

Add a user account for yourself here; make sure to give it a strong password

The root account should not be used for everyday use, if you need access to root functions then you can su - or sudo for root access. (For help with sudo visit google.com)

groupadd <groupname>
useradd g <groupname> <username>
passwd <username>
You will then be asked to enter and then confirm a password. You can now login as a normal user and, if necessary, if you want root privileges, use su .

Disable unneeded services:
Disable apmd, cups, netfs, nfslock, portmap by typing (as root): Chkconfig <service> off

You will do this for each service to be terminated.

Install needed packages
For some packages we will be installing from the RPMForge repository, they also have a lot of other software. Download the RPM for your distribution from here:

http://dag.wieers.com/rpm/FAQ.php#B and use rpm Uvh to install it so you update the existing RPM for yum

Then use this line to install all the needed software:

yum install mysql mysql-bench mysql-server mysql-devel mysqlclient10 php php-gd php-mysql httpd gcc pcre-devel gd mod_ssl glib2-devel gcc-c++ ntp gnutls-devel libjpeg-devel ffmpeg perl-Archive-Tar perl-MIME-Lite perl-MIME-tools perl-Date-Manip perl-Time-HiRes perl-LWP-UserAgent-Determined perl-PHP-Serialization perl-Device-SerialPort perl-Archive-Zip perl-Module-Load
Hit y to accept this and its dependencies

Update your system
Type yum -y update and it will check what needs updated and install it.

(Type chkconfig yum-updatresd on and service yum start to turn on nightly updates, this is an optional step)

Reboot in order to boot to the newly downloaded kernel before installing ZoneMinder.

You are now ready to start installing ZoneMinder. You can either do this from the command line, or SSH into the server from another box. Either will work fine. For the novice it might be easier to do this from SSH so they can cut and paste the commands from this document into the session, instead of typing some of the long strings.

Preparing for the install:

Again, if you are not logged in as root, then you will need to su to root ("su -" will load the environmental variables of root. Use that when you su.). Ensure that you have downloaded all of the installation files before you start the install, it will go smoother, trust me. Go to your download directory and start with the following procedures.

Turn on and set to start the services you will need

chkconfig httpd on
chkconfig mysqld on
chkconfig ntpd on
service httpd start
service mysqld start
service ntpd start
Download all the needed files:

Remember, you can always check where you are currently by typing pwd at the command line. Note: If you are not logged in as root, then you will need to execute su (su gives you the super user or root account rights, the loads the environmental variables of the root account for you) and then enter the root password.


If you want to use a Windows box and need an SSH client, then you can go to the PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/ home page and download a free one. This is for windows machines to SSH to Linux/UNIX box‟s OR http://ftp.ssh.com/pub/ssh/SSHSecure...ient-3.2.9.exe for a client that can both SSH
and start an SCP connection to the box you have SSH‟d to from within the session. This is free for non-commercial use and pretty nice.

Place all the downloaded files into a single directory for easy access and consolidation. This directory will not be needed when you are finished with the installation and may be deleted at that time. Create a directory under /root called zminstall. From the command line type:

cd /root
mkdir zminstall
cd zminstall
Use your wget from the command line or an SSH terminal window from inside of /root/zminstall so all your install files are in one place unless otherwise directed to.

Installing and setting up ZoneMinder:

wget http://www2.zoneminder.com/downloads/ZoneMinder-1.23.1.tar.gz
tar -xvzf ZoneMinder-1.23.1.tar.gz
cd ZoneMinder-1.23.1

./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin ZM_DB_USER=your_zm_user ZM_DB_PASS=your_zm_password
make install
Setting up the database in MySQL:

I will put a line with a > in front of it so you will see what the output should be. (Note: In MySQL, a semi-colon ; character is mandatory at the end of each input line) password‟ is whatever password you want to give it, just remember what you assign.

For the zm user use what you put in the ./configure step in the section above)

mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_root_password');
>Query OK, 0 rows affected (0.00 sec)
mysql> create database zm;
>Query OK, 1 row affected (0.01 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on zm.* to your_zm_user@localhost;
>Query OK, 0 rows affected (0.02 sec)
mysql> SET PASSWORD FOR your_zm_user@localhost=PASSWORD('your_zm_password_from_above');
>Query OK, 0 rows affected (0.25 sec)
mysql> exit

Execute the following commands to create the tables:

mysql -u root -p < /root/zminstall/ZoneMinder-1.23.1/db/zm_create.sql zm
Enter password: the mysql root password

Now you need to check and make sure that the zm DB was created correctly:

mysql -p
>Enter password:
(You should see the following)

| Database
| information_schema 
| mysql              
| test               
| zm                 
4 rows in set (0.00 sec)

mysql> use zm
>Database changed
| Tables_in_zm
| Config         
| ControlPresets  
| Controls       
| Devices        
| Events          
| Filters        
| Frames          
| Groups          
| MonitorPresets 
| Monitors        
| States          
| Stats          
| TriggersX10    
| Users          
| ZonePresets     
| Zones 
16 rows in set (0.00 sec)
Make Zoneminder start at boot:
cp /root/zminstall/ZoneMinder-1.23.1/scripts/zm /etc/init.d/
chmod +x /etc/init.d/zm
chkconfig zm on
Start the Zoneminder service:
service zm start
From another computer open up a browser and browse to http://your.ip.address/zm and begin configuring your camera equipment.

Items remaining:
ZM errors when compiling with ffmpeg enabled
Add Cambozola
Reply With Quote
The Following User Says Thank You to oakleeman For This Useful Post:
falko (18th February 2008)
Sponsored Links


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem with Starting FreeNX. Followed Guide. Centos. Dont think GNOME is running. crewxp Server Operation 5 21st February 2008 03:07
CentOS 5.1 Server Setup: LAMP, Email, DNS, FTP, ISPConfig aaa999 Server Operation 8 20th December 2007 16:30
64bit ISPConfig / Perfect Setup CentOS 5 wpwood3 General 5 3rd December 2007 02:11
Perfect Setup Centos 5.0 + roundcubemail tieu.keo HOWTO-Related Questions 6 12th November 2007 23:09
godaddy and centos 4.3 setup with single ip on dsl using ispconfig sethtat HOWTO-Related Questions 3 21st June 2006 01:34

All times are GMT +2. The time now is 16:43.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.