This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

2 Server installation with MySQL database

It is a good practice to have the innodb_file_per_table option enabled on MySQL. Check this setting before proceeding.

Red Hat Enterprise Linux / CentOS

Installing packages

Here is an example for Zabbix server and web frontend installation with MySQL database:

# yum install zabbix-server-mysql zabbix-web-mysql

In order to install zabbix-web-mysql on RHEL 7 you need to enable rhel-7-server-optional-rpms repository.

Creating initial database

Create Zabbix database and user on MySQL by the following commands, where <root_password> shall be replaced with the actual root password (e.g., shell> mysql -uroot -p12345) and <password> with new password for zabbix user on the database (including apostrophes: ...identified by '67890';):

shell> mysql -uroot -p<root_password>
       mysql> create database zabbix character set utf8 collate utf8_bin;
       mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
       mysql> quit;

Note that UTF-8 is the only encoding supported by Zabbix. It is known to work without any security flaws. Users should be aware that there are known security issues if using some of the other encodings.

Now import initial schema and data. Make sure to insert correct version for 3.0.*. You will be prompted to enter your newly created password.

# zcat /usr/share/doc/zabbix-server-mysql-3.0.*/create.sql.gz | mysql -uzabbix -p zabbix

In order to check the version you have in your package, use the following command:

# rpm -q zabbix-server-mysql

Database configuration for Zabbix server

Edit server host, name, user and password in zabbix_server.conf as follows, where DBPassword is the password you've set creating initial database:

# vi /etc/zabbix/zabbix_server.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

Starting Zabbix server process

It's time to start Zabbix server process and make it start at system boot:

# systemctl start zabbix-server
       # systemctl enable zabbix-server

PHP configuration for Zabbix 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 set the right timezone for you.

php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga

SELinux configuration

Having SELinux status enabled in enforcing mode, you need to execute the following command to enable successful connection of Zabbix frontend to the server:

# setsebool -P httpd_can_connect_zabbix on

As frontend and SELinux configuration is done, you need to restart Apache web server:

# systemctl start httpd

Installing frontend

Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.

Zabbix official repository provides fping, iksemel, libssh2 packages for RHEL as well. These packages are located in the non-supported directory.


Debian / Ubuntu

Installing packages

Here is an example for Zabbix server and web frontend installation with MySQL database:

# apt-get install zabbix-server-mysql zabbix-frontend-php

Creating initial database

Create Zabbix database and user on MySQL by the following commands, where <root_password> shall be replaced with the actual root password (e.g., shell> mysql -uroot -p12345) and <password> with new password for zabbix user on the database (including apostrophes: ...identified by '67890';):

shell> mysql -uroot -p<root_password>
       mysql> create database zabbix character set utf8 collate utf8_bin;
       mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
       mysql> quit;

Then import initial schema and data. You will be prompted to enter your newly created password.

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

Database configuration for Zabbix server

Edit server host, name, user and password in zabbix_server.conf as follows, where DBPassword is the password you've set creating initial database:

# vi /etc/zabbix/zabbix_server.conf
       DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

Starting Zabbix server process

Now you may start Zabbix server process and make it start at system boot

# service zabbix-server start
       # update-rc.d zabbix-server enable

PHP configuration for Zabbix frontend

Apache configuration file for Zabbix frontend is located in /etc/zabbix/apache.conf. Some PHP settings are already configured. But it's necessary to uncomment the "date.timezone" setting and set the right timezone for you.

php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value always_populate_raw_post_data -1
       # php_value date.timezone Europe/Riga

After that you need to restart Apache web server:

# service apache2 restart

If you have SELinux status enabled in enforcing mode see corresponding block for RHEL / CentOS above.

Installing frontend

Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.