Gentoo Install

From ZoneMinder Wiki
Jump to navigationJump to search

About Gentoo

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.

Why Gentoo?

  • 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;


Config File

ZoneMinder's config file is located at /etc/zm.conf

A default install will only require your database details to be updated.

ZM_DB_USER=zmuser
ZM_DB_PASS=zmpass

Additional Packages

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

Watchdogs

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".