There is a problem in installing Zoneminder on Ubuntu 19.10 , as there are no official zoneminder eoan ermine versions issued up to now.
The other problem is the presently available Zoneminder versions are based on mysql 5.7 , libmysqlclient20 while The Ubuntu 19.10 uses mysql 8 , libmysqlclient21 by default. Therefore dependency issues crop up when you try to install Zoneminder.
As mysql-server-8.0 makes some problems, I have decided to use mariadb-server-10.3 .
To overcome dependency issues in installing Zoneminder, libmysqlclient20 has to be downloaded and installed manually before installing Zoneminder using GDebi Package Installer
Please refer the following link to download libmysqlclient20 for Ubuntu Disco
Figure:- 1 installed libmysqlclient20 is shown in the synaptic
After installing the deb file libmysqlclient20, Install maridb-server-10.3 using synaptic package manager.
Then the installed packages are shown as the following figure
Figure:- 2 installed mairadb packages
Once mariadb-sever installed using the synaptc package manager , the mariadb-sever automatically starts.
To check the states you can use one of the following 2 commands on the Ubuntu terminal
systemtcl status mysql
systemtcl status mariadb
If it is not running
sudo systemtcl start mariadb
To enable auto start at boot time , run
sudo systemtcl enable mariadb
To secure mariadb sever run
When the script ask you to enter password for root , you can enter your password for the server
As the mariadb sever and the dependency software for zoneminder ,libmysqlclient20 are installed , now it is ready to install zoneminder .
I have selected Zonminder master for installation.
To install Zoneminder Please refer Connor’s web site
Adding PPA to Ubuntu 19.10 (Eoan Ermine) is not possible as there is no official zoneminder version . Therefore the zoneminder deb file of ubuntu disco is downloaded and installed using GDebi Package Installer.
Note:- As we have installed libmysqlclient20 , there won’t be dependency issue
cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/my.cnf
add the following line below [mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION
and save the file
systemctl restart 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';"
(In above steps , when ask to enter the pass ,you will have to enter the root password of mysql)
mysqladmin -uroot -p reload
chmod 740 /etc/zm/zm.conf
chown root:www-data /etc/zm/zm.conf
adduser www-data video
chown -R www-data:www-data /usr/share/zoneminder/
systemctl enable zoneminder
service zoneminder start
To add timezone to PHP
edit line 956 with your timezone
Figure:- 5 php.ini after adding timezone
Then save the file php.ini
Your time zone can be get from here
Then run on the Ubuntu terminal
service apache2 reload
Optional …..You can run zonemider without cambozola. Adding cambozola.jar to the directory /usr/share/zoneminder/www/ Download the latest cambozola and extract to the Downloads directory of your PC Then copy the cambozola.jar to the directory /usr/share/zoneminder/www/ On the ubuntu terminal run sudo cp /home/bkjaya1952/Downloads/cambozola-latest/cambozola-0.936/dist/cambozola.jar /usr/share/zoneminder/www/
Open zoneminder web console (http://localhost/zm/)
Now you can add your camera to using the ZM-Console
Following figures shows the status after adding the USB camera
Figure:- 7 Adding usb camera to the monitor
Figure:-8 ZM-Console & ZM-Monitor
To avoid errors pertain to Time , you will have to re enter the TIMEZONE in ZM as follows.
In the ZM-Console , go to Options/System/TIMEZONE and select your date.timezone entered in the php.ini file at /etc/php/7.3/apache2/ previously . Then save the setting.