Devuan 5 Daedalus with Zoneminder 1.36 from ZM Repo
Tested today with a migration from a fresh Raspbian Buster which was migrated to Beowulf. I did it a roundabout way, but users should be able to follow the same instructions for Ascii here: Devuan Ascii with Zoneminder 1.32.3 from ZM Repo, except substituting release-1.34 for release in the zmrepo apt sources list. Please refer to zmrepo.zoneminder.com/debian for more details.
Make sure to add in the /etc/init.d/zoneminder file.
Note: tested update from Devuan Jessie to Beowulf: 2020/06
This is a guide for a Sysvinit based Devuan / Debian system. Debian Stretch / Devuan Ascii and Zoneminder Stable 1.34 from the ZMRepo. 1.35 is unstable (odd number).
Requirements:
- Debian 10 | buster /sysvinit
- Devuan Beowulf
- Zoneminder 1.34
Install
install mariadb, apache2, php based on: https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-lamp-on-debian-stretch/
apt-get install mariadb-server apache2 php7.3 libapache2-mod-php7.3
restart apache
service apache2 restart
Add zmrepo to /etc/apt/sources.list
deb https://zmrepo.zoneminder.com/debian/release-1.34/ buster/
NOTE: 1.34 is currently in release-1.34 folder on zmrepo. This is subject to change. Confirm it's there before installing.
NOTE: In order to make this guide, all the existing guides for Debian were parsed.
https://wiki.zoneminder.com/Debian_9_64-bit_with_Zoneminder_1.30.4_the_Easy_Way https://wiki.zoneminder.com/Debian_10_Buster_with_Zoneminder_1.34.x_from_ZM_Repo (these names are changed periodically, so refer to Debian) etc...
apt-get update apt-get install apt-transport-https gnupg wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add - apt-get update apt-get install zoneminder vlc-plugin-base php7.3-gd adduser www-data video apt-get install zoneminder a2enmod cgi a2enmod rewrite a2enconf zoneminder chmod 740 /etc/zm/zm.conf chown root:www-data /etc/zm/zm.conf 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
The zmupdate.pl call may fail during install of zoneminder. Run it manually to update the db.
# zmupdate.pl
Then apt should complete successfully. Some systemctl commands will fail, but these can be ignored for now.
may need to set timezone in /etc/php/7.3/apache2/php.ini (and In 1.34 in zm web console options)
e.g. date.timezone America/New_York
service apache2 restart
At this point, you will not have an /etc/init.d/ file for zoneminder
You must copy one from an existing install, or from 1.29 or 1.30.4. I'm going to put the init script from 1.30.4 in Zoneminder_Init_Script
after copying that in, and chmod +x /etc/init.d/zoneminder
zoneminder should start:
# service zoneminder start Starting ZoneMinder: 01/27/2020 12:27:42.776878 zmpkg[2722].INF [main:57] [Command: start] 01/27/2020 12:27:42.778627 zmpkg[2722].INF [main:305] [Sanity checking States table...] 01/27/2020 12:27:42.780839 zmpkg[2722].INF [main:97] [Command: start] 01/27/2020 12:27:44.231615 zmpkg[2722].INF [main:205] [Single server configuration detected. Starting up services.] success
double check by reviewing
ps auxw | grep zm
Now, navigate to the Apache server which hosts ZM gui at http://serverip/zm
Review syslog for any error messages.
Upgrading
If you are importing an existing db, now is a good time. Stop zm, and import the db.
service zoneminder stop
mysqldump -u root -p zm > dump.sql (export old db) mysql -uroot -p zm < dump.sql (import old db)
After this is done, you need to update the db
# zmupdate.pl
run this at least twice, as it tends to error out. If it's already updated, nothing new will happen.
you should see something like: Database upgrade to version 1.32.3 successful.
Then start zm
service zoneminder start
you might want to run zmaudit.pl to delete non existing events on the new install
Troubleshooting
- zmupdate.pl if apt-get fails db upgrade during install of zoneminder.
- You might have to install zoneminder again, instead of an update. Backup DB, and nothing will be lost.
- if localhost/zm says 'page not found' check /etc/apache/conf-available/ which points to /usr/share/zoneminder/www and which may not have the correct permissions (needs apache / www-data user)
- also check that you enabled the conf in apache: a2enconf zoneminder