Difference between revisions of "Debian 10 Buster with Zoneminder 1.36.x from ZM Repo"

From ZoneMinder Wiki
Jump to navigationJump to search
Line 1: Line 1:
== Debian 10 Buster with Zoneminder 1.32.3 from the Debian Multimedia Repository ==
== Debian 10 Buster with Zoneminder 1.32.3 from the Debian Multimedia Repository ==


10AUG19


Install Debian Buster. I used the net install CD and installed only SSH server and standard system utilities from tasksel.
Due to some expressed security concerns of the Debian Multimedia Repository, this procedure has been deleted. I expect there will be a Zoneminder package for Buster in the zm.repro in time. Meanwhile I encourage you to try Zoneminder 1.32.3 on Ubuntu Bionic. With the release of Ubuntu 18.04-3 you can upgrade to the Linux 5.0 kernel which appears to give a performance boost


You will need to install LAMP. One good guide to do this can be found here:
If you really want to use Buster look in the history file of this WIKI entry.
 
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10
 
Install Zoneminder
 
Add the Deb Multimedia repository. (instructions at: https://deb-multimedia.org/)
 
Edit sources.list
 
sudo nano /etc/apt/sources.list
 
Add to the end of the file:
 
deb http://www.deb-multimedia.org buster main non-free
 
Ctrl+o Enter to save
 
Ctrl+x to exit
 
After you have added the necessary line in /etc/apt/sources.list the first package to install is deb-multimedia-keyring.
 
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
 
sudo dpkg -i deb-multimedia-keyring_2016.8.1_all.deb
 
sudo apt update
 
Install Zoneminder
 
sudo apt install zoneminder vlc-plugin-base
 
 
Create Zoneminder database in MySQL (Note: this also creates the default Zoneminder user and permissions in MySQL)
 
sudo mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
 
sudo mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
 
sudo mysqladmin -uroot -p reload
 
Set permissions
 
sudo chmod 740 /etc/zm/zm.conf
 
sudo chown root:www-data /etc/zm/zm.conf
 
sudo chown -R www-data:www-data /usr/share/zoneminder/
 
sudo chown -R www-data:www-data /var/cache/zoneminder/
 
Enable Zoneminder service to start at boot
 
sudo systemctl enable zoneminder.service
 
Add www-data to the sudo group (to enable use of local video devices)
 
sudo adduser www-data video
 
Start Zoneminder
 
sudo systemctl start zoneminder.service
 
Check to see that Zoneminder is running
 
sudo systemctl status zoneminder.service
 
Enable CGI and Zoneminder configuration in Apache.
 
sudo a2enmod cgi
 
sudo a2enmod rewrite
 
sudo a2enconf zoneminder
 
Add timezone to PHP
 
sudo nano /etc/php/7.3/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
 
'''Note: 20JUL19 - A fix for the below was submitted to deb-multimedia  but the fix has errors in it.'''
 
You need to Edit zoneminder.conf.
 
First make a copy of zoneminder.conf
 
sudo cp /etc/apache2/conf-enabled/zoneminder.conf /etc/apache2/conf-enabled/zoneminder.sav
 
Next, edit the file
 
sudo nano /etc/apache2/conf-enabled/zoneminder.conf
 
Replace the contents with:
 
########################
#
# Remember to enable cgi mod and serve-cgi-bin.conf configuration
#
# a2enmod cgi
# a2enconf serve-cgi-bin.conf
#
########################
# Order matters. This alias must come first.
Alias /zm/cache /var/cache/zoneminder
<Directory /var/cache/zoneminder>
    Options -Indexes +FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
 
Alias /zm /usr/share/zoneminder/www
<Directory /usr/share/zoneminder/www>
#  php_flag register_globals off
  Options -Indexes +FollowSymLinks
  <IfModule mod_authz_core.c>
            Require all granted
  </IfModule>
</Directory>
 
ScriptAlias /cgi-bin "/usr/lib/zoneminder/cgi-bin"
<Directory "/usr/lib/zoneminder/cgi-bin">
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    AllowOverride All
    Require all granted
</Directory>
 
<Directory "/usr/share/zoneminder/www/api">
    RewriteEngine on
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
    RewriteBase /zm/api
</Directory>
 
<Directory "/usr/share/zoneminder/www/api/app">
    RewriteEngine on
    RewriteRule ^$ webroot/ [L]
    RewriteRule (.*) webroot/$1 [L]
    RewriteBase /zm/api
</Directory>
 
<Directory "/usr/share/zoneminder/www/api/app/webroot">
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    RewriteBase /zm/api
</Directory>
 
Ctrl+o Enter to save
 
CTRL+x to exit
 
Restart Apache
 
sudo service apache2 restart
 
All done! Navigate to http://serverip/zm

Revision as of 13:08, 10 August 2019

Debian 10 Buster with Zoneminder 1.32.3 from the Debian Multimedia Repository

10AUG19

Due to some expressed security concerns of the Debian Multimedia Repository, this procedure has been deleted. I expect there will be a Zoneminder package for Buster in the zm.repro in time. Meanwhile I encourage you to try Zoneminder 1.32.3 on Ubuntu Bionic. With the release of Ubuntu 18.04-3 you can upgrade to the Linux 5.0 kernel which appears to give a performance boost

If you really want to use Buster look in the history file of this WIKI entry.