Installing using ZoneMinder RPMs for SuSE
This is a short How-to for installing ZoneMinder on openSuSE with RPMs Currently RPMS are available for openSuSE 11.2 11.3 and 11.4 architectures are i586 and x86_64.
There are two versions available for every above listed SuSE version even one which requires only the packages that comes with the official SuSE release. These packages have some missing features of ZoneMinder like mjpeg streaming from remote cameras. The other version is build against the packages from packman ([1]) and do not lack of this features. They can be identified by the "MP" in the package name, for example ZoneMinder-MP-1.22.3-21.i586.rpm.
Installation of openSuSE
Install SuSE on any supported way on your system. Detailed installation instruction are listed at [2].
Installation of ZoneMinder
using YaST
The best and easiest way is to install the ZoneMinder package via YaST. First you have to find out which SuSE version you are using. The urls to the different repositories are:
openSuSE 11.3: http://www.liquid-co.de/pub/suse/repositories/11.3/
openSuSE 11.4: http://www.liquid-co.de/pub/suse/repositories/11.4/
Note: To resolve the dependencies to perl-PHP-Serialization for openSuSE 11.3 or newer you also need to add the Build Service repository which offers the package:
openSuSE 11.4: http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.4/
openSuSE 11.3: http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_11.3/
Depreciated SuSE versions (repository is still there but not updated anymore)
SuSE 10.0: Last ZoneMinder version: 1.22.3 http://www.liquid-co.de/pub/suse/repositories/discontinued/10.0/
SuSE 10.1: Last ZoneMinder version: 1.23.3 http://www.liquid-co.de/pub/suse/repositories/discontinued/10.1/
openSuSE 10.2: Last ZoneMinder version: 1.23.3 http://www.liquid-co.de/pub/suse/repositories/discontinued/10.2/
openSuSE 10.3: Last ZoneMinder version: 1.24.2 http://www.liquid-co.de/pub/suse/repositories/discontinued/10.3/
openSuSE 11.0: Last ZoneMinder version: 1.24.2 http://www.liquid-co.de/pub/suse/repositories/discontinued/11.0/
openSuSE 11.1: Last ZoneMinder version: 1.24.2 http://www.liquid-co.de/pub/suse/repositories/discontinued/11.1/
openSuSE 11.2: Last ZoneMinder version: 1.24.2 http://www.liquid-co.de/pub/suse/repositories/discontinued/11.2/
Now you have to add the adequate repositories to YaST. Start YaST and go to "installation source". Select "add" and choose "http" as protocol. Enter as server "liquid-co.de" and as path "pub/suse/repositories/10.x". For more details on how to add package repositories to YaST go to [3].
Optional you can add one packman repository from [4] so that it is possible to install the RPM build against the packman RPMs with mjpeg streaming support and dependencies to ffmpeg.
Now go to YaST->Softwaremanagement search for ZoneMinder and select the version you want (either ZoneMinder or ZoneMinder-MP). Keep in mind that ZoneMinder-MP requires the packman repository. Then proceed as normal, all other required packages will be resolved due to dependencies.
using one-click-install (openSuSE >= 10.3)
openSuSE 10.3 offers an installation by only one click. Just click on the following button. If you prefer the non MP version use the following link: Install normal version
If you prefer the MP version use this one. If you don't already added one packman repository you can select one packman repository during the one-click-install dialogue. install MP version
using Yum
You must have already installed Yum to use this way of installation. Yum easily can be installed via Yast. Choose the adequate link for your SuSE version above and download the ZoneMinder.repo file. (http://www.liquid-co.de/pub/suse/repositories/10.x/ZoneMinder.repo) and copy it to /etc/yum.repos.d/. Then run:
yum install ZoneMinder
which will list you the two available versions of ZoneMinder. Choose your wanted version and install ZoneMinder. All required packages will be installed automaticly.
Note: To install the RPM build against the packman RPMs with mjpeg streaming support and dependencies to ffmpeg you must have added the packman repository to Yum before.
Manual installation through rpm command
Download your choosen RPM from the listed repositories. Start root console and run:
rpm -ivh <ZoneMinder package>
Note: When you choose this way you have to resolve the package dependencies all by yourself. So the other methods are recommended.
Setting up MySQL and Apache
After you successfully installed all RPMs start root console. Run the following command to start Apache and MySQL:
rcapache2 start rcmysql start
When this is the first time you start MySQL follow the steps on the screen to setup a MySQL root password. When you plan to start ZoneMinder at boot, you can now add Apache and MySQL for automatic start by typing:
chkconfig apache2 on chkconfig mysql on
Note: Of course you can also use YaST Runleveleditor for this task.
Initializing ZoneMinder
Log in into root console and run:
zm_database_init
and follow the steps on the screen. This script will setup the ZoneMinder database, creating the zm_admin user for database access and update the /etc/zom.conf with the new set password for zm_admin user. Example output:
zm_database_init INFO: when db is correctly installed and you just reinstalled rpm, the answer all questions with 'n' new install create db run mysql command to create db as user root? [Y/n]: enter mysql root password: create user zm_admin for zoneminder? [Y/n]: Enter new passwd for user zm_admin: retype password: should i update config file with new passwd? [Y/n]: removing lock file done
Important Note: If you entered the wrong mysl root password or changed the mysql root password and you get something like Permission denied for user root when running zm_database_init (you don't get prompted for the mysql root password again) you have to edit /root/.my.cnf and enter the correct mysql root password there or remove that file to get prompted for the root password again (during execution of zm_database_init). After that run zm_database_init again which should now proceed as desired.
Then run:
rczm start
to start ZoneMinder. When you decided to start ZoneMinder at boot time then enter:
chkconfig zm on
This command will start ZoneMinder on boot time after apache2 and mysql are started.
After successfully installation the ZoneMinder web interface can be reached at http://localhost/zm
Hint: Since openSuSE 10.3 PHP short_open_tag is disabled by default. The RPM now includes a config file for apache to avoid a manual edit. The only thing you have to do is to restart apache after the installation (rcapache2 restart)!
Note: When trying to run rczm start without running zm_database_init the start will fail.
Update ZoneMinder
When new version of ZoneMinder or of the RPMs are available you might want to update your existing installation. You can use YaST again for this task. Before you enter YaST run "rczm stop" to stop ZoneMinder. Go to YaST -> Softwaremanagement and search for ZoneMinder. Switch the checkbox to "upgrade" (look for icon explaining in YaST or in textmode for ">"). Choose your wanted version as described in Installation of ZoneMinder and proceed. After installation run zm_database_init and follow the steps on the screen to update your database.
Note: When upgrading without ZoneMinder version change, this happens for example when upgrading from one rpm version to a later RPM version (for example from ZoneMinder-1.22.3-10.x86_64.rpm to ZoneMinder-1.22.3-11.x86_64.rpm ) then the database is already installed and no database upgrade is necessary. In this case, when you will be asked weather to create zm database or to create the zoneminder database user, you have to answer all questions from the zm_database_init script with "no".
Note: If not stopping ZoneMinder (rczm stop) before upgrading you might get an information box with "... failed". you can ignore this box, but after installation ZoneMinder will be stopped.
- Due to package name change of the MP package you have to run "cp /etc/zm.conf.rpmsave /etc/zm.conf" and before "zm_datbase_init" when upgrading the MP package from 1.22.3 to 1.23.x. Finally you have to rerun "chkconfig zm on" when you want to start ZoneMinder at boot. For more detailed informations look at Switching between MP and non MP version.
Upgrade from manual installation to RPM
When upgrading from a manual installation from ZoneMinder to any RPM version remove all related zoneminder files except the config file /etc/zm.conf. Then install the RPM and follow the steps listed in Installation of ZoneMinder.
Switching between MP and non MP version
Follow the steps described at Installation of ZoneMinder. Because ZoneMinder-MP and ZoneMinder packages are conflicting YaST will report a conflict. Resolve the dependencies by deleting the unwanted ZoneMinder version. After finished installation you have to replace the new installed configuration file by typing (as root):
cp /etc/zm.conf.rpmsave /etc/zm.conf
the run zm_database_init if this is not an update of ZoneMinder (compare to Update Zoneminder) and answer all questions with no otherwise follow the update steps on the screen.
Note: After switching between MP and non MP version you have to run "chkconfig zm on" again if you want to start ZoneMinder at boot.
Uninstalling ZoneMinder
If you are uninstalling ZoneMiner the database will be untouched, the recorded events and logfiles will reside on the disk and the zm.conf file in /etc will be copied to zm.conf.rpmsave.[5]