CentOS
The intent of this walk through is to install a very base/bare bones installation of CentOS that runs only ZoneMinder. This would be for a dedicated ZoneMinder server with no GUI or any unnecessary services running. The reason for the very light-weight installation is to make the majority of system resources available to ZoneMinder, not the OS. With this installation, memory is reduced to around 140-160MB, and CPU usage is practically nonexistent. The CentOS base installation is very easy to install and doesn’t take too much time as long as you have some type of broadband connection. There are many ways to install CentOS, but this article covers only two, because they are related.
All CLI operations/commands in this How-To are done as root, in the /root directory. The reasoning is that this system would be in a secure environment to begin with. However, if you need to add a user to run these services to better secure the system, then you can, but keep in mind that some items must run as root.
Zmrepo - A ZoneMinder repository for RPM based distros
The ZoneMinder development team would like to introduce you to a new, easier way to install ZoneMinder on CentOS. Zmrepo is meant to be a turn-key solution. There is no compiling, no installing modules from CPAN, and no more complicated repository instructions.
This repository brings together a ZoneMinder rpm built by the development team, with all features enabled. It also includes all dependencies that are not found in the default CentOS repositories. A few Perl modules are built by us, but all the rest of the dependencies are mirrored from popular sites such as EPEL and RPMFusion. There is no longer a need to add these additional repositories to your system. Zmrepo takes care of that for you.
Who Should Use
The development team strictly uses CentOS, but these packages should work on Red Hat Enterprise Linux and Scientific Linux. The rpms in zmrepo are intended to work with default installations of these Linux distributions. Modified versions are not guaranteed to work. Continue to the Disclaimer below for details.
Please report any issues with RHEL and SL, as we have no way of pro-actively discovering them.
Disclaimer
This could also be appropriately called Who should not Use zmrepo.
The goal behind CentOS is that of an enterprise operating system. Stability is prioritized over the latest and greatest version of a particular package. Fortunately, bug fixes are backported. Consequently, you should never replace the core packages in CentOS! If you truly think that you "have to have" some package that is newer than what is found in the default repository then you should consider using a different Linux distro.
The CentOS maintainers have a great write-up that describes this in much more detail here. Pay close attention to the all the do's, dont's, and "this will break" comments.
Zmrepo extends this same philosophy onto ZoneMinder. While ZoneMinder requires many dependencies to work, zmrepo will not overwrite any core packages. It only adds packages that, otherwise, would not be available.
One other case is worth mentioning. This repository is intended only for those who have installed RHEL/CentOS/SL using the official installation media for that distribution! This means that these rpms are not intended to work with third parties that release their own spin of CentOS, which contain their own third party application preinstalled. Third parties are allowed to modify the original distribution in any way, which means we can't guarantee the rpms in zmrepo will be compatible.
For example, if you installed "CentOS" using an installation disk from an Astericks vendor, then the rpms in zmrepo are known not to work.
Installation
Please navigate to http://zmrepo.zoneminder.com/ and select your distro from the drop-down to view the installation instructions.
Remember to follow the steps documented in README.Centos7 following installation of the ZoneMinder rpm.
Archived Installation Instructions
What follows is a link to old installation instructions which predate rpm installations from zmrepo or rpmfusion. They are kept solely for reference. CentOS/Archived