ZoneMinder安装学习
安装说明适用于未安装ZM的全新ubuntu 18.04系统。
建议您使用Ubuntu Server安装并在安装期间选择LAMP选项以安装Apache,MySQL和PHP。如果您没有这样做,您可以通过运行来实现相同的结果:
1
2
|
sudo apt-get install tasksel#安装tasksel
sudo tasksel install lamp-server
|
在安装过程中,它会要求您为MySQL设置root密码。安装LAMP是ZoneMinder所必须的。
步骤1:使用sudo在此安装中运行命令或使用以下命令成为root
1
|
sudo-i
|
第2步:更新Repos
最新发布的
ZoneMinder现在是当前标准Ubuntu存储库的一部分,但有时官方存储库可能会落后。要查看我们的 发布页面以获取最新版本。
或者,ZoneMinder项目团队维护PPA,在新版本的ZoneMinder之后立即更新。要使用此存储库而不是官方Ubuntu存储库,请从命令行输入以下内容:
1
|
add-apt-repository ppa:iconnor/zoneminder
|
请注意,从1.32.0开始我们正在为每个主要版本创建一个新的PPA,以防止从一个主要版本自动升级到另一个主要版本。因此,而不是上面的ppa行使用以下内容:
1
|
add-apt-repository ppa:iconnor/zoneminder-1.36
|
如果您使用的是Trusty或Xenial,则可能需要添加两者,因为旧的ppa中包含一些依赖项包。
更新和升级。
1
2
3
|
apt-get update
apt-get upgrade
apt-get dist-upgrade
|
第3步:配置MySQL
MySQL 5.7中的某些新默认值会导致ZoneMinder <1.32.0的某些问题,解决方法是修改MySQL的sql_mode设置。请注意,ZoneMinder 1.32.0不需要这些更改,并且有些人报告它们在1.32.0中导致问题。
为了更好地管理MySQL服务器,建议复制示例配置文件并替换默认的my.cnf符号链接。
1
2
|
rm/etc/mysql/my.cnf (thisremoves the current symbolic link)
cp/etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf
|
要更改MySQL设置:
1
|
vi/etc/mysql/my.cnf
|
在[mysqld]部分中添加以下内容
1
2
3
|
sql_mode=NO_ENGINE_SUBSTITUTION
设置时区。如:北京时间的东8时区
default-time-zone='+8:00'
|
按shift+;
输入wq
然后按[Enter]保存
重启MySQL
1
|
systemctl restart mysql
|
第4步:安装ZoneMinder
1
|
apt-get install zoneminder
|
第5步:配置ZoneMinder数据库
ZoneMinder 1.32.0上不需要此步骤。
1
2
3
|
#反正我是操作了,按照官方说明比操作也可以
mysql-uroot-p</usr/share/zoneminder/db/zm_create.sql
mysql-uroot-p-e"grant lock tables,alter,drop,select,insert,update,delete,create,index,alter routine,create routine, trigger,execute on zm.* to 'zmuser'@localhost identified by 'zmpass';"
|
第6步:设置权限
将/etc/zm/zm.conf设置为root:www-data 740和www-data访问内容
1
2
3
|
chmod740/etc/zm/zm.conf
chown root:www-data/etc/zm/zm.conf
chown-Rwww-data:www-data/usr/share/zoneminder/
|
第7步:正确配置Apache
1
2
3
|
a2enmod cgi
a2enmod rewrite
a2enconf zoneminder
|
您可能还希望启用以下模块以提高缓存性能
1
2
|
a2enmod expires
a2enmod headers
|
步骤8:启用并启动Zoneminder
1
2
|
systemctl enable zoneminder
systemctl start zoneminder
|
第9步:在PHP中编辑时区
1
|
vi/etc/php/7.2/apache2/php.ini
|
找到[date],把date.timezone前面分号删除,在 http://php.net/manual/en/timezones.php 找到你所在的时区,我们这里设置为亚洲/上海
1
2
3
4
|
[Date]
;Defines the defaulttimezone used by the date functions
;http://php.net/date.timezone
date.timezone=Asia/Shanghai
|
按shift+;
输入wq
然后按[Enter]保存
1
2
3
4
5
6
7
8
9
10
|
设置系统时区
先查看当前系统时间
root@ubuntu:/# date -R
我需要的是东八区,这儿显示不是,所以需要设置一个时区
运行tzselect
root@ubuntu:/# tzselect
按键顺序:4-9-1
复制文件到/etc目录下
root@ubuntu:/# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
再次查看时间date-R,已经修改为北京时间
|
第10步:重新加载Apache服务
1
|
systemctl reload apache2
|
- 打开浏览器并转到
http://ip/zm
应该就能打开ZoneMinder控制台 - (可选的API检查)在同一浏览器中打开一个选项卡,然后转到
http://ip/zm/api/host/getVersion.json
如果它正常工作,您应该获得类似于以下示例的版本信息:
1
2
3
4
|
{
"version":"1.29.0",
"apiversion":"1.29.0.1"
}
|
安装完成
问题处理
删除摄像头时系统将events 文件夹给删除了。造成不能保存录像的问题
解决:在以下路径下新建events文件夹,赋值权限755,组和所有者www-data [33]
ubuntu server 18.04 路径:/var/cache/zoneminder/
更新系统版本至1.34
要在Ubuntu上更新到此版本,您将需要添加新的ppa
sudo add-apt-repository ppa:iconnor / zoneminder-1.34