Ubuntu 18.04 安装Zoneminder记录
作者:互联网
最近闲的,想装个监控服务器玩,查了下应该就Zoneminder应该还不错,记录如下:
找到官网,https://zmrepo.zoneminder.com/,看了半天,先装个公钥吧
wget -O - https://zmrepo.zoneminder.com/debian/archive-keyring.gpg | sudo apt-key add -
然后转到页面说明的Ubuntu安装说明,https://zoneminder.readthedocs.io/en/latest/installationguide/ubuntu.html
接下来执行下列命令开始安装
sudo apt-get install tasksel sudo tasksel install lamp-server
方便起见切换下root用户
sudo -i
加PPA源
add-apt-repository ppa:iconnor/zoneminder-1.36
更新更新(我只update了)
apt-get update apt-get upgrade apt-get dist-upgrade
配置MySql,系统里应该装了mysql,没装装一个,注意版本,我的版本是MySQL 5.7 + Zoneminder 1.36
执行
rm /etc/mysql/my.cnf (this removes the current symbolic link) cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
编辑my.cnf
vim /etc/mysql/my.cnf
找到[mysqld]区块,追加以下内容
sql_mode = NO_ENGINE_SUBSTITUTION
保存重启
systemctl restart mysql
接下来安装
apt-get install zoneminder
配置数据库,初始化。
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,references on zm.* to 'zmuser'@localhost identified by 'zmpass';"
这块导入可能会报一些SQL错误,主要是新增表失败,表已经存在之类的,
解决方法是在SQL报错的地方加上了删除表的命令,大概zm_create.sql的1089行左右
DROP TABLE IF EXISTS Sessions; CREATE TABLE Sessions (... DROP TABLE IF EXISTS Snapshots; CREATE TABLE Snapshots (... DROP TABLE IF EXISTS Snapshot_Events; CREATE TABLE Snapshot_Events (...
再执行应该差不多的位置还会报错,无法删除Snapshots表,因为外键关联。所以加上下列命令,强行删除就好了,
SET FOREIGN_KEY_CHECKS = 0;
我最后的解决方法,手动删除了上述三张表,再执行zm_create.sql,无错成功。
设置权限
chmod 740 /etc/zm/zm.conf chown root:www-data /etc/zm/zm.conf chown -R www-data:www-data /usr/share/zoneminder/
增加用户
adduser www-data video usermod -a -G video www-data
配置Apache
a2enmod cgi a2enmod rewrite a2enconf zoneminder a2enmod expires a2enmod headers
设置ZoneMinder自启动&启动
systemctl enable zoneminder systemctl start zoneminder systemctl reload apache2
最后,访问!
http://ip/zm/
my.cnf
标签:zm,18.04,Ubuntu,apt,Zoneminder,cnf,etc,mysql,zoneminder 来源: https://www.cnblogs.com/boneking/p/15793005.html