Difference between revisions of "Debian 11 Bullseye with Zoneminder 1.36.x"

From ZoneMinder Wiki
Jump to navigationJump to search
(Created page with "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 sta...")
 
(41 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This easy install is for Debian 8 (Jessie) with Zoneminder 1.29.0 from the back ports install.
Updated 20OCT22 for shell script 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.
Debian 11 Bullseye is being released with Zoneminder 1.34.23 and as usual for Debian the zm database needs to be created manually. This is not user friendly and 1.34 is considered old and unsupported.  So we will be using the packages provided by the ZoneMinder development team hosted at zmrepo.zoneminder.com.  


Log in as your user
Note: We currently only package for amd64 and armhf so if your are running something else this won't work. 


Then become root
Debian, unlike Ubuntu, does not install sudo with the initial setup. While you can log in as root, a user with sudo authority is recommended.


  sudo root
To enable sudo:
In a terminal,become root with su. Enter your root password.
Install sudo with:
apt install sudo
Add the user account to the group sudo with:
  /sbin/adduser username sudo  
where username is your user account.
Exit root then log out and then log in with the same user.


Install PHP, and MySQL server
Timezone: it is recommended you set your specific timesone with:
  sudo timedatectl set-timezone America/New_York
Of course use your timezone in place of America/New_York.


apt-get install php5 mysql-server php-pear php5-mysql php5-gd
1. Install Debian 11 (Bullseye), desktop or server version, along with Apache2, PHP and your favorite database (Mariadb recommended). A quick way to install LAMP is:


Add the Jessie backports
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql lsb-release gnupg2


nano /etc/apt/sources.list
Secure MySQL or Mariadb, create root password et. al.


Add to the bottom of the list:
mysql_secure_installation


deb http://http.debian.net/debian jessie-backports main
Mariadb additional settings The default values for the database are adequate for initial setup. However, I recommend you make these changes before installing Zoneminder. Note: If you have sufficient memory double the values below. Edit the Mariadb config file:


Ctrl+o Enter to save
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
CTRL+x to exit


Update Sources
Add the following in the [mysql] area:


  apt-get update
  innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M


Check to be sure everything is up to date
CTRL+o then [Enter] to save


apt-get upgrade
CTRL+x to exit
apt-get dist-upgrade


Install Zoneminder
Reatart Mariadb:


  apt-get install zoneminder
  sudo service mysql restart


I recommend you install mysqltuner and run it from time to time and adjust the database settings as the number of saved events grows.
_________________________________________________________________________________________________________________________________________


Create Zoneminder database in MySQL (Note: this also creates the default Zoneminder user and permissions in MySQL)
New install process with a shell script!


mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
Become root with sudo su before running this!


mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
Shell script file contents:


  mysqladmin -uroot -p reload
  #!/bin/sh
clear
read -p "This script installs ZoneMinder 1.36.x on Debian 11 with LAMP (MySQL or Mariadb) installed...
This script must be run as root!
Press Enter to continue or Ctrl + c to quit" nothing
clear
apt install -y lsb-release gnupg2
echo "deb https://zmrepo.zoneminder.com/debian/release-1.36 "`lsb_release  -c -s`"/" | sudo tee /etc/apt/sources.list.d/zoneminder.list
wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -
read -p "Warning! Check above to insure the line says OK. If not the GPG signing key was not installed and you will need to figure out why before continuing.
Press enter to continue" nothing
apt update
clear
apt install -y zoneminder
systemctl enable zoneminder
service zoneminder start
adduser www-data video
a2enconf zoneminder
a2enmod rewrite
a2enmod headers
a2enmod expires
service apache2 reload
clear
read -p "Install complete. Open Zoneminder/Options and set the timezone. Press enter to continue" nothing
clear


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


chmod 740 /etc/zm/zm.conf
Copy the contents of the script, open a terminal and run:
chown root:www-data /etc/zm/zm.conf


Enable Zoneminder service to start at boot
nano zm-install


systemctl enable zoneminder.service
Paste the contents of the script into Nano


Add www-data to the sudo group (to enable use of local video devices)
Then:
 
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
Ctrl + o Ctrl + x


nano /etc/php5/apache2/php.ini
Next run:


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


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


Ctrl+o Enter to save
./zm-install


CTRL+x to exit
Follow the prompts. Things are pretty simple. The timezone is now set in Zoneminder/Options.


Restart Apache
Good Luck!


service apache2 restart
__________________________________________________________________________________________________________________________________________


Install Cambozola (needed if you use Internet Explorer)
Old procedure retained for reference


cd /usr/src && wget http://www.andywilcock.com/code/cambozola/cambozola-latest.tar.gz
2. Add Zoneminder's repo to your APT configuration:


  tar -xzvf cambozola-latest.tar.gz
  echo "deb https://zmrepo.zoneminder.com/debian/release-1.36 "`lsb_release  -c -s`"/" | sudo tee /etc/apt/sources.list.d/zoneminder.list


replace 936 with cambozola version downloaded
3. Add Zoneminder's GPG signing key:


  cp cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder
  wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -


You should now be able to access the web server using http://servername
4. Update package indexes and install the package


sudo apt update


Open Zoneminder in web browser
sudo apt install zoneminder=1.36.31-bullseye1


http://serverip/zm
5. Enable the systemd service and apache configuration


Click Options
sudo systemctl enable zoneminder.service
sudo systemctl start zoneminder
sudo a2enconf zoneminder
sudo a2enmod rewrite headers expires
sudo service apache2 reload


Check Is the (optional) cambozola java streaming client installed (?) Click Save
6. Open Zoneminder http://(IP-Address)/zm


Your Zoneminder install is now ready to add cameras!
7. Change the Timezone in Options-Timezone

Revision as of 21:16, 20 October 2022

Updated 20OCT22 for shell script install.

Debian 11 Bullseye is being released with Zoneminder 1.34.23 and as usual for Debian the zm database needs to be created manually. This is not user friendly and 1.34 is considered old and unsupported. So we will be using the packages provided by the ZoneMinder development team hosted at zmrepo.zoneminder.com.

Note: We currently only package for amd64 and armhf so if your are running something else this won't work.

Debian, unlike Ubuntu, does not install sudo with the initial setup. While you can log in as root, a user with sudo authority is recommended.

To enable sudo: In a terminal,become root with su. Enter your root password. Install sudo with:

apt install sudo

Add the user account to the group sudo with:

/sbin/adduser username sudo 

where username is your user account. Exit root then log out and then log in with the same user.

Timezone: it is recommended you set your specific timesone with:

sudo timedatectl set-timezone America/New_York

Of course use your timezone in place of America/New_York.

1. Install Debian 11 (Bullseye), desktop or server version, along with Apache2, PHP and your favorite database (Mariadb recommended). A quick way to install LAMP is:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql lsb-release gnupg2

Secure MySQL or Mariadb, create root password et. al.

mysql_secure_installation

Mariadb additional settings The default values for the database are adequate for initial setup. However, I recommend you make these changes before installing Zoneminder. Note: If you have sufficient memory double the values below. Edit the Mariadb config file:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Add the following in the [mysql] area:

innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
innodb_log_file_size = 64M

CTRL+o then [Enter] to save

CTRL+x to exit

Reatart Mariadb:

sudo service mysql restart

I recommend you install mysqltuner and run it from time to time and adjust the database settings as the number of saved events grows. _________________________________________________________________________________________________________________________________________

New install process with a shell script!

Become root with sudo su before running this!

Shell script file contents:

#!/bin/sh
clear
read -p "This script installs ZoneMinder 1.36.x on Debian 11 with LAMP (MySQL or Mariadb) installed...
This script must be run as root!
Press Enter to continue or Ctrl + c to quit" nothing
clear
apt install -y lsb-release gnupg2
echo "deb https://zmrepo.zoneminder.com/debian/release-1.36 "`lsb_release  -c -s`"/" | sudo tee /etc/apt/sources.list.d/zoneminder.list
wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -
read -p "Warning! Check above to insure the line says OK. If not the GPG signing key was not installed and you will need to figure out why before continuing. 
Press enter to continue" nothing
apt update
clear
apt install -y zoneminder
systemctl enable zoneminder
service zoneminder start
adduser www-data video
a2enconf zoneminder
a2enmod rewrite
a2enmod headers
a2enmod expires
service apache2 reload
clear
read -p "Install complete. Open Zoneminder/Options and set the timezone. Press enter to continue" nothing
clear


Copy the contents of the script, open a terminal and run:

nano zm-install

Paste the contents of the script into Nano

Then:

Ctrl + o Ctrl + x

Next run:

chmod 755 zm-install

Start the script by entering:

./zm-install

Follow the prompts. Things are pretty simple. The timezone is now set in Zoneminder/Options.

Good Luck!

__________________________________________________________________________________________________________________________________________

Old procedure retained for reference

2. Add Zoneminder's repo to your APT configuration:

echo "deb https://zmrepo.zoneminder.com/debian/release-1.36 "`lsb_release  -c -s`"/" | sudo tee /etc/apt/sources.list.d/zoneminder.list

3. Add Zoneminder's GPG signing key:

wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -

4. Update package indexes and install the package

sudo apt update 
sudo apt install zoneminder=1.36.31-bullseye1

5. Enable the systemd service and apache configuration

sudo systemctl enable zoneminder.service
sudo systemctl start zoneminder
sudo a2enconf zoneminder
sudo a2enmod rewrite headers expires
sudo service apache2 reload

6. Open Zoneminder http://(IP-Address)/zm

7. Change the Timezone in Options-Timezone