zoneminder/distros/opensuse
root 43b259c5cd Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
..
CMakeLists.txt Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
README.OpenSuse Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
jscalendar.sh Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
redalert.wav Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder-1.26.5-opensuse.patch Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder.cmake.OS13.spec Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder.conf Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder.logrotate Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder.service Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00
zoneminder.tmpfiles Initial upload for opensuse rpm 2014-03-18 23:31:58 -04:00

README.OpenSuse

New installs
============

This needs to be updated for OpenSuse

1. Unless you are already using the MySQL server or you are running it
   remotely you will need to ensure that the server is installed and secured:
   
   NOTE: the default database for OpenSuse is mariadb, which is a direct 
   replacement for mysql
   
   IMPORTANT: mariadb defaults to strict mode of operation which will cause 
   some zoneminder database writes to fail.  
   In order to turn this off - which will be for the whole database you will 
   need to edit /etc/my.cnf and comment out the record 
   
   sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES .
   
   To install the database issue the following commands as root:

	zypper in mariadb

	systemctl enable mysql

	systemctl start mysql.service
     
	mysql_secure_installation
   
   
2. Using the password for the root account set during the previous step, you
   will need to create the ZoneMinder database, assuming your database server
   is local:

     mysql -uroot -p < /opt/zoneminder/share/zoneminder/db/zm_create.sql
     mysqladmin -uroot -p reload

3. The database needs a user.  One is not created by default because this would
   introduce an obvious security issue.  The following should set this up:

     mysqladmin -uroot -p reload
     grant select,insert,update,delete,alter on zm.* to 
     'zmuser'@localhost identified by 'zmpass';

   Obviously, change at least zmpass to an actual, secure password or
   passphrase.  You can change zmuser as well if you like.

4. Edit /etc/zm.conf and, at the bottom, change ZM_DB_PASS and perhaps
   ZM_DB_USER to match.

5. Edit /etc/php5/apache2/php.ini, uncomment the date.timezone line, and add 
   your local timezone.  For whatever reason, PHP will complain loudly if 
   this is not set, or if it is set incorrectly, and these complaints will 
   show up in the zoneminder logging system as errors.

   If you are not sure of the proper timezone specification to use, look at
   http://php.net/date.timezone

6. This package probably does not work with SELinux enabled at the moment. It
   may be necessary to disable SELinux for httpd, or even completely for
   ZoneMinder to function. This will be addressed in a later release.  Run

     setenforce 0

   for testing, and edit /etc/sysconfig/selinux to disable it at boot time.

7. IMPORTANT: Edit /etc/httpd/conf.d/zoneminder.conf and/or /etc/httpd/conf.

***********	This needs checking for OpenSuse

   The httpd.conf file included with this version of Fedora processes the conf.d
   folder after the default ScriptAlias directive in the httpd.conf file.
   Previously, the conf.d folder was processed before the default ScriptAlias
   directive. This causes a ScriptAlias overlap and breaks Zoneminder's
   streaming abilities.

   Reference: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#order
   Bug Report: https://bugzilla.redhat.com/show_bug.cgi?id=973067

   WORKAROUND #1
   If you are running zoneminder on a dedicated server then the simplest
   solution may be to simply comment out the line in httpd.conf that reads:

	ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

   WORKAROUND #2
   If you need both the default cgi-bin folder & the zoneminder cgi-bin folder
   then a solution might be to move the following line before the default
   ScriptAlias directive in the httpd.conf file:

	IncludeOptional conf.d/*.conf

8. Now start the web server:

	sudo systemctl enable apache2.service
	sudo systemctl start apache2.service

9. You should immediately visit http://localhost/zm and secure the system if
   it is network facing.  To do this:

   a) click Options, then System.
   b) check OPT_USE_AUTH.
   c) set AUTH_HASH_SECRET to a random string.
   d) click Save and refresh the main browser window.
   e) You should be prompted to log in; 
      the default username/password is admin/admin.
   f) Open Options again, choose the newly visible Users tab.
   g) click the admin user and set a password.
   h) enable OPT_CONTROL on the Ssytem tab to enable ptz camera control.

10. ************ Check for OpenSuse

The zoneminder.service file fails at present but the zmpkg.pl script
    can be run as root to start zoneminder.

	sudo zmpkg.pl start

    To start zoneminder automatically, create /etc/rc.d/rc.local and place the 
    following inside it:
	#!/bin/sh
	/usr/bin/zmpkg.pl start 

    The rc.local file must be made executable.

Upgrades
========

1. Update /etc/zm.conf.  Check for any new settings and update the version
   information.  Comparing /etc/zm.conf and /etc/zm.conf.rpmnew should help to
   do this.

2. Add the mysql ALTER permission to the zmuser account:

     mysql -u root -p
     grant alter on zm.* to 
     'zmuser'@localhost identified by 'zmpass';

   Since this is an upgrade, the assumption is that the zmuser account already
   has select, insert, update, and delete permission.
   
3. You will need to upgrade the ZoneMinder database as described in the
   manual. Only if the previous step was succesful, may you run zmupdate like
   so:
   
   sudo /opt/zoneminder/bin/zmupdate.pl --version=<from version>
   
   
   If unsure then run it this way:

   sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>
   
4. To overcome a problem when applications my use private /tmp space when systemd is used
   the OpenSuse rpm has changed the default directory for temporary files from /tmp to 
   /var/run/zoneminder. Whilst this change is directly inside the scripts, it does not, 
   at present, change the values held in the database.  
   You must therefore manually modify the database as follows:
   
   **** needs more information