What's New ========== 1. 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. 2. A new permission group called "Groups" has been added. This allows the system administrator to assign "view", "edit", or "none" permission to normal users, without giving them access to the rest of the ZoneMinder system. During an upgrade, existing accounts will default to a Groups permission of "none". 3. This package now requires the HTTPS protocol 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 MySQL server, you need to ensure that the server is confired to start during boot and properly secured by running: 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 envinroment. 3. If you have chosen to change the zoneminder mysql credentials to something other than zmuser/zmpass then you must now edit /etc/zm.conf. Change ZM_DB_USER and ZM_DB_PASS to the values you created in step 2. Additionally, you must also edit /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. Scroll down and change login and password 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. Verify the default ZoneMinder Apache configuration meets your needs: /etc/httpd/conf.d/zoneminder.conf When in doubt, leave this configuration as it is. 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:///zm ================================================================================ UPGRADES ================================================================================ 1. Verify /etc/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.conf.rpmnew. For example, this will happen if you are using database account credentials other than zmuser/zmpass. Compare /etc/zm.conf to /etc/zm.conf.rpmnew. Verify that zm.conf contains any new config settings that may be in zm.conf.rpmnew. Additionally, you must also edit /usr/share/zoneminder/www/api/app/Config/database.php in a similar manner. Scroll down and change login and password to the values you used previsouly. 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. 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= --version= 5. Now start zoneminder: sudo service zoneminder start