在 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 的特定服务器上具有 root 或 sudo 访问权限。
默认情况下,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 控制台中的存储、摄像头和警报的配置。