Difference between revisions of "Ubuntu Server 19.10 Zoneminder 1.33.x"

From ZoneMinder Wiki
Jump to navigationJump to search
Line 103: Line 103:


'''Install Zoneminder:'''
'''Install Zoneminder:'''


  sudo gdebi zoneminder_1.32.3-disco_repacked_amd64.deb
  sudo gdebi zoneminder_1.32.3-disco_repacked_amd64.deb
Line 114: Line 113:




'''Create the Database'''
'''Create the Database:'''


The database is not created automatically. Create the database with:
The database is not created automatically. Create the database with:
Line 146: Line 145:




Enable Zoneminder service:
'''Enable Zoneminder service:'''


  systemctl enable zoneminder.service
  systemctl enable zoneminder.service
Line 156: Line 155:
Search for [Date] (Ctrl + w then type Date and press Enter) and make changes as follows for your time zone
Search for [Date] (Ctrl + w then type Date and press Enter) and make changes as follows for your time zone


[Date]
[Date]
; Defines the default timezone used by the date functions
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; http://php.net/date.timezone
date.timezone = America/New_York
date.timezone = Europe/Luxembourg


CTRL +o Enter to save, then CTRL +x to exit
CTRL +o Enter to save, then CTRL +x to exit




Restart Apache and zoneminder
'''Finally, restart Apache and zoneminder'''


  sudo service apache2 reload
  sudo service apache2 reload

Revision as of 10:45, 2 May 2019

<Home

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.


You will need to install LAMP then secure MySQL before installing Zoneminder.


Preparations

Install needed packages:

sudo apt-get install x264 x265 build-essential checkinstall gdebi


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)



Installing libmp4v2-2

Download and 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

Follow the instructions on the screen. Change the description values as following: Name=libmp4v2-2, Version=2.0, Provides=libmp4v2-2



Repacking zoneminder deb-package and installation

We have to repack the zoneminder deb-package to fix the dependencies issue (libx264-155).

Download the current deb-package:

wget https://launchpad.net/~iconnor/+archive/ubuntu/zoneminder-1.32/+files/zoneminder_1.32.3-disco_amd64.deb

Extract the deb-package:

ar x zoneminder_1.32.3-disco_amd64.deb
tar xf control.tar.xz

Rewrite the required dependencies:

nano control

search for "libx264-155" and move it after "libx264-152 | ".

Repack the deb-package:

tar c {post,pre}{inst,rm} md5sums control | gzip -c > control.tar.gz
ar rcs zoneminder_1.32.3-disco_repacked_amd64.deb debian-binary control.tar.gz data.tar.xz


Install Zoneminder:

sudo gdebi zoneminder_1.32.3-disco_repacked_amd64.deb

Other missing dependencies will automaticely be installed.



Post-installation procedures

Create the Database:

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 Apache features:

sudo a2enmod cgi
sudo a2enmod rewrite
sudo a2enconf zoneminder

sudo service apache2 restart


Add user www-data to group video, for accessing local cameras:

sudo adduser www-data video
sudo usermod -a -G video www-data


Enable Zoneminder service:

systemctl enable zoneminder.service


Add timezone to PHP:

sudo 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 = Europe/Luxembourg

CTRL +o Enter to save, then CTRL +x to exit


Finally, restart Apache and zoneminder

sudo service apache2 reload
sudo service zoneminder restart


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