无论是在家中还是在企业中,物理安全始终是包罗万象的安全策略的基础组成部分。 安全摄像机的使用往往是物理安全监控解决方案的基石。
摄像机面临的最大挑战之一往往是视频馈送/图像的管理和存储。 Zone Minder是解决这个任务的最好的开源解决方案之一。
Zone Minder为用户提供了大量解决方案,用于监控,管理和分析来自安全摄像头的视频源。 Zone Minder的一些亮点包括:
- 免费,开源,不断更新。
- 适用于大多数IP摄像机(即使是具有PTZ,夜视和4k分辨率等特殊功能的摄像机)。
- 基于Web的管理控制台。
- Android和iOS应用程序从任何地方进行监控。
要查看Zone Minder的更多功能,请访问项目主页https://zoneminder.com/features/
本文将介绍在Debian 9 Stretch上安装Zone Minder ,另一篇文章将介绍Zone Minder的配置,以监视安全摄像头的提要。
区域管理员实验室设置图
区域管理员实验室设置图
虽然这是大多数IP摄像机安装的简化,但是这些概念仍然可以工作,假设摄像机具有到Zone Minder服务器的网络连接。
本文将假设读者已经有了Debian 9的最小基础安装并正在运行。 与SSH连接的裸安装是所有假设。
服务器上不需要图形环境,因为所有的东西都通过Apache Web服务器提供给连接到Zone Minder Web界面的客户端。
请参阅youcl上关于安装Debian 9的文章: https ://www.youcl.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)
- 内存:18 GB
- 1个1Gbps网络连接的IP摄像机
- 1个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 backports中有更新版本的Zone Minder 。
要在干净的Debian安装中启用backports,请发出以下命令:
# echo -e “\n\rdeb http://ftp.debian.org/debian stretch-backports main” >> /etc/apt/sources.list
一旦启用了backports,系统可能会有一系列的更新需要发生。 运行以下命令来更新软件包,为本文的其余部分做准备。
# 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服务器安装可能会提示用户为数据库配置根密码, 请勿忘记此密码 。
一旦安装完成,强烈建议使用以下命令保护数据库:
# mysql_secure_installation
以上命令可能会提示输入MariaDB安装时创建的root密码,然后询问用户有关禁用测试用户,远程root登录数据库以及删除测试数据库的安全问题。 这是安全的,并建议'Yes'
是所有这些问题的答案。
现在需要准备数据库,并为数据库准备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-test '
下一步是解决Zone Minder配置文件的所有权,以便它可以被apache用户( www-data )使用以下命令读取:
# chgrp www-data /etc/zm/zm.conf
www-data用户也需要成为该系统的“ 视频 ”组的一部分。 要做到这一点,应该使用下面的命令:
# usermod -aG video www-datada
还需要在位于' /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
区域管理员仪表板
恭喜! 现在Debian 9上启动了Zone Minder 。 在接下来的文章中,我们将介绍Zone Minder控制台中存储,摄像机和警报的配置。