I had been using zoneminder for a while and had an install that had gone through 2 RPM updates cleanly. The last one did not. Here is what I did to make it work, and the errors I found along the way.
Lessons From Recent 1.25 --> 1.29 upgrade (RPM Fedora 22)
1. I downloaded the SRPM from https://zmrepo.zoneminder.com/. The binary RPM was giving me fits, so I decided to build from source.
2. After building the RPM, I backed up the DB and did the usual rpm -uvh
3. RPM spits out a warning about rewriting zm.conf ad zm.conf.rpmsave
a. The configuration file moves from /etc to /etc/zm (I copied the rpmsave file there for comparison)
b. The config file has a couple of new options, double check them, ZM_SERVER_HOST is the most critical (required now).
4. Ran zmupdate.pl but it stops with the error Table 'zm.Config' doesn't exist
a. Had to update DB script (/usr/share/zoneminder/db/zm_update-1.28.99.sql) to take out hardcoded zm database name.
It's at line 325, change UPDATE `zm` to UPDATE `whatever_your_zoneminder_db_name_is`
5. Once zone minder successfully started I went to the config and found a couple of anomalies.
a. Under paths, my path_zms had changed.
i. Ensure that your /etc/httpd/conf.d/zoneminder.conf matches what you have in path_zms. I changed mine to match what
showed up in config after update (ie ScriptAlias /cgi-bin/zm "/usr/libexec/zoneminder/cgi-bin")
6. Go to the servers tab put the hostname you put in your conf file in both the name & Hostname
7. Restart zoneminder (service zoneminder restart) & apache (service httpd restart)
8. Go to each camera (Under Source) and then under server select the server you set in your config and in "servers". Hit save.
Do this for every camera. (I didn't have to restart zoneminder, but you might)
I hope this helps.
Respectfully,
AG
PS
I did drop and re-add the DB user and flushed MySQL privileges
Some errors we found along the way that the procedure above solves:
Symbolic link not allowed or link target not accessible: /usr/libexec/zoneminder/cgi-bin/nph-zms
ERR [ZM_SERVER_HOST set to home.XXXXXXX.net in config, but not found in Servers table.]
ERR [socket_sendto( /var/lib/zoneminder/sock/zms-956926s.sock ) failed: No such file or directory]