Official Zabbix packages are available for:
Install the repository configuration package. This package contains apt (software package manager) configuration files.
For Debian 9, run the following commands:
Note! For Debian 8, substitute 'stretch' with 'jessie' in the commands.
# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb # dpkg -i zabbix-release_4.0-2+stretch_all.deb # apt update
For Ubuntu 18.04 (bionic), run the following commands:
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb # dpkg -i zabbix-release_4.0-2+bionic_all.deb # apt update
For Raspbian, run the following commands:
# wget https://repo.zabbix.com/zabbix/4.0/raspbian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb # dpkg -i zabbix-release_4.0-2+stretch_all.deb # apt update
To install Zabbix server with MySQL support:
# apt install zabbix-server-mysql
To install Zabbix proxy with MySQL support:
# apt install zabbix-proxy-mysql
To install Zabbix frontend:
# apt install zabbix-frontend-php
Substitute 'mysql' in the commands with 'pgsql' to use PostgreSQL, or with 'sqlite3' to use SQLite3 (proxy only).
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
You will be prompted to enter your newly created database password.
# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u <username> psql zabbix
For proxy, import initial schema:
# zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabbix -p zabbix
For proxy with PostgreSQL (or SQLite):
# zcat /usr/share/doc/zabbix-proxy-pgsql/schema.sql.gz | sudo -u <username> psql zabbix # zcat /usr/share/doc/zabbix-proxy-sqlite3/schema.sql.gz | sqlite3 zabbix.db
Edit zabbix_server.conf (and zabbix_proxy.conf) to use their respective databases. For example:
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=<password>
In DBPassword use Zabbix database password for MySQL; PosgreSQL user password for PosgreSQL.
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. Refer to the respective section for RHEL/CentOS for instructions.
It's time to start Zabbix server process and make it start at system boot:
# service zabbix-server start # update-rc.d zabbix-server enable
Substitute 'zabbix-server' with 'zabbix-proxy' to start Zabbix proxy process.
Refer to the respective section for RHEL/CentOS.
As frontend and SELinux configuration is done, you need to restart Apache web server:
# service apache2 restart
Apache configuration file for Zabbix frontend is located in /etc/apache2/conf-enabled/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 max_input_vars 10000 php_value always_populate_raw_post_data -1 # php_value date.timezone Europe/Riga
Now you are ready to proceed with frontend installation steps which will allow you to access your newly installed Zabbix.
Note that a Zabbix proxy does not have a frontend; it communicates with Zabbix server only.
To install the agent, run
# apt install zabbix-agent
To start the agent, run:
# service zabbix-agent start
It is required to install Java gateway only if you want to monitor JMX applications. Java gateway is lightweight and does not require a database.
Once the required repository is added, you can install Zabbix Java gateway by running:
# apt install zabbix-java-gateway
Proceed to setup for more details on configuring and running Java gateway.