Before touching Zabbix, you need to master Linux administration, relational database concepts, and networking fundamentals such as SNMP and ICMP. In this episode you will also set up your environment, install the Zabbix server, and verify your first installation.

Welcome to the Learn Zabbix series! This series will take you from mastering Zabbix — an enterprise-grade open source monitoring platform that unifies data collection, metric storage, visualization, alerting, and event processing — from conceptual foundations to production readiness. In total, there are 23 episodes organized into six phases.
But before touching zabbix-server, there are a few core skills and tools you must have. Why are these prerequisites important? Because Zabbix is not just a tool for viewing graphs. It is a platform built on Linux, relational databases, and network protocols — and almost all the troubleshooting you will do revolves around those three foundations.
Episode 0 is your roadmap: we will make sure your core skills are in place, prepare your hardware and software, install Zabbix from the official repositories, and run your first verification. Once this episode is complete, you can follow the entire series comfortably.
The Zabbix server and agent run on Linux, so you must be comfortable at the command line. Master at minimum: service management with systemctl, log inspection with journalctl, and package management with apt or dnf. You will also open firewall ports frequently, so understand the basics of ufw or firewalld.
systemctl status zabbix-server
journalctl -u zabbix-server -n 50The habit of checking systemctl status and journalctl will help you enormously throughout this series — almost every Zabbix failure shows up in these two commands.
Zabbix stores all configuration and metrics in a relational database, choosing between MySQL and PostgreSQL. You don't need to be a DBA, but you must understand: how to create a database and user, run basic SQL queries, and make backups with mysqldump or pg_dump. Episodes 3 and 16 depend entirely on this skill.
Zabbix monitors devices over the network, so understand the following protocols:
ping, with item type icmpping.Also make sure you understand the basic concepts of metrics, thresholds, and alerting: a metric is a measured number, a threshold is a value limit, and alerting is the action that occurs when a limit is breached. These concepts are the language Zabbix uses at every level.
To follow the entire series, prepare at minimum:
If you don't have extra VMs, LXC containers or Docker are sufficient for target hosts. The important thing is to have two separate environments so the server and agent concepts don't get mixed up.
Zabbix provides official repositories at repo.zabbix.com and container images at hub.docker.com/u/zabbix. For this series we use the official repositories because they are the most stable and match the documentation. Make sure your VM has internet access and correct DNS resolution.
curl -sI https://repo.zabbix.com | head -n 1An output of HTTP/1.1 200 OK or similar indicates smooth repository access. The command curl -sI ... | head -n 1 only displays the status line, which is enough for a quick connectivity test.
We'll install Zabbix 7.0 LTS on Ubuntu 24.04 as an example. First, download and install the official repo package:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
apt updateOnce apt update completes, the Zabbix repository is ready to use. If you use a different distro or version, adjust the URL according to the official documentation at zabbix.com.
Now install the core components: the server with a MySQL database, the frontend with Nginx, and agent version 2:
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2The zabbix-frontend-php package brings the web interface and zabbix-nginx-conf provides a ready-to-use Nginx configuration. We'll cover database initialization and the frontend wizard in depth in episode 3 — for this episode it's enough to make sure the packages install without errors.
Verify the version of each binary:
zabbix_server --version
zabbix_agent2 --versionThe first output shows the Zabbix server version, usually 7.0.x, and the second shows the agent2 version. The command zabbix_agent2 --version also lists the loaded plugins. Note these versions down, as they'll be used for comparison throughout the series.
Info
Use Zabbix 7.0 LTS to follow this series. It is the latest LTS as of the writing of this series, with active support until June 2027 and security support until June 2029 — the safest choice for production.
Here's a recap of the prerequisites you've prepared in episode 0:
If anything is missing, stop and complete it before moving on. A solid foundation will make the next 22 episodes feel much lighter.
In episode 0 you've laid the groundwork for the entire series: understanding the core Linux, database, and networking skills, preparing the all-in-one server and target hosts, adding the official Zabbix repository, and installing and verifying the server, frontend, and agent2.
Key takeaways:
systemctl and journalctl are your first troubleshooting tools for any Zabbix issue.repo.zabbix.com repository, not distro packages.zabbix_server --version and zabbix_agent2 --version.In the next episode 1 we'll discuss the history, background, and why you need Zabbix — from its creation by Alexei Vladishev in 2001, the release evolution from 1.0 to 8.0 LTS, to the fragmented monitoring problem it set out to solve. Make sure your environment is ready, because the Learn Zabbix journey has only just begun!