zoneminder/distros/redhat/readme/README.httpd

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

176 lines
6.6 KiB
Plaintext
Raw Permalink Normal View History

2015-10-04 00:04:58 +08:00
New installs
============
2018-11-18 01:52:04 +08:00
NOTE: EL7 users should replace "dnf" with "yum" in the instructions below.
2016-12-24 03:06:44 +08:00
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 dnf install mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb.service
mysql_secure_installation
2015-10-04 00:04:58 +08:00
2. Assuming the database is local and 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 -u root -p < /usr/share/zoneminder/db/zm_create.sql
mysql -u root -p -e "CREATE USER 'zmuser'@'localhost' \
IDENTIFIED BY 'zmpass';"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON zm.* TO \
'zmuser'@localhost;"
2016-02-03 01:47:55 +08:00
mysqladmin -uroot -p reload
2015-10-04 00:04:58 +08:00
The database account credentials, zmuser/zmpass, are arbitrary. Set them to
anything that suits your environment.
2015-10-04 00:04:58 +08:00
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
2015-11-22 05:18:43 +08:00
2019-12-30 22:53:34 +08:00
4. Manually setting the timezone in /etc/php.ini is deprecated.
2019-12-30 22:53:34 +08:00
Instead, navigate to Options -> System from the ZoneMinder web console.
Do this after completing step 10, below.
Note that timezone errors will appear in the ZoneMinder log until this
has been completed.
2015-10-04 00:04:58 +08:00
5. Disable SELinux
2019-12-30 22:53:34 +08:00
SELinux must be disabled or put into permissive mode. This is not optional!
2015-10-04 00:04:58 +08:00
To immediately disbale SELinux for the current seesion, issue the following
from the command line:
2015-10-04 00:04:58 +08:00
sudo setenforce 0
2015-10-04 00:04:58 +08:00
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. Configure the web server
2016-03-03 22:33:49 +08:00
This package uses the HTTPS protocol by default to access the web portal,
2018-09-25 07:23:40 +08:00
using the default self signed certificate on your system. Requests using
HTTP will auto-redirect to HTTPS.
Inspect the web server configuration file and verify it meets your needs:
2018-11-21 05:36:34 +08:00
/etc/zm/www/zoneminder.httpd.conf
2016-03-03 22:33:49 +08:00
If you are running other web enabled services then you may need to edit
this file to suite. See README.https to learn about other alternatives.
When in doubt, proceed with the default:
2018-11-21 05:47:23 +08:00
sudo ln -sf /etc/zm/www/zoneminder.httpd.conf /etc/httpd/conf.d/
sudo dnf install mod_ssl
2016-03-03 22:33:49 +08:00
7. Now start the web server:
sudo systemctl enable httpd
sudo systemctl start httpd
2016-03-03 22:33:49 +08:00
8. Now start zoneminder:
sudo systemctl enable zoneminder
sudo systemctl start zoneminder
9. Optionally configure the firewall
All Redhat distros ship with the firewall enabled. That means you will not
be able to access the ZoneMinder web console from a remote machine until
changes are made to the firewall.
What follows are a set of minimal commands to allow remote access to the
ZoneMinder web console and also allow ZoneMinder's ONVIF discovery to
work. The following commands do not put any restrictions on which remote
machine(s) have access to the listed ports or services.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-port=3702/udp
sudo firewall-cmd --reload
Additional changes to the firewall may be required, depending on your
security requirements and how you use the system. It is up to you to verify
these commands are sufficient.
10. Access the ZoneMinder web console
You may now access the ZoneMinder web console from your web browser using
an appropriate url. Here are some examples:
http://localhost/zm (works from the local machine only)
http://{machine name}/zm (works only if dns is configured for your network)
http://{ip address}/zm
2016-08-16 22:49:45 +08:00
2015-10-04 00:04:58 +08:00
Upgrades
========
2018-09-25 07:23:40 +08:00
1. Conf.d folder support has been added to ZoneMinder. 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.
2015-11-22 05:18:43 +08:00
2015-10-04 00:04:58 +08:00
2. Verify permissions of the zmuser account.
2015-10-04 00:04:58 +08:00
Over time, the database account permissions required for normal operation
2015-11-22 05:18:43 +08:00
have increased. Verify the zmuser database account has been granted all
permission to the ZoneMinder database:
2016-02-03 01:47:55 +08:00
mysql -uroot -p -e "show grants for zmuser@localhost;"
2013-10-06 08:41:28 +08:00
2015-10-04 00:04:58 +08:00
See step 2 of the Installation section to add missing permissions.
2013-10-06 08:41:28 +08:00
2015-10-04 00:04:58 +08:00
3. Verify the ZoneMinder Apache configuration file in the folder
2018-11-21 05:36:34 +08:00
/etc/zm/www. You will have a file called "zoneminder.httpd.conf" and there
2018-11-18 01:52:04 +08:00
may also be one or more files with "rpmnew" extenstion. If the rpmnew file
2015-10-04 00:04:58 +08:00
exists, inspect it and merge anything new in that file with zoneminder.conf.
2018-11-21 21:58:12 +08:00
Verify the SSL Requirements meet your needs. Read README.https if necessary.
2015-10-04 00:04:58 +08:00
2018-09-25 07:23:40 +08:00
The contents of this file must be merged into your Apache configuration.
See step 6 of the installation section if you have not already done this
during a previous upgrade.
2018-11-21 21:58:12 +08:00
IMPORTANT: Failure to complete this step properly will result in a mostly
empty or significantly corrupted web console post-upgrade.
2018-11-21 05:47:23 +08:00
2015-10-04 00:04:58 +08:00
4. Upgrade the database before starting ZoneMinder.
Most upgrades can be performed by executing the following command:
2013-10-06 08:41:28 +08:00
2015-10-04 00:04:58 +08:00
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:
2013-10-06 08:41:28 +08:00
2013-10-10 07:35:39 +08:00
sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>
2015-10-04 00:04:58 +08:00
2017-04-15 22:23:28 +08:00
5. Now restart the web server then start zoneminder:
2015-10-04 00:04:58 +08:00
2017-04-15 22:23:28 +08:00
sudo systemctl restart httpd
2015-10-04 00:04:58 +08:00
sudo systemctl start zoneminder
2019-12-30 22:53:34 +08:00
6. Manually setting the timezone in /etc/php.ini is deprecated.
Instead, navigate to Options -> System from the ZoneMinder web console.
Do this now.
Note that timezone errors will appear in the ZoneMinder log until this
has been completed.