Ubuntu Server 19.04 Zoneminder 1.32.3
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.
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.
mysql_secure_installation
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
[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
Start Zoneminder
service zoneminder start
Restart Apache
service apache2 reload
Zoneminder should work! Open Zoneminder in a web browser (http://server-ip/zm).