网站搜索

在 Debian 9 上安装 ZoneMinder - 视频监控软件


无论是在家庭还是企业中,物理安全始终是全方位安全策略的基本组成部分。安全摄像头的使用往往是物理安全监控解决方案的基石。

相机面临的最大挑战之一往往是视频源/图像的管理和存储。用于解决此任务的最著名的开源解决方案之一是Zone Minder

Zone Minder 为用户提供了大量用于监控、管理和分析安全摄像机视频源的解决方案。 Zone Minder 的一些亮点包括:

  • 免费、开源并不断更新。
  • 适用于大多数 IP 摄像机(甚至具有 PTZ、夜视和 4k 分辨率等特殊功能的摄像机)。
  • 基于网络的管理控制台。
  • Android 和 iOS 应用程序可随时随地进行监控。

要查看 Zone Minder 的更多功能,请访问该项目的主页:https://zoneminder.com/features/

本文将介绍在 Debian 9 Stretch 上安装 Zone Minder,另一篇文章将介绍如何配置 Zone Minder 来监控安全摄像头源。

Zone Minder 实验室设置图

虽然这是大多数 IP 摄像机安装的简化,但假设摄像机具有与 Zone Minder 服务器的网络连接,这些概念仍然有效。

本文假设读者已经安装并运行了 Debian 9 Stretch 的最小基础安装。假设使用 SSH 连接的裸机安装。

服务器上不需要图形环境,因为所有内容都将通过 Apache Web 服务器提供给连接到 Zone Minder Web 界面的客户端。

请参阅 Howtoing 上的这篇文章来安装 Debian 9:https://www.howtoing.com/installation-of-debian-9-minimal-server/。

服务器规格:

由于Zone Minder可能会保存大量视频/图像,因此该服务器所需的最大组件将是网络和存储容量。其他需要考虑的因素包括摄像机的数量、发送到服务器的图像/视频的质量、连接到 Zone Minder 系统的用户数量以及通过 Zone Minder 系统查看实时流的数量。

重要:本指南中使用的服务器虽然较旧,但不是典型的家庭用户系统。在设置 Zone Minder 系统之前,请确保彻底评估使用要求。

有关规格的 Zone Minder wiki 文章:https://wiki.zoneminder.com/How_Many_Cameras

系统规格:

  • 1 HP DL585 G1(4 个双核 CPU)
  • 内存:18GB
  • 1 个用于 IP 摄像机的 1Gbps 网络连接
  • 1 x 1Gbps 网络连接用于管理
  • 本地存储:RAID 10 中 4 x 72GB(仅限操作系统;ZM 图像/视频将在稍后卸载)
  • 1 x 1.2 TB HP MSA20(图像/视频存储)

安装区域管理器

Zone Minder 的安装非常简单,并假定在安装 Zone Minder 的特定服务器上具有 rootsudo 访问权限。

默认情况下,Debian Stretch 存储库中没有 Zone Minder 1.30.4。幸运的是,Debian Stretch 向后移植中提供了更新版本的 Zone Minder

要在 Debian 的全新安装中启用向后移植,请发出以下命令:

echo -e “\n\rdeb http://ftp.debian.org/debian stretch-backports main” >> /etc/apt/sources.list

启用向后移植后,系统可能需要进行一系列更新。运行以下命令来更新软件包,为本文的其余部分做好准备。

apt-get update
apt-get upgrade
apt-get dist-upgrade

安装和配置 Zone Minder 的第一步是使用以下命令安装必要的依赖项:

apt-get install php mariadb-server php-mysql libapache2-mod-php7.0 php7.0-gd zoneminder

在此安装过程中,MariaDB 服务器安装可能会提示用户为数据库配置root 密码,**DO不要忘记这个密码**

安装完成后,强烈建议使用以下命令保护数据库:

mysql_secure_installation

上述命令可能会首先提示输入在 MariaDB 安装期间创建的 root 密码,然后会询问用户一些有关禁用测试用户、远程 root 登录数据库以及删除测试数据库的安全问题。这是安全的,建议所有这些问题的答案都是“是”

现在需要准备数据库和数据库的 Zone Minder 用户。 Zone Minder 包提供了导入所需的架构。导入将创建用户“zmuser”、数据库“zm”,并在系统上设置默认密码*请参阅下文了解如何更改此密码 *。

以下命令将提示用户输入 MariaDB 数据库 root 用户密码。

mariadb -u root -p < /usr/share/zoneminder/db/zm_create.sql
mariadb -u root -p -e "grant all on zm.* to ‘zmuser’@localhost identified by ‘zmpass’;"

仅当用户想要更改数据库的默认用户/密码时才需要这部分!可能需要更改数据库的数据库名称、用户名或密码。

例如,假设管理员想要使用不同的用户/密码组合:

User: zm_user_changed
Password: zmpass-test

这会将上面的 MariaDB 用户命令更改为:

mariadb -u root -p -e "grant all on zm.* to ‘zm_user_changed’@localhost identified by ‘zmpass-test’;"

不过,通过这样做,Zone Minder将需要了解更改的数据库和用户名。在“/etc/zm/zm.conf”中的 ZM 配置文件中进行适当的更改。

找到并更改以下行:

  • ZM_DB_USER=zmuser ← 将“zmuser”更改为上面的新用户。 ‘zm_user_changed
  • ZM_DB_PASS=zmpass ← 将“zmpass”更改为上面使用的新密码。 'zmpass-测试'

下一步是修复 Zone Minder 配置文件的所有权,以便 apache 用户 (www-data) 可以使用以下命令读取它:

chgrp www-data /etc/zm/zm.conf

www-data 用户还需要成为该系统上“视频”组的一部分。要完成此操作,应使用以下命令:

usermod -aG video www-data

还需要在位于“/etc/php/7.0/apache2/php.ini”的 php.ini 文件中设置正确的时区。找到正确的时区,然后使用文本编辑器找到以下行并附加时区信息。

nano /etc/php/7.0/apache2/php.ini

将行“;date.timezone =”更改为“date.timezone=America/New_York”

现在需要配置 Apache 来提供 Zone Minder Web 界面。第一步是禁用默认的 Apache 页面并启用 Zone Minder 配置文件。

a2dissite 000-default.conf
a2enconf zoneminder

还有一些 Apache 模块需要启用,Zone Minder 才能正常运行。这可以通过以下命令来完成:

a2enmod cgi
a2enmod rewrite

最后步骤是启用并启动Zone Minder!使用以下命令来完成此操作:

systemctl enable zoneminder.service
systemctl restart apache2.service
systemctl start zoneminder.service

现在,如果一切顺利,导航到服务器的 IP 和 Zone Minder 目录应该会产生 Zone Minder 管理控制台,如下所示:

http://10.0.0.10/zm

恭喜! Zone Minder 现已在 Debian 9 上启动并运行。在接下来的文章中,我们将逐步介绍 Zone Minder 控制台中的存储、摄像头和警报的配置。