Ubuntu Server 19.04 Zoneminder 1.32.3

From ZoneMinder Wiki
Jump to navigationJump to search

While this procedure still works a version with full support including MP4 can be found here: https://wiki.zoneminder.com/Ubuntu_Server_19.04_Zoneminder_1.32.3_(with_mp4_support)

Ubuntu Server 19.04 with Zoneminder 1.32.2

29MAR19 This was done with Ubuntu 19.04 Beta which contains Zoneminder 1.32.3. This is a preliminary procedure and may not work as changes are made to the release.

Note-30MAR19 - The MP4 recording and playback does not work as there are missing libraries. If you install this switch to saving jpeg's.

Install Ubuntu Server from the Ubuntu Server Live install.

Note: If you want to remove the cloud services see: https://nucco.org/2018/05/ubuntu-18-04-chronicles-removing-cloud-init.html

My install did not allow the time zone to be set in the install. To set the time zone:

nano /etc/timezone

Change the UTC to your local area and time zone such as America/New_York

Ctrl+o Enter to save

CTRL+x to exit

Install ntp and ntpdate

apt install ntp ntpdate

Copy your zoneinfo file as shown. Use your time zone:

cp /usr/share/zoneinfo/America/New_York /etc/localtime 

Optional: to disable auto updates edit:

nano /etc/apt/apt.conf.d/20auto-upgrades

Change the "1" to "0"

Ctrl+o Enter to save

CTRL+x to exit

Restart your server.

Install Apache2, Mariadb and PHP (I use Mariadb because of some password length issues with the newer version of MySQL)

apt install apache2 php mariadb-server php-mysql libapache2-mod-php7.2

Next secure Mariadb server by entering requested information.


Install Zoneminder

apt install zoneminder

The database is not created automatically. Create the database with

mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
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 Zoneminder service

systemctl enable zoneminder.service

Add a user for local cameras

adduser www-data video

Enable Apache Features

a2enmod cgi
a2enmod rewrite
a2enconf zoneminder

Add timezone to PHP

nano /etc/php/7.2/apache2/php.ini

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


Defines the default timezone used by the date functions

date.timezone = America/New_York

Ctrl+o Enter to save

CTRL+x to exit

Start Zoneminder

service zoneminder start

Restart Apache

service apache2 reload

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