Debian 11 Bullseye with Zoneminder 1.36.x
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. Yuo 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://http.debian.net/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 sudo
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
Install Cambozola (needed if you use Internet Explorer)
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
Click Options
Check Is the (optional) cambozola java streaming client installed (?) Click Save
Your Zoneminder install is now ready to add cameras!