Gentoo is a distribution that prides itself on being extra-configurable, processor native, and easy to update. Gentoo users usually compile their installation from srouce, but while it's great to nitpick on the details, Gentoo also has the option of installing a precompiled system quickly from a LiveCD.
- Other distros have a one-size-fits-all approach, including full GUI environments unnecessary for a ZoneMinder CCTV DVR box.
- Binary distributions make it difficult to locate the appropriate libraries for ZoneMinder to build properly. Packages for these distrubutions often do not include development libraries and headers necessary for building software from source.
- A Gentoo system is highly configurable, and is easy to update and maintain.
- Gentoo's portage package system in conjunction with the emerge command makes it much easier to obtain the needed packages for ZoneMinder and whatever else you might need.
Installation of Gentoo Linux
Gentoo has its own comprehensive install guide which is regularly updated, this can be found in the Gentoo Handbook.
Installing ZoneMinder for Gentoo
There are some ZoneMinder packages (called 'ebuilds') available for Gentoo in the 'portage' tree. https://packages.gentoo.org/packages/www-misc/zoneminder
The ZoneMinder ebuilds are currently (April 2017) masked. You will need to unmask the package
# nano /etc/portage/package.keywords www-misc/zoneminder ~amd64
you may also want to add the version to /etc/portage/package.unmask
# nano /etc/portage/package.unmask =www-misc/zoneminder-1.30.2
After unmasking you can now install via the emerge command.
emerge --ask zoneminder
ZoneMinder currently depends on mysql. Gentoo will install dev-db/maria by default unless you configure otherwise. This will need to be configured prior to running ZoneMinder and adding its database.
emerge --config mariadb
Once configured, you will need to add the zm database and install the default tables.
mysql -uroot -p -e "create database zm;" mysql -uroot -p zm < /usr/share/zoneminder/db/zm_create.sql mysql -uroot -p mysql> use zm; grant select,insert,update,lock tables,delete on zm.* to 'zmuser'@localhost identified by 'zmpass'; mysql> flush privileges; mysql> exit;
ZoneMinder's config file is located at /etc/zm.conf
A default install will only require your database details to be updated.
You may also want to install:
- pciutils - this is useful if you have pci based capture cards, probably not required if you intend to use IP cameras.
- usbutils - same as pciutils for usb cameras, may not be required.
- samba - to exchange files with Windows clients/servers.
These packages are easily installed by typing emerge --ask <package_name>
Maintaining the System
Avoiding a Full Disk
Automatic FTP of Events
Purge When Full Script
The default install includes a purge script that will clear frames at 95% disk capacity. This can be modifed under "Filters".