Difference between revisions of "Debian 12 Bookworm with Zoneminder 1.36.x and 1.37.x"

From ZoneMinder Wiki
Jump to navigationJump to search
Line 64: Line 64:
  systemctl restart mysql
  systemctl restart mysql


===Install Zoneminder===


Add the Deb Multimedia repository. (instructions at: https://deb-multimedia.org/)
Add the Deb Multimedia repository. (instructions at: https://deb-multimedia.org/)

Revision as of 08:35, 18 June 2017

Debian 9 with Zoneminder 1.30.4

This procedure is in process of being updated as Debian 9 was released on 17JUN17.

I used Debian 9 net install CD (https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.0.0-amd64-netinst.iso). Install only: web server, SSH server and standard system utilities from tasksel

Login and become root (su root) or prepend sudo to the following commands

If needed check to make sure you are up to date

apt update
apt upgrade
apt dist-upgrade

Install additional LAMP components Mariadb server (recommended)

apt install php mariadb-server php-mysql apache2-mod-php7.0

Secure Mariadb, create root password et. al.

mysql_secure_installation

NOTE:The MySQL/MariaDB configuration file is located at: /etc/mysql/mysql.conf.d/mysqld.cnf To better manage the MariaDB server I recommend you move the config file and replace the default my.cnf symbolic link (this also works for MySQL 5.6).

rm /etc/mysql/my.cnf  
cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/my.cnf

Change Mariadb settings:

nano /etc/mysql/my.cnf

Make the following changes:

character-set-server = latin1
collation-server = latin1_swedish_ci

Note: The above settings are actually the Mariadb default. Changing back to default is necessary to avoid errors when logging into Zoneminder. This was added on 01APR17 but is not an April Fool! It may be necessary to align these settings with your regional language.

Ctrl+o Enter to save

CTRL+x to exit


Install MySQL Server

apt install php default-mysql-server php-mysql apache2-mod-php7.0

Make a change to MySQL settings: (Note: Your my.cnf may be in another location)

nano /etc/mysql/my.cnf

In the [mysqld] section add the following

sql_mode = NO_ENGINE_SUBSTITUTION

Ctrl+o Enter to save

CTRL+x to exit

Restart MySQL

systemctl restart mysql

Install Zoneminder

Add the Deb Multimedia repository. (instructions at: https://deb-multimedia.org/)

Edit sources.list

nano /etc/apt/sources.list

Add to the end of the file:

deb http://www.deb-multimedia.org stretch 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.

apt-get update
apt-get install deb-multimedia-keyring

Update packages list:

apt update
apt upgrade
apt dist-upgrade


Install Zoneminder

apt install zoneminder


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/php/7.0/apache2/php.ini

Search for [Date] (Ctrl + w then type Date and press Enter) and make changes as follows for your time zone. Be sure to remove the ; before date.timezone

[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

Change permissions in /usr/share/zoneminder/

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


Restart Apache

service apache2 restart

Open Zoneminder in a web browser (http://server-ip/zm).