Ubuntu Server 19.10 Zoneminder 1.33.x
Zoneminder 1.32 made it into the "official" Ubuntu 19.04 repositories. Unfortunately the MP4 recording and playback does not work with the shipped version as there are missing libraries (libmp4v2-2). So events can only be saved in jpeg-frames, video recordings do not happen. [State: 01 MAY 2019]
These instructions will show how to install Zoneminder 1.32-3 from the iconnor ppa with mp4 support to use video recordings.
[[[ CURRENTLY EDITING IN PROGRESS ]]]
You will need to install LAMP then secure MySQL before installing Zoneminder.
Install needed packages:
sudo apt-get install x264 x265 build-essential check-install gedebi
Secure MySQL or Mariadb:
mysql_secure_installation
Add entry into my.cnf:
nano /etc/mysql/my.cnf
Add the following to the end of the file:
[mysqld] sql_mode = NO_ENGINE_SUBSTITUTION
CTRL + o CTRL + x
Restart MySQL:
service mysql restart
Install the official repository for the current stable version 1.32:
sudo add-apt-repository ppa:iconnor/zoneminder-1.32
Now installing zoneminder by "sudo apt-get install zoneminder" will not work because of missing dependencies (as of 05/01/2019)
Download, compile libmp4v2-2:
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mp4v2/mp4v2-2.0.0.tar.bz2 tar xf mp4v2-2.0.0.tar.bz2 cd mp4v2-2.0.0/ mkdir build/ && cd build/ ../configure CXXFLAGS='-fpermissive' CFLAGS='-fpermissive' make
Don't leave this folder.
Install libmp4v2-2 as debian package:
sudo checkinstall
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
Restart Apache
service apache2 reload
Zoneminder should work! Open Zoneminder in a web browser (http://server-ip/zm).