Debian 8 64-bit with Zoneminder 1.29.0 the Easy Way

From ZoneMinder Wiki
Jump to: navigation, search

Updated 23AUG16 for Debian 8.5

This easy install is for Debian 8 (Jessie) with Zoneminder 1.29.0 from the back ports install.

I installed Debian from the netinst CD with only web server, SSH server and standard system utilities. Tasksel does not install LAMP under Debian so I installed MySQL and PHP after reboot.

Log in as your user

Then become root

sudo root

Install PHP, and MySQL server. You will be prompted to set a MySQL password

apt-get install  php5 mysql-server php-pear php5-mysql php5-gd

Note: you may want to set MySQL to use innodb_file_per_table. Here is a procedure for Ubuntu that should also work for Debian: https://wiki.zoneminder.com/Common_Issues_with_Zoneminder_Installation_on_Ubuntu#Enable_and_convert_MySQL_to_innodb_file_per_table_for_Zoneminder

Add the Jessie backports

nano /etc/apt/sources.list

Add to the bottom of the list:

deb http://ftp.debian.org/debian jessie-backports main

Ctrl+o Enter to save CTRL+x to exit

Update Sources

apt-get update

Check to be sure everything is up to date

apt-get upgrade
apt-get dist-upgrade

Install Zoneminder

apt-get install zoneminder


Create Zoneminder database in MySQL (Note: this also creates the default Zoneminder user and permissions in MySQL)

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
mysqladmin -uroot -p reload

Set permissions of /etc/zm/zm.conf to root:www-data 740

chmod 740 /etc/zm/zm.conf

chown root:www-data /etc/zm/zm.conf

Enable Zoneminder service to start at boot

systemctl enable zoneminder.service

Add www-data to the sudo group (to enable use of local video devices)

adduser www-data video

Start Zoneminder

systemctl start zoneminder.service

Check to see that Zoneminder is running

systemctl status zoneminder.service

Enable CGI and Zoneminder configuration in Apache.

a2enmod cgi
a2enmod rewrite

a2enconf zoneminder

Add timezone to PHP

nano /etc/php5/apache2/php.ini

Search for [Date] (Ctrl + w then type Date and press Enter) and make changes as follows for your time zone

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York

Ctrl+o Enter to save

CTRL+x to exit

27FEB16 A problem has been cited that requires the following to allow the API to work properly:

Change permissions in /usr/share/zoneminder/

chown -R www-data:www-data /usr/share/zoneminder/

Edit /etc/apache2/conf-enabled/zoneminder.conf

nano /etc/apache2/conf-enabled/zoneminder.conf

Add at the bottom:

<Directory /usr/share/zoneminder/www/api>
    AllowOverride All
</Directory>

Ctrl+o Enter to save

CTRL+x to exit

Restart Apache

service apache2 restart

Optional: Install Cambozola (needed if you use old versions of Internet Explorer) Note: Cambozola requires Java Runtime Environement which many consider a security risk.

cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
tar -xzvf cambozola-latest.tar.gz
replace 936 with cambozola version downloaded
cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder

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


Open Zoneminder in web browser

http://serverip/zm

Optional:Click Options, check Is the (optional) cambozola java streaming client installed (?) Click Save

Your Zoneminder install is now ready to add cameras!

For a slight performance boost use 32 bit colour in camera settings.