How to Install Zabbix on Ubuntu Server 16.04?

Zabbix is a great open source tool for monitoring servers mainly under the GNU/LINUX environment, specialized in networks with an important user base and an active community that is always contributing both in its development and in its support for users. Today we are going to install Zabbix on Ubuntu Server 16.04.

Note: The language in some of the screenshots is not in English but the command we have executed in English language. You just need to run the given commands and execution in your screen will show based on your preferred language set on the system,

Install Zabbix on Ubuntu 16.04

The first thing we have to do is update the system in order to have the latest security updates.

sudo apt update && sudo apt –y upgrade

With this composite command, we refresh the repository cache and at the same time say yes to updates.

Run updates

Once you will enter sudo password in above screen, a series of transactions will be executed as shown in below screenshot.

sudo apt-get updates

Once we have the system updated, the next thing we need to do is to install a basic LAMP server to run the Zabbix and mysql frontend as database manager.

sudo apt install apache2 libapache2-mod-php7.0 mysql-server-5.7 mysql-client php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php-xml php-mbstring php-bcmath

Install LAMP server

Once you will execute above command, you will be getting a sequence of executions as shown in below image.

LAMP server installation

Once the LAMP server is installed, we must edit the php. ini file to set our time zone correctly. In my case “America/Caracas”.

sudo nano /etc/php/7.0/apache2/php.ini

Edit Time zone

Once you will execute above command, you will get below screen to edit the time zone. Inside the archive, we locate the part where the time zone is established and edit it with our own.

edit time zone

Now we will restart Apache service using below command..

sudo systmectl restart apache2.service

Apache service restart

Now we must add the Zabbix repository, to do this we must download a. deb file hosted on their website.


download the package

And then install it to add the repository.

sudo dpkg –i zabbix-release_3.4-1+xenial_all.deb

install downloaded package

Now we must refresh the program sources cache and install zabbix packages. Run below command to update the repository.

sudo apt update

You can see the execution of above command.

run sudo apt update

Run below command to initiate the execution.

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent

We can see the installation in below image.

Install Zabbix

Configure MySQL

In this step we must configure mysql, skip this if you already had an installation before.

sudo mysql_secure_installation

configure mysql

To the questions we must answer yes or no according to our needs. For this tutorial, the answers to these questions are no problem. The important thing is to remember the Mysql root password.

Install mysql

Then we must log in to Mysql when entering the command, we must enter the root password.

mysql –u root –p

Once inside, we must create the zabbix database.


We then create and give permission to a new Mysql user to use zabbix. This is a good security practice for our server.

GRANT ALL ON zabbix TO ‘zabbix’@localhost IDENTIFIED BY ‘zabbixpss’;

Replace’ zabbixpss’ with another username if you prefer, and’ zabbixpss’ with another password. you can see all above steps in below command.

Connect to Mysql, create db and assign permission

Next we must “copy” the configuration of Mysql to the new zabbix user.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql –u zabbix –p

copy the configuration of Mysql to the new zabbix user

However at this point I got the error of “No database selected”. Don’t worry, we’ll figure it out. To fix error 1046, we must first copy and unzip the MySql creation file.

fix error 1046

And then edit the “create.sql” file, we just must add USE zabbix; at the beginning of the file.

nano create.sql

edit the file

Save and we will be able to import the file.

cat create.sql | mysql –u zabbix –p

import the saved file

This completes the configuration process of the database manager.

Now we proceed to edit the configuration file of zabbix to add the database parameters that the application will use.

sudo nano /etc/zabbix/zabbix_server.conf

edit the zabbix configuration parameters

Verify below parameters from below screenshot.





These parameters are the ones that we have to locate in the archive and change for the positions.

edit the zabbix configuration file

Then we must restart Apache2 and Zabbix services.

sudo systemctl restart apache2.service
sudo systemctl restart zabbix-server.service

restart the zabbix services

Configure Zabbix

Now, it’s ready. We have to go to our web browser and access from the ip address of the server computer.


Zabbix window

Then we proceed to configure it, pressing next. We check that all prerequisites are satisfied.

Configure zabbix

In this screen we must configure the database parameters that we have made in the previous steps.

enter database details

Then you have to configure the server parameters. In this case, we leave it the same way.

enter server details

server details

In the end if everything is correct we should see a screen like this.

Successful window

Finally we can now access through the following form:

Zabbix login screen

Username: admin

Password: zabbix

And after that, we’ll have the main view with our zabbix running on the server.

Zabbix Home window

As a conclusion we can say that Zabbix is a great open source application for server monitoring, its installation in server is relatively simple and is very useful to all system administrators.

Read More:


Angelo Marquez

I have experience in various Venezuelan governmental and private projects related to Information Technology.Fanatic of free software and Linux in general. Contact me for any query or consulting work using contact us form given on this website.
Angelo Marquez

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *