如何干净地重新安装zoneminder?

时间:2013-09-12 10:20:08

标签: mysql linux uninstall dpkg zoneminder

因为这样做: -

sudo apt-get remove --purge zoneminder
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /var/lib/mysql
sudo apt-get remove --purge apache2*
sudo apt-get clean
sudo apt-get update
sudo apt-get upgrade
sudo rm -r /var/www/*
sudo rm -r /etc/apache2/*
sudo rmdir /var/www
sudo rmdir /etc/apache2
sudo rm -r /opt/zm
sudo rm /etc/apache2/conf.d/zoneminder.conf
sudo dpkg --configure -a

reboot hardware

sudo apt-get install zoneminder

产生此错误: -

 * Starting web server apache2                                                                                                                               apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
                                                                                                                                                      [ OK ]
Setting up libapache2-mod-php5 (5.4.6-1ubuntu1.4) ...

Creating config file /etc/php5/apache2/php.ini with new version
 * Restarting web server apache2                                                                                                                             apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
                                                                                                                                                      [ OK ]
Setting up apache2 (2.2.22-6ubuntu2.3) ...
Setting up zoneminder (1.25.0-1.1ubuntu1) ...
Starting ZoneMinder: Can't open config file '/opt/zm/etc/zm.conf': No such file or directory at /usr/local/share/perl/5.14.2/ZoneMinder/Config.pm line 100
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/ZoneMinder/Config.pm line 100.
Compilation failed in require at /usr/local/share/perl/5.14.2/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/ZoneMinder.pm line 33.
Compilation failed in require at /usr/bin/zmpkg.pl line 37.
BEGIN failed--compilation aborted at /usr/bin/zmpkg.pl line 37.
failure

invoke-rc.d: initscript zoneminder, action "start" failed.
dpkg: error processing zoneminder (--configure):
 subprocess installed post-installation script returned error exit status 2
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for ureadahead ...
Errors were encountered while processing:
 zoneminder
E: Sub-process /usr/bin/dpkg returned an error code (1)

最初zoneminder“第一次”安装在这个32位“铸币14”机器上,只需使用单个apt-get install zoneminder命令: - http://www.tuxradar.com/content/build-your-own-surveillance-zoneminder  但是当我尝试通过手动编译几天前升级到版本1.26.2时,我搞砸了。

如何完全删除zoneminder以便原来的“干净”安装再次有效?

2 个答案:

答案 0 :(得分:1)

无需执行上述任何操作,请点击此链接: - http://pjpramod.blogspot.co.uk/2010/01/starting-zoneminder-cant-open-config.html

所以我这样做了: -

sudo rm -r /usr/local/share/perl/5.14.2/*

然后安装完成OK - 但弹出窗口不再有效(根本不打开或在同一窗口中打开),所以不要这样做。

最后我放弃了重新安装预先构建的软件包(1.25.0 - 或者它是1.25.2?)并下载了1.26.3 tar文件并将其解压缩并进入它... ...而且./configure丢失了...... ...但是如果你运行bootstrap.sh

./bootstrap.sh

那时(以及其他一些东西)神奇地出现了。

然后做了这个:

sudo ./configure --prefix=/opt/zm --with-mysql=/usr --with-ffmpeg=/usr --with-webuser=www-data --with-webgroup=www-data --disable-debug --disable-crashtrace --enable-mmap=yes --with-webdir=/var/www --with-cgidir=/usr/lib/cgi-bin ZM_SSL_LIB=openssl

并配置好。

然后这个

sudo make

接着是: -

sudo make install

并且安装正常但是当我尝试运行zoneminder时出现数据库错误,所以这样做会删除zm: -

mysql  -uroot -pyourPassWord
mysql > drop database zm;
mysql > quit;

并重新创建它(我对数据库一无所知,这是来自here的猴子看,猴子做的事): -

mysql -u root -pyourPassWord
>create database zm;
>exit
mysql -u root -pyourPassWord zm < db/zm_create.sql

mysql -u root -pyourPassWord zm
>grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';
>quit
mysqladmin -u root -pyourPassWord reload

然后它工作正常(我正在运行这样的zm: - )

sudo /etc/init.d/zm start

在试图找出apache和zm之间的链接(以及apache如何工作等)时,我发现你只需要这样做: -

localhost/index.php

调出zoneminder,工作正常,在我的浏览器中 - Yee Haw!两天的努力和一次离婚都不错。

但是我只能通过这样做来让zmpkg.pl工作: -

sudo /opt/zm/bin/zmpkg.pl

而不是这个: -

sudo zmpkg.pl

因为,我知道,$ PATH是为sudo定义的“全局”,因此我在.bashrc文件中添加/ opt / zm / bin没有效果,所以不要将zmpkg.pl放入/ usr / local / sbin(或“global”$ PATH中的其中一个路径)我插入一个链接,如下所示: -

sudo ln -s /opt/zm/bin/zmpkg.pl /usr/local/sbin/zmpkg.pl

它有效!所以现在,例如。

sudo zmpkg.pl status

再次工作。

有谁知道应该怎么做?例如。这样

localhost/zm

再次工作?

2013年12月20日更新:通过重复上述一些说明,我刚刚在这个薄荷14系统上成功升级到版本1.26.5,即 1)停止zoneminder。

2)下载1.26.5版本

3)运行./bootstrap.sh脚本(如上所述)。

4)运行./configure ...脚本(如上所述)。

5)跑出制作(如上所述 - 但有错误)......

所以我读了README并从中复制并粘贴了它(第24行):

root@host:~# aptitude install -y apache2 mysql-server php5 php5-mysql build-essential libmysqlclient-dev libssl-dev libbz2-dev libpcre3-dev libdbi-perl libarchive-zip-perl libdate-manip-perl libdevice-serialport-perl libmime-perl libpcre3 libwww-perl libdbd-mysql-perl libsys-mmap-perl yasm subversion automake autoconf libjpeg8-dev libjpeg8 apache2-mpm-prefork libapache2-mod-php5 php5-cli libphp-serialization-perl libgnutls-dev libjpeg8-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev libtool ffmpeg libnetpbm10-dev libavdevice-dev libmime-lite-perl dh-autoreconf dpatch;

然后做了一个 sudo干净 然后重复上面的4)和5)并编译好。

6)“sudo make install”是否正常(即我认为旧版本之上)。

7)然后做了所有其余的“如上所述”的指令从数据库中删除zm(尝试zm失败后)并重新插入它然后通过“zmpkg.pl start”脚本启动OK作为版本1.26.5

8)和以前一样,我不得不手动重置所有摄像头和密码以及用户和区域,但至少这一切都是“第一次”工作

答案 1 :(得分:0)

我建议您必须卸载所有包含LAMP(apache,mysql,php)和zoneminder的软件包。

使用此命令删除这些包。

sudo aptitude purge <pkg-name>

然后你必须去zoneminder手动安装目录(比如/ usr / src)。并使用命令

sudo make clean
sudp updatedb

在此之后,您可以开始正常的安装过程。