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

1. ***EOL NOTICE***
   It has become increasingly difficult to maintain the ZoneMinder project such
   that it remains compatible with EL6 distros. The version of php shipped with
   EL6 distros and the version of ffmpeg which will build against EL6 are too
   old. It is with regret that I must announce our plans to stop supporting
   ZoneMinder on EL6 distros soon. Your best option is to upgrade to an EL7
   distro or another distro with newer php & ffmpeg packages. Please note that
   replacing core packages, such as php, will not be supported by us. You are
   on your own should you choose to go down that path.

2. The Apache ScriptAlias has been changed from "/cgi-bin/zm/zms" to 
   "/cgi-bin-zm/zms". This has been to done match the configuration of
   CentOS7/Fedora and simplify the build process.

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

3. The ZoneMinder configuration file, zm.conf, has been moved to /etc/zm/.
   This has been to done match the configuration of CentOS7/Fedora and
   simplify the build process.
   
4. Due to the active state of the ZoneMinder project, we now recommend granting
   ALL permission to the ZoneMinder mysql account. This change must be done
   manually before ZoneMinder will run. See the installation steps below.

5. 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.

6. The php package that ships with CentOS 6 does not support the new ZoneMinder
   API. If you require API functionality (such as using a mobile app) then you
   should consider an upgrade to CentOS 7 or use Fedora.

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

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

     sudo yum install mysql-server
     sudo service mysqld start
     /usr/bin/mysql_secure_installation
     sudo chkconfig mysqld on

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 mysql credentials to something
   other than zmuser/zmpass then you must now edit /etc/zm/zm.conf. Change
   ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step.

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. 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.

6. Configure the web server to start automatically:

     sudo chkconfig httpd on
     sudo service httpd start

7. This package will automatically configure and install an SELinux policy
   called local_zoneminder. A copy of this policy is in the documentation
   folder.
   
   It is still possible to run into SELinux issues, however. If this is case,
   you can disable SELinux permanently by editing the following:
   
   /etc/selinux/conf
   
   Change SELINUX line from "enforcing" to "disabled". This change will not
   take effect until a reboot, however. To avoid a reboot, execute the
   following from the commandline:
   
   sudo setenforce 0

8. Finally, you may start the ZoneMinder service:

     sudo service zoneminder start

   Then point your web browser to http://<machine name or ip>/zm

Upgrades
========

1. Verify /etc/zm/zm.conf.

   If zm.conf was manually edited before running the upgrade, the installation
   may not overwrite it. In this case, it will create the file
   /etc/zm/zm.conf.rpmnew.

   For example, this will happen if you are using database account credentials
   other than zmuser/zmpass.

   Compare /etc/zm/zm.conf to /etc/zm/zm.conf.rpmnew. Verify that zm.conf
   contains any new config settings that may be in zm.conf.rpmnew.

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 service httpd restart
	sudo service zoneminder start

