#! /bin/sh set -e if [ "$1" = "configure" ]; then . /etc/zm/zm.conf # The logs can contain passwords, etc... so by setting group root, only www-data can read them, not people in the www-data group chown www-data:root /var/log/zm chown www-data:www-data /var/lib/zm if [ -z "$2" ]; then chown www-data:www-data /var/cache/zoneminder /var/cache/zoneminder/* fi if [ ! -e "/etc/apache2/mods-enabled/cgi.load" ]; then echo "The cgi module is not enabled in apache2. I am enabling it using a2enmod cgi." a2enmod cgi fi # Do this every time the package is installed or upgraded # Ensure zoneminder is stopped deb-systemd-invoke stop zoneminder.service || exit $? # Ensure zoneminder is stopped deb-systemd-invoke stop zoneminder.service || exit $? if [ "$ZM_DB_HOST" = "localhost" ]; then if [ -e "/etc/init.d/mysql" ]; then # # Get mysql started if it isn't # if ! $(/etc/init.d/mysql status >/dev/null 2>&1); then deb-systemd-invoke start mysql.service || exit $? fi if $(/etc/init.d/mysql status >/dev/null 2>&1); then mysqladmin --defaults-file=/etc/mysql/debian.cnf -f reload # test if database if already present... if ! $(echo quit | mysql --defaults-file=/etc/mysql/debian.cnf zm > /dev/null 2> /dev/null) ; then cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/debian.cnf # This creates the user. echo "grant lock tables,alter,select,insert,update,delete,create,index on ${ZM_DB_NAME}.* to '${ZM_DB_USER}'@localhost identified by \"${ZM_DB_PASS}\";" | mysql --defaults-file=/etc/mysql/debian.cnf mysql else echo "grant lock tables,alter,select,insert,update,delete,create,index on ${ZM_DB_NAME}.* to '${ZM_DB_USER}'@localhost;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql fi zmupdate.pl --nointeractive zmupdate.pl --nointeractive -f # Add any new PTZ control configurations to the database (will not overwrite) zmcamtool.pl --import >/dev/null 2>&1 else echo 'NOTE: mysql not running, please start mysql and run dpkg-reconfigure zoneminder when it is running.' fi else echo 'mysql not found, assuming remote server.' fi else echo "Not doing database upgrade due to remote db server ($ZM_DB_HOST)" fi echo "Done Updating, starting ZoneMinder" deb-systemd-invoke restart zoneminder.service || exit $? fi #DEBHELPER#