|
|
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
| |