ZoneMinder is a free, open source Closed-circuit television software application developed for Linux which supports IP, USB and Analog cameras.
Go to file
Kyle Johnson 5ead2a4394 Merge pull request #207 from knnniggett/prev_btn
Change Prev Button functionality.  Fixes #32.
2013-10-16 06:40:20 -07:00
cmake/Modules Add cmake to zoneminder 2013-09-28 12:59:50 +03:00
db Create pkgdatadir in make 2013-10-07 08:28:19 -05:00
distros Update README.Fedora 2013-10-14 06:47:29 -05:00
doc-pak Migrate svn to git 2013-03-17 00:45:21 +01:00
misc Add cmake to zoneminder 2013-09-28 12:59:50 +03:00
scripts Point zmupdate to the github pages site (non-https) for version numbers 2013-10-07 10:11:09 -04:00
src When loading a new event, always set the current frame id to the first frame rather than the last 2013-10-09 07:32:27 -05:00
umutils Migrate svn to git 2013-03-17 00:45:21 +01:00
web Merge pull request #211 from kylejohnson/master 2013-10-15 13:23:57 -07:00
.gitignore clean out autogenerated files 2013-09-12 14:43:57 -04:00
.travis.yml Attempt three at zm database stuff on travis 2013-10-01 15:39:36 +03:00
AUTHORS Updated AUTHORS to reflect recent changes to the project 2013-09-09 10:06:36 -04:00
BUGS Point to the GitHub issues page for the list of current bugs 2013-09-09 09:45:29 -04:00
CMakeLists.txt Fix cmake not enabling mmap in zm perl modules correctly this time 2013-10-09 07:08:29 +03:00
COPYING Migrate svn to git 2013-03-17 00:45:21 +01:00
ChangeLog Pointed the ChangeLog to the commits url 2013-09-05 11:32:48 -04:00
INSTALL Remove the ZM_NO_CRASHTRACE option from cmake. Not needed now that we have proper dependency checking 2013-10-07 14:43:35 +03:00
LICENSE Copied COPYING to LICENSE 2013-04-12 19:11:17 -04:00
Makefile.am $DESTDIR needs to be added to paths to ensure that the changes are made in the chroot when building packages. 2013-09-12 14:00:10 -04:00
NEWS Migrate svn to git 2013-03-17 00:45:21 +01:00
README.md merge Debian build instructions, copy and modify for ubuntu 2013-10-09 11:02:05 -04:00
TODO update link to README to be README.md 2013-09-06 14:35:08 -04:00
acinclude.m4 put this back so we can get on with life 2013-09-10 08:52:59 -04:00
bootstrap.sh rough in a quick script to help people generate the build files 2013-09-08 15:15:58 -04:00
cmakecacheimport.sh Add cmake to zoneminder 2013-09-28 12:59:50 +03:00
configure.ac Merge pull request #201 from ZoneMinder/signalfixes 2013-10-07 08:45:12 -07:00
description-pak Doing my best to manually remove nextime's plugin architecture while keeping his other changes. 2013-08-13 09:43:23 -04:00
version Bumping version to 1.26.4 2013-10-08 10:23:24 -04:00
zm.conf.in Update zm.conf.in 2013-10-08 07:10:06 -05:00
zmconfgen.pl.in Migrate svn to git 2013-03-17 00:45:21 +01:00
zmlinkcontent.sh.in Add cmake to zoneminder 2013-09-28 12:59:50 +03:00
zoneminder-config.cmake Merge pull request #201 from ZoneMinder/signalfixes 2013-10-07 08:45:12 -07:00

README.md

ZoneMinder

Build Status

All documentation for ZoneMinder is now online at http://www.zoneminder.com/wiki/index.php/Documentation

Overview

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. It is designed to run on distributions which support the Video For Linux (V4L) interface and has been tested with video cameras attached to BTTV cards, various USB cameras and also supports most IP network cameras.

Requirements

If you are installing ZoneMinder from a package, that package should provide all of the needed core components.

Packages

If you are compiling ZoneMinder from source, the below list contains the packages needed to get ZoneMinder built:

Ubuntu

A fresh build based on master branch running Ubuntu 1204 LTS. Will likely work for other versions as well.

root@host:~# aptitude install -y apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg8-dev libjpeg8 apache2-mpm-prefork libapache2-mod-php5 php5-cli libphp-serialization-perl libgnutls-dev libjpeg8-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev libtool ffmpeg libnetpbm10-dev libavdevice-dev libmime-lite-perl dh-autoreconf dpatch;

root@host:~# git clone https://github.com/ZoneMinder/ZoneMinder.git zoneminder;
root@host:~# cd zoneminder;
root@host:~# ln -s distros/ubuntu1204;
root@host:~# dpkg-checkbuilddeps;
root@host:~# dpkg-buildpackage;

One level above you'll now find a deb package matching the architecture of the build host:

root@host:~# ls -1 ~/zoneminder*;
/root/zoneminder_1.26.4-1_amd64.changes
/root/zoneminder_1.26.4-1_amd64.deb
/root/zoneminder_1.26.4-1.dsc
/root/zoneminder_1.26.4-1.tar.gz

The dpkg command itself does not resolve dependencies. That's what high-level interfaces like aptitude and apt-get are normally for. Unfortunately, unlike RPM, there's no easy way to install a separate deb package not contained with any repository.

To overcome this "limitation" we'll use dpkg only to install the zoneminder package and apt-get to fetch all needed dependencies afterwards. Running dpkg-reconfigure in the end will ensure that the setup scripts e.g. for database provisioning were executed.

root@host:~# dpkg -i /root/zoneminder_1.26.4-1_amd64.deb; apt-get install -f;
root@host:~# dpkg-reconfigure zoneminder;

Alternatively you may also use gdebi to automatically resolve dependencies during installation:

root@host:~# aptitude install -y gdebi;
root@host:~# gdebi /root/zoneminder_1.26.4-1_amd64.deb;
sudo apt-get install apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev \
libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 \
libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg-turbo8-dev libjpeg-turbo8 \
apache2-mpm-prefork libapache2-mod-php5 php5-cli

Debian

A fresh build based on master branch running Debian 7 (wheezy):

root@host:~# aptitude install -y apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg8-dev libjpeg8 apache2-mpm-prefork libapache2-mod-php5 php5-cli libphp-serialization-perl libgnutls-dev libjpeg8-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev libtool ffmpeg libnetpbm10-dev libavdevice-dev libmime-lite-perl dh-autoreconf dpatch;

root@host:~# git clone https://github.com/ZoneMinder/ZoneMinder.git zoneminder;
root@host:~# cd zoneminder;
root@host:~# ln -s distros/debian;
root@host:~# dpkg-checkbuilddeps;
root@host:~# dpkg-buildpackage;

One level above you'll now find a deb package matching the architecture of the build host:

root@host:~# ls -1 ~/zoneminder*;
/root/zoneminder_1.26.4-1_amd64.changes
/root/zoneminder_1.26.4-1_amd64.deb
/root/zoneminder_1.26.4-1.dsc
/root/zoneminder_1.26.4-1.tar.gz

The dpkg command itself does not resolve dependencies. That's what high-level interfaces like aptitude and apt-get are normally for. Unfortunately, unlike RPM, there's no easy way to install a separate deb package not contained with any repository.

To overcome this "limitation" we'll use dpkg only to install the zoneminder package and apt-get to fetch all needed dependencies afterwards. Running dpkg-reconfigure in the end will ensure that the setup scripts e.g. for database provisioning were executed.

root@host:~# dpkg -i /root/zoneminder_1.26.4-1_amd64.deb; apt-get install -f;
root@host:~# dpkg-reconfigure zoneminder;

Alternatively you may also use gdebi to automatically resolve dependencies during installation:

root@host:~# aptitude install -y gdebi;
root@host:~# gdebi /root/zoneminder_1.26.4-1_amd64.deb;

CentOS / RHEL

Two additional repositories must be added before one can build zoneminder on CentOS or RHEL:

  1. RepoForge (formerly RPMForge) http://repoforge.org/use/
  2. EPEL https://fedoraproject.org/wiki/EPEL

Once those are added, install the following:

sudo yum install automake bzip2-devel ffmpeg ffmpeg-devel gnutls-devel httpd libjpeg-turbo libjpeg-turbo-devel mysql-devel mysql-server pcre-devel \
perl-Archive-Tar perl-Archive-Zip perl-Convert-BinHex perl-Date-Manip perl-DBD-MySQL perl-DBI perl-Device-SerialPort perl-Email-Date-Format perl-IO-stringy \
perl-IO-Zlib perl-MailTools perl-MIME-Lite perl-MIME-tools perl-MIME-Types perl-Module-Load perl-Package-Constants perl-Sys-Mmap perl-Time-HiRes \
perl-TimeDate perl-YAML-Syck php php-cli php-mysql subversion x264

ffmpeg

This release of ZoneMinder has been tested on and works with ffmpeg version N-55540-g93f4277.