ZoneMinder video camera security and surveillance: Difference between revisions
m (Removed a hyperlink to a hypothetical URL.) |
(Added details for Alpine 3.15) |
||
Line 3: | Line 3: | ||
First, add the needed packages to our system | First, add the needed packages to our system | ||
apk add zoneminder | apk add zoneminder mariadb mysql-client lighttpd php5-fpm php5-pdo php5-pdo_mysql | ||
Initialize [https://www.mysql.com/ MySQL] database | Initialize [https://www.mysql.com/ MySQL] database | ||
Line 17: | Line 17: | ||
mysql> create database zm; | mysql> create database zm; | ||
mysql> CREATE USER | mysql> CREATE USER zmuser@localhost 'your_zm_password_as_set_in_config'; | ||
mysql> grant | mysql> grant ALL on zm.* to zmuser@localhost; | ||
We are running <code>lighttpd</code>, so let's run <code>php-fpm</code> as lighttpd user/group | We are running <code>lighttpd</code>, so let's run <code>php-fpm</code> as lighttpd user/group | ||
Line 84: | Line 84: | ||
ZM_WEB_USER=lighttpd | ZM_WEB_USER=lighttpd | ||
ZM_WEB_GROUP=lighttpd | ZM_WEB_GROUP=lighttpd | ||
ZM_PATH_DATA=/usr/share/zoneminder | |||
# ZoneMinder database type: so far only mysql is supported | # ZoneMinder database type: so far only mysql is supported | ||
Line 95: | Line 96: | ||
# ZoneMinder database user | # ZoneMinder database user | ||
ZM_DB_USER= | ZM_DB_USER=zmuser | ||
# ZoneMinder database password | # ZoneMinder database password | ||
Line 125: | Line 126: | ||
rc-update add php-fpm default | rc-update add php-fpm default | ||
rc-update add zoneminder default | rc-update add zoneminder default | ||
== Added notes to work with Nginx == | |||
Later to add some notes about running via nginx | |||
==Related Links== | ==Related Links== |
Revision as of 14:36, 10 May 2022
ZoneMinder usually runs with Apache, but in this short how-to we use Lighttpd.
First, add the needed packages to our system
apk add zoneminder mariadb mysql-client lighttpd php5-fpm php5-pdo php5-pdo_mysql
Initialize MySQL database
/etc/init.d/mariadb setup
Set root password for MySQL as instructed by MySQL setup
/usr/bin/mysqladmin -u root password 'your_secure_root_mysql_password'
Create a ZoneMinder MySQL database and user
mysql> create database zm;
mysql> CREATE USER zmuser@localhost 'your_zm_password_as_set_in_config';
mysql> grant ALL on zm.* to zmuser@localhost;
We are running lighttpd
, so let's run php-fpm
as lighttpd user/group
vim /etc/php5/php-fpm.conf
Which should look like:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ;user = nobody ;group = nobody user = lighttpd group = lighttpd
Enable the php cgi fpm config in lighttpd.conf
vim /etc/lighttpd/lighttpd.conf
Go down to the includes section, it should look like:
# {{{ includes include "mime-types.conf" # uncomment for cgi support include "mod_cgi.conf" # uncomment for php/fastcgi support # include "mod_fastcgi.conf" # uncomment for php/fastcgi fpm support include "mod_fastcgi_fpm.conf" # }}}
Edit lighttpd cgi config and add old style cgi support by adding to cgi.assign
vim /etc/lighttpd/mod_cgi.conf
which should look like
cgi.assign = ( "" => "", ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl" )
Start php-fpm
/etc/init.d/php-fpm start
Start lighttpd
/etc/init.d/lighttpd start
Set the MySQL hostname, username, password.
Change the ZoneMinder user (ZM_WEB_USER
) and group (ZM_WEB_GROUP
) to lighttpd
And set ZM_SERVER_HOST
to your ZoneMinder hostname/ipaddress
vim /etc/zm.conf
Which should look like:
# Username and group that web daemon (httpd/apache) runs as ZM_WEB_USER=lighttpd ZM_WEB_GROUP=lighttpd ZM_PATH_DATA=/usr/share/zoneminder
# ZoneMinder database type: so far only mysql is supported ZM_DB_TYPE=mysql # ZoneMinder database hostname or ip address ZM_DB_HOST=localhost # ZoneMinder database name ZM_DB_NAME=zm # ZoneMinder database user ZM_DB_USER=zmuser # ZoneMinder database password ZM_DB_PASS=your_zm_password_as_set_in_config # Host of this machine ZM_SERVER_HOST=yourserver
Change ownership of zm.conf
to lighttpd
chown lighttpd.lighttpd /etc/zm.conf
Initialize the ZoneMinder database
/etc/init.d/zoneminder setup
Start ZoneMinder
/etc/init.d/zoneminder start
Profit!
To access ZoneMinder, browse to http://yourserver/zm/
To make it start automatically on boot:
rc-update add lighttpd default rc-update add mariadb default rc-update add php-fpm default rc-update add zoneminder default
Added notes to work with Nginx
Later to add some notes about running via nginx
Related Links
- https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Browser_Client - Kiosk to watch Streams