Files
zoneminder/distros/redhat/readme
2017-06-30 07:36:22 -05:00
..
2017-04-15 09:23:28 -05:00
2017-06-30 07:36:22 -05:00

What's New
==========

1. ZoneMinder now uses a conf.d subfolder to process custom changes to
   variables found in zm.conf. Changes to zm.conf will be overwritten
   during an upgrade. Instead, create a file with a ".conf" extension under
   the conf.d folder and make your changes there.
   
2. ZoneMinder now supports recording directly to video container! This feature
   is new and should be treated as experimental. Refer to the documentation
   regarding how to use this feature.

3. The Apache ScriptAlias has been changed from "/cgi-bin/zm/zms" to 
   "/cgi-bin-zm/zms". This has been to done to avoid this bug:
   https://bugzilla.redhat.com/show_bug.cgi?id=973067

   IMPORTANT: You must manually inspect the value for PATH_ZMS under Options
   and verify it is set to "/cgi-bin-zm/nph-zms". Failure to do so will result
   in a broken system. You have been warned.

4. This package uses the HTTPS protocol by default to access the web portal.
   Requests using HTTP will auto-redirect to HTTPS. See README.https for
   more information.

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

1. Unless you are already using MariaDB server, you need to ensure that the
   server is configured to start during boot and properly secured by running:

	sudo yum install mariadb-server
	sudo systemctl enable mariadb
	sudo systemctl start  mariadb.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 and configure a database
   account for ZoneMinder to use:

     mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
     mysql -uroot -p -e "grant all on zm.* to \
                        'zmuser'@localhost identified by 'zmpass';"
     mysqladmin -uroot -p reload

   The database account credentials, zmuser/zmpass, are arbitrary. Set them to
   anything that suits your environment.

3. If you have chosen to change the zoneminder database account credentials to
   something other than zmuser/zmpass, you must now create a config file under
   /etc/zm/conf.d and set your credentials there. For example, create the file
   /etc/zm/conf.d/zm-db-user.conf and add the following content to it:
      
      ZM_DB_USER = {username of the sql account you want to use}
      ZM_DB_PASS = {password of the sql account you want to use}

   Once the file has been saved, set proper file & ownership permissions on it:
  
      sudo chown root:apache *.conf
      sudo chmod 640 *.conf 

4. Edit /etc/php.ini, uncomment the date.timezone line, and add your local
   timezone.  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

5. Disable SELinux 

   We currently do not have the resources to create and maintain an accurate
   SELinux policy for ZoneMinder on CentOS 7. We will gladly accept pull
   reqeusts from anyone who wishes to do the work. In the meantime, SELinux
   will need to be disabled or put into permissive mode.
   
   To immediately disbale SELinux for the current seesion, issue the following
   from the command line:

     sudo setenforce 0

   To permanently disable SELinux, edit /etc/selinux/config and change the
   SELINUX line from "enforcing" to "disabled". This change will take
   effect after a reboot.

6. Install mod_ssl or configure /etc/httpd/conf.d/zoneminder.conf to meet your
   needs. This package comes preconfigured for HTTPS using the default self
   signed certificate on your system. The recommended way to complete this step
   is to simply install mod_ssl:

	sudo yum install mod_ssl

   If this does not meet your needs, then read README.https to
   learn about alternatives. When in doubt, install mod_ssl.

7. Now start the web server:

	sudo systemctl enable httpd
	sudo systemctl start httpd

8. Now start zoneminder:

	sudo systemctl enable zoneminder
	sudo systemctl start zoneminder

Upgrades
========

1. Conf.d folder support has been added to ZoneMinder 1.31.0. Any custom
   changes previously made to zm.conf must now be made in one or more custom
   config files, created under the conf.d folder. Do this now. See 
   /etc/zm/conf.d/README for details. Once you recreate any custom config changes
   under the conf.d folder, they will remain in place indefinitely.

2. Verify permissions of the zmuser account.

   Over time, the database account permissions required for normal operation
   have increased. Verify the zmuser database account has been granted all
   permission to the ZoneMinder database:

     mysql -uroot -p -e "show grants for zmuser@localhost;"

   See step 2 of the Installation section to add missing permissions.

3. Verify the ZoneMinder Apache configuration file in the folder 
   /etc/httpd/conf.d. You will have a file called "zoneminder.conf" and there
   may also be a file called "zoneminder.conf.rpmnew". If the rpmnew file
   exists, inspect it and merge anything new in that file with zoneminder.conf.
   Verify the SSL REquirements meet your needs. Read README.https if necessary.

4. Upgrade the database before starting ZoneMinder.

   Most upgrades can be performed by executing the following command:
   
     sudo zmupdate.pl

   Recent versions of ZoneMinder don't require any parameters added to the 
   zmupdate command. However, if ZoneMinder complains, you may need to call
   zmupdate in the following manner:

   sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>

5. Now restart the web server then start zoneminder:

        sudo systemctl restart httpd
	sudo systemctl start zoneminder