Zabbix Documentation 3.4

3.04.05.0 (current)| In development:5.2 (devel)| Unsupported:1.82.02.22.43.23.44.24.4Guidelines

User Tools

Site Tools


manual:installation:install_from_packages:rhel_centos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
manual:installation:install_from_packages:rhel_centos [2017/10/24 15:28]
dimir remove sudo as used nowhere
manual:installation:install_from_packages:rhel_centos [2018/04/04 08:22]
dimir [Installation prerequisites]
Line 3: Line 3:
 === Overview === === Overview ===
  
-Official Zabbix packages are available for RHEL 7, CentOS 7 and Oracle Linux 7. In this documentation we will refer to all 3 using term "RHEL".+Official Zabbix packages are available for RHEL 7, CentOS 7 and Oracle Linux 7. In this documentation we will refer to all 3 using the term ''​RHEL''​.
  
 Some agent and proxy packages are available for [[http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​6/​x86_64/​|RHEL 6]] and [[http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​5/​x86_64|RHEL 5]] as well. Some agent and proxy packages are available for [[http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​6/​x86_64/​|RHEL 6]] and [[http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​5/​x86_64|RHEL 5]] as well.
Line 22: Line 22:
  
   # rpm -ivh http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​5/​x86_64/​zabbix-release-3.4-1.noarch.rpm   # rpm -ivh http://​repo.zabbix.com/​zabbix/​3.4/​rhel/​5/​x86_64/​zabbix-release-3.4-1.noarch.rpm
 +
 +=== Frontend installation prerequisites ===
 +
 +Zabbix frontend requires additional packages not available in basic installation. You need to enable repository of optional rpms in the system you will run Zabbix frontend on:
 +
 +RHEL 7:
 +
 +  # yum-config-manager --enable rhel-7-server-optional-rpms
  
 === Server/​proxy/​frontend installation === === Server/​proxy/​frontend installation ===
  
-To install Zabbix server (available ​only for RHEL 7) with MySQL support:+To install Zabbix server (available for RHEL 7, [[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|deprecated on RHEL 6]]) with MySQL support:
  
   # yum install zabbix-server-mysql   # yum install zabbix-server-mysql
Line 33: Line 41:
   # yum install zabbix-proxy-mysql   # yum install zabbix-proxy-mysql
  
-To install Zabbix frontend (available for RHEL 7, deprecated on RHEL 6) with MySQL support:+To install Zabbix frontend (available for RHEL 7, [[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|deprecated on RHEL 6]]) with MySQL support:
  
   # yum install zabbix-web-mysql   # yum install zabbix-web-mysql
Line 39: Line 47:
 Substitute '​mysql'​ in the commands with '​pgsql'​ to use PostgreSQL, or with '​sqlite3'​ to use SQLite3 (proxy only). Substitute '​mysql'​ in the commands with '​pgsql'​ to use PostgreSQL, or with '​sqlite3'​ to use SQLite3 (proxy only).
  
-** Creating database ​**+=== Creating database ​===
  
 For Zabbix [[manual:​concepts:​server|server]] and [[manual:​concepts:​proxy|proxy]] daemons a database is required. It is not needed to run Zabbix [[manual:​concepts:​agent|agent]]. ​ For Zabbix [[manual:​concepts:​server|server]] and [[manual:​concepts:​proxy|proxy]] daemons a database is required. It is not needed to run Zabbix [[manual:​concepts:​agent|agent]]. ​
Line 45: Line 53:
 <note warning>​If Zabbix server and proxy are installed on the same host, their databases must be created with different names!</​note>​ <note warning>​If Zabbix server and proxy are installed on the same host, their databases must be created with different names!</​note>​
  
-Create the database using the provided [[:manual:​appendix:​install:​db_scripts|database creation scripts]] for MySQL/PostgreSQL.+Create the database using the provided ​instructions for [[manual:​appendix:​install:​db_scripts#mysql|MySQL]] or [[manual:​appendix:​install:​db_scripts#​postgresql|PostgreSQL]]. 
 + 
 +=== Importing data ===
  
 Now import initial schema and data for the server with MySQL: Now import initial schema and data for the server with MySQL:
  
-  # zcat /​usr/​share/​doc/​zabbix-server-mysql/​create.sql.gz | mysql -uzabbix -p zabbix+  # zcat /​usr/​share/​doc/​zabbix-server-mysql*/​create.sql.gz | mysql -uzabbix -p zabbix
  
 You will be prompted to enter your newly created database password. You will be prompted to enter your newly created database password.
Line 55: Line 65:
 With PostgreSQL: With PostgreSQL:
  
-  # zcat /​usr/​share/​doc/​zabbix-server-pgsql/​create.sql.gz | psql -<​username>​ zabbix+  # zcat /​usr/​share/​doc/​zabbix-server-pgsql*/​create.sql.gz | sudo -<​username> ​psql zabbix
  
 For proxy, import initial schema: For proxy, import initial schema:
  
-  # zcat /​usr/​share/​doc/​zabbix-proxy-mysql/​schema.sql.gz | mysql -uzabbix -p zabbix+  # zcat /​usr/​share/​doc/​zabbix-proxy-mysql*/​schema.sql.gz | mysql -uzabbix -p zabbix
  
 For proxy with PostgreSQL (or SQLite): For proxy with PostgreSQL (or SQLite):
  
-  # zcat /​usr/​share/​doc/​zabbix-proxy-pgsql/​schema.sql.gz | psql -<​username>​ zabbix +  # zcat /​usr/​share/​doc/​zabbix-proxy-pgsql*/​schema.sql.gz | sudo -<​username> ​psql zabbix 
-  # zcat /​usr/​share/​doc/​zabbix-proxy-sqlite3/​schema.sql.gz | sqlite3 zabbix.db+  # zcat /​usr/​share/​doc/​zabbix-proxy-sqlite3*/​schema.sql.gz | sqlite3 zabbix.db
  
-Make sure to insert the correct Zabbix version in the commands (''​3.4.0''​ by default). In order to check the correct server/​proxy version of your package, run: +=== Configure database for Zabbix server/​proxy ​===
- +
-  # rpm -q zabbix-server-mysql +
-  # rpm -q zabbix-proxy-mysql +
- +
-Substitute '​mysql'​ in the commands with '​pgsql'​ if using PostgreSQL, or with '​sqlite3'​ if using SQLite3 (proxy only). +
- +
-** Configure database for Zabbix server/​proxy ​**+
  
 Edit zabbix_server.conf or zabbix_proxy.conf to use the created database. For example: Edit zabbix_server.conf or zabbix_proxy.conf to use the created database. For example:
Line 87: Line 90:
 Use ''​DBHost=''​ with PostgreSQL. You might want to keep the default setting ''​DBHost=localhost''​ (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See **SELinux configuration** below for instructions. Use ''​DBHost=''​ with PostgreSQL. You might want to keep the default setting ''​DBHost=localhost''​ (or an IP address), but this would make PostgreSQL use a network socket for connecting to Zabbix. See **SELinux configuration** below for instructions.
  
-** Starting Zabbix server process ​**+=== Starting Zabbix server process ​===
  
-It's time to start Zabbix server process ​and make it start at system boot:+It's time to start Zabbix server process:
  
-  # systemctl start zabbix-server+  # service ​zabbix-server ​start 
 + 
 +and make it start at system boot: 
 + 
 +RHEL 7 and later:
   # systemctl enable zabbix-server   # systemctl enable zabbix-server
  
-Substitute '​zabbix-server'​ with '​zabbix-proxy' ​to start Zabbix proxy process.+RHEL prior to 7: 
 +  # chkconfig --level 12345 zabbix-server on 
 + 
 +Substitute '​zabbix-server'​ with '​zabbix-proxy' ​if you are installing ​Zabbix proxy
 + 
 +=== Zabbix frontend configuration === 
 + 
 +For RHEL 7 and later the Apache configuration file for Zabbix frontend is located in /​etc/​httpd/​conf.d/​zabbix.conf.
  
-** PHP configuration for Zabbix frontend ​**+If you use RHEL 6 please read the section about [[manual/​installation/​install_from_packages/​rhel_centos#​zabbix_frontend_and_server_on_rhel_6|using ​Zabbix frontend ​on RHEL 6]] on how to configure the frontend.
  
-Apache configuration file for Zabbix frontend is located in /​etc/​httpd/​conf.d/​zabbix.conf. ​Some PHP settings are already configured. But it's necessary to uncomment the "​date.timezone"​ setting and [[http://​php.net/​manual/​en/​timezones.php|set the right timezone]] for you.+Some PHP settings are already configured. But it's necessary to uncomment the "​date.timezone"​ setting and [[http://​php.net/​manual/​en/​timezones.php|set the right timezone]] for you.
  
   php_value max_execution_time 300   php_value max_execution_time 300
Line 107: Line 121:
   php_value always_populate_raw_post_data -1   php_value always_populate_raw_post_data -1
   # php_value date.timezone Europe/Riga   # php_value date.timezone Europe/Riga
 +
 +Now you are ready to proceed with [[manual/​installation/​install#​installing_frontend|frontend installation steps]] which will allow you to access your newly installed Zabbix.
 +
 +<​note>​Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the //​[[http://​repo.zabbix.com/​non-supported/​|non-supported]]//​ directory.</​note>​
  
 === SELinux configuration === === SELinux configuration ===
Line 118: Line 136:
  
 RHEL prior to 7: RHEL prior to 7:
-  # chcon -Rv --type=httpd_sys_content_t /​usr/​share/​zabbix 
   # setsebool -P httpd_can_network_connect on   # setsebool -P httpd_can_network_connect on
   # setsebool -P zabbix_can_network on   # setsebool -P zabbix_can_network on
Line 125: Line 142:
  
   # service httpd restart   # service httpd restart
- 
-=== Frontend configuration === 
- 
-Now you are ready to proceed with [[manual/​installation/​install#​installing_frontend|frontend installation steps]] which will allow you to access your newly installed Zabbix. 
- 
-<​note>​Zabbix official repository provides fping, iksemel, libssh2 packages as well. These packages are located in the //​[[http://​repo.zabbix.com/​non-supported/​|non-supported]]//​ directory.</​note>​ 
  
 === Agent installation === === Agent installation ===
Line 141: Line 152:
  
   # service zabbix-agent start   # service zabbix-agent start
 +
 +=== Zabbix frontend and server on RHEL 6 ===
 +
 +Zabbix frontend on RHEL 6 is not supported because of PHP version. Since Zabbix 3.0 the requirements are to have PHP 5.4.0 or later while RHEL 6 latest version is 5.3.3 .
 +
 +In most cases Zabbix server and frontend are installed on the same machine. When upgrading 2.2 to 3.0 Zabbix server will perform database upgrade and frontend will stop working. There is no way to roll back the database changes so users will be forced to upgrade PHP using 3rd party packages. This is why Zabbix server is also deprecated on RHEL 6.
 +
 +If you still want to use Zabbix frontend on RHEL 6 and upgraded your PHP using 3rd party packages you would need to enable ''​zabbix-deprecated''​ repository first:
 +
 +  * open file /​etc/​yum.repos.d/​zabbix.repo
 +  * find section [zabbix-deprecated]
 +  * set enabled=1
 +  * save the file
 +
 +You will have to do some more manual configuration. This is because we cannot identify the Apache version required for your PHP which makes it impossible for us to provide proper Apache configuration for Zabbix frontend. We have included 2 Apache configuration files to our zabbix-web package, one for Apache 2.2 and another for 2.4, which you would need to integrate with the Apache configuration yourself:
 +
 +  * httpd22-example.conf
 +  * httpd24-example.conf
 +
 +To get the full path to the files execute:
 +
 +  $ rpm -ql zabbix-web | grep example.conf