How To Install Zoneminder On Ubuntu

ZoneMinder is a free, open source Closed-circuit television (CCTV) software application developed for Linux. ZoneMinder is an integrated set of applications which provide a complete surveillance solution allowing capture, analysis, recording and monitoring of any CCTV or security cameras attached to a Linux based machine.Whether you need it for a business or in your own home, CCTV cameras can be an excellent deterrent for anything untoward.

Zoneminder Installation In Ubuntu Server 12.04 64&32 bits

Note: This has also been tested with 12.04 32 BIT.

Needed to requirement for zoneminder installation and configure

Install Basic Server, OpenSSH Server, and LAMP Server, IP supported Camera etc.

Now start to zoneminder installation and configuration:

At first open the Terminal (Ctrl+Alt+T). Then write the command after one by one.

sudo su
sudo apt-get update
sudo apt-get upgrade

Install OpenSSH and LAMP server:

Install the tasksel.

sudo apt-get install tasksel

Run the taskel and taskesl menu will be show

sudo tasksel

Then Select OpenSSH and LAMP Server.

During the installation you will be asked to insert the mysql root password. Enter the password twice.

Install PPA Repository for Zoneminder 1.28.0:

sudo apt-get install python-software-properties

Then we need to install the following applications and libraries:

sudo apt-get install ffmpeg libarchive-tar-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl
sudo apt-get install libjpeg62 libmime-perl libstdc++6 libwww-perl zlib1g
sudo add-apt-repository ppa:iconnor/zoneminder
sudo apt-get update

Now Install Zoneminder:

sudo apt-get install zoneminder

Install VLC multimedia software package:

sudo apt-get install libvlc-dev libvlccore-dev vlc

Add delay to allow MySQL to start before Zoneminder:

sudo mcedit /etc/init.d/zoneminder

Add above “zmfix -a” sleep 15.

Should look like:

 start() {
 sleep 15
 echo -n "Starting $prog: "

Two times hit Esc button and select save.

Now create Link Apache to Zoneminder:

sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

Restart Apache:

sudo /etc/init.d/apache2 force-reload

Add video user:

sudo adduser www-data video

Install Cambozola (needed if you use Internet Explorer web browser):

cd /usr/src
sudo wget
sudo tar -xzvf cambozola-latest.tar.gz

## Replace 935 with cambozola version downloaded ##
sudo cp cambozola-0.935/dist/cambozola.jar /usr/share/zoneminder

Optional Add SSL to Apache2

Create a self-signed certificate:

sudo make-ssl-cert generate-default-snakeoil --force-overwrite

Activate Apache SSL module:

sudo a2enmod ssl

Activate Apache default ssl virtual host:

sudo a2ensite default-ssl

Restart Apache:

sudo service apache2 restart

You should now be able to access the web server using http://servername.

NTP Daily Sync (optional)

sudo mcedit /etc/cron.daily/ntpdate

Copy the following into mcedit and add the line:


Enter Esc button two time and select save.

sudo chmod 755 /etc/cron.daily/ntpdate

Test or start Zoneminder in web browser

http://serverip/zm (Ex.

This is Zoneminder GUI interface.

Zoneminder GUI interface
Monitoring zoneminder with CCTV

Defining Monitors or Camera:

To use ZoneMinder properly you need to define at least one Monitor. Because A monitor is associated with a camera. So, next click ‘Add New Monitor’ to bring up the dialog. We shell see a bunch of things we have to fill in.

general option
Monitor Tab – General:

Name: The name of our monitor. We can use any name but the name did not support white space.
Source Type: Here many types of source option. IP camera support only Ffmpeg. So, must we are select Ffmpeg. But if camera capturing is noisy then select Libvlc. Otherwise must be select Ffmpeg.

Function: Here many types of function. This essentially defines what the monitor is doing:

None – The monitor is currently disabled.
Monitor – The monitor is only available for live streaming. Its only monitoring.
Modect – Modect means Motion Detection. Recorded video where motion is detected.
Record – The monitor will be continuously recorded.
Mocord – The monitor will be continuously recorded, with any motion being highlighted within those events.
Nodect – No Detection. Its currently unavailable.
Enable: The enable field indicate the monitor is active or passive mode.
Linked Monitor: Here show the whole active monitor.
Maximum FPS: This option permits you to limit the maximum capture rate to a specified value.

Monitor Tab-Source:

source tab
Source Path: At first used Real Time Streaming Protocol(rtsp) then Camera IP address. Like this ( rtsp://
Remote Method: Select RTP/Unicast. (RTP/Unicast)
Options: This field all time blank. Nothing to used.
Target Colorspace: Select 24 bit color.
Capture Width: 320 Pixel
Capture Height: 240 Pixel
Orientation: Select Normal.
Deinterlacing: Select Disabled. Then click Save button.
Monitor tab– Timestamps
Timestamps is always default. Nothing to change it.
Monitor tab – Buffers
Buffer is always default. Nothing to change it.
Monitor tab – Misc
Misc is always default. Nothing to change it.

Filters: Filter is a storage space of the application. Whole recorded event are stored in the filter.
Cycle: Cycle is showing option. When click cycle then show the only top camera display.
Montage: Montage is a showing option. When click montage then show the added all camera display.
Edit: Edit some monitoring setting.
Delete: Used this option for delete any Camera.

Live Demo

E-mail or SMS setting:

Now click Option button.


Email tab
First click “E-mail Tab
All check box are “true value
Enter Email address for ZM-Email address.
Enter Email address for Zm-Message address.
Enter Your SMS mobile number in ZM Message subject. Ex.00601116396839
The host address “localhost”
And next field Write “zm@localhost”
Then finally installation URL in the zoneminder. Ex.
Now set up basic Filter. Click on “Filter”


That’s it. Enjoy!!