mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-09-13 05:38:05 -04:00
The guide was written from a verified build and install, but the steps past that point were derived from the Debian packaging rather than run. Working through them on Apple Silicon to a running system turned up three things that were wrong or missing. mysql -u root does not work. A Homebrew MariaDB authenticates root with the unix_socket plugin, so only the operating system's root matches it; your own account gets the administrative account, which is what plain mariadb uses. Nothing said ZoneMinder has to be started as ZM_WEB_USER. zmpkg.pl compares the current user against it and tries sudo -u and two forms of su to become it, all of which fail for an ordinary user, and stops with "Unable to find valid su syntax". systemd hides this on Linux by starting the unit as the web user. Now says so, and gives the workstation alternative of running everything as one account. The web server section did not mention that zms is a CGI binary. Apache runs those with mod_cgi; nginx needs a wrapper such as fcgiwrap, which Homebrew does not package, so with nginx alone the console works and live streams do not. Also noted that the generated samples reference /etc/pki, /etc/nginx and /run/fcgiwrap.sock, none of which exist here. Added the hardcoded taint-safe PATH to the known gaps, since it is what breaks zmupdate.pl on Apple Silicon: seventeen scripts pin /bin:/usr/bin:/usr/local/bin, so the database client in the Homebrew prefix cannot be found. Worth making configurable - it would equally affect a --prefix=/opt install on Linux. Sys::CPU is listed too; it has been removed from CPAN and only zmtelemetry.pl uses it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5KL9Xbi7K5aGsauLtd8tG