Ubuntu Server 19.10 Zoneminder 1.33.x
Zoneminder 1.33.x on Ubuntu 19.10
As of 31DEC19 there is no Zonemiinder 1.33.x package in the zoneminder-master PPA for Ubuntu 19.10. This uses Gdebi to install the Ubuntu Disco package.
After installing a basic Ubuntu 19.10 OS add LAMP with Mariadb or MySQL.
19.10 with Mariadb Server
To install LAMP with Mariadb Server see: https://www.techsupportpk.com/2019/10/how-to-install-lamp-stack-ubuntu-1910.html
Become root
sudo su
Install Gdebi
apt install gdebi
Download the Zoneminder Disco .deb package
wget https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder-master/+build/18539544/+files/zoneminder_1.33.16~20200109103850-disco_arm64.deb
Note: if the above wget download fails with a can't find the file... check the zoneminder-master PPA for the correct file name. This will happen when the Zoneminder package is updated.
Download libmp4v2-2
wget https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder-master/+build/17493816/+files/libmp4v2-2_2.0.0~dfsg0-6_amd64.deb
Download libmysqlclient20
wget http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/libmysqlclient20_5.7.28-0ubuntu0.19.04.2_amd64.deb
Install libmysqlclient20
gdebi libmysqlclient20_5.7.28-0ubuntu0.19.04.2_amd64.deb
Install libmp4v2-2
gdebi libmp4v2-2_2.0.0~dfsg0-6_amd64.deb
Install Zoneminder
gdebi zoneminder_1.33.16~20200109103850-disco_arm64.deb
Fix permissions:
chmod 740 /etc/zm/zm.conf chown root:www-data /etc/zm/zm.conf chown -R www-data:www-data /usr/share/zoneminder/
Coping missing files to /etc/php/7.3/mods-available/
cp /usr/share/php7.3-mysql/mysql/*.ini /etc/php/7.3/mods-available/
Enable and start Zoneminder
systemctl enable zoneminder.service systemctl start zoneminder
Enable Apache Modules
a2enconf zoneminder a2enmod rewrite
Restart Apache
service apache2 reload
Open Zoneminder console and set your timezone under Options/Timezone
19.10 with MySQL Server
After installing a basic Ubuntu 19.10 OS add LAMP from tasksel
Become root
sudo su
Secure MySQL if you haven't already done it. Do not activate VALIDATE PASSWORD COMPONENT.
mysql_secure_installation
Edit MySQL configuration to use native password
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Below [mysqld] add
default_authentication_plugin = mysql_native_password
CTRL + o to save CTRL +x to exit
restart MySQL
systemctl restart mysql
Install Gdebi
apt install gdebi
Download the Zoneminder Disco .deb package
wget https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder-master/+build/18539544/+files/zoneminder_1.33.16~20200109103850-disco_arm64.deb
Download libmp4v2-2
wget https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder-master/+build/17493816/+files/libmp4v2-2_2.0.0~dfsg0-6_amd64.deb
Download libmysqlclient20
wget http://security.ubuntu.com/ubuntu/pool/main/m/mysql-5.7/libmysqlclient20_5.7.28-0ubuntu0.19.04.2_amd64.deb
Install libmysqlclient20
gdebi libmysqlclient20_5.7.28-0ubuntu0.19.04.2_amd64.deb
Install libmp4v2-2
gdebi libmp4v2-2_2.0.0~dfsg0-6_amd64.deb
Install Zoneminder
gdebi zoneminder_1.33.16~20200109103850-disco_arm64.deb
Note: The Zoneminder package will not complete successfully and will show errors. This will be corrected in the next step.
Create (overwrite) Zoneminder database
mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
Create user and set permissions (press Enter after each entry)
mysql (Enter MySQL processing)
mysql> CREATE USER 'zmuser'@localhost IDENTIFIED WITH mysql_native_password BY 'zmpass';
mysql> GRANT ALL PRIVILEGES ON zm.* TO 'zmuser'@'localhost' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES ;
mysql> \q
Reload MySQL
mysqladmin -uroot -p reload
Fix permissions:
chmod 740 /etc/zm/zm.conf chown root:www-data /etc/zm/zm.conf chown -R www-data:www-data /usr/share/zoneminder/
Enable and start Zoneminder
systemctl enable zoneminder.service systemctl start zoneminder
Enable Apache Modules
a2enconf zoneminder a2enmod rewrite
Restart Apache
service apache2 reload
Open Zoneminder console and set your timezone under Options/Timezone