# Zabbix 7.0 LTS on Ubuntu 24.04 Server [![OS](https://img.shields.io/badge/ubuntu-24.04-E95420)](#) [![Shell](https://img.shields.io/badge/shell-bash-121011)](#) [![WebServer](https://img.shields.io/badge/server-nginx-009639)](#) [![PHP](https://img.shields.io/badge/php-fpm-777BB4)](#) [![MariaDB](https://img.shields.io/badge/db-mariadb-003545)](#) [![MySQL](https://img.shields.io/badge/db-mysql-4479A1)](#) [![Zabbix](https://img.shields.io/badge/app-zabbix_7.0_LTS-DC382D)](#) [![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE) Install Zabbix 7.0 LTS on Ubuntu 24.04 server. This is not a guide and not a toy. Fully automated server + agent setup, including DB schema import and ready-to-use Nginx config. ## Why this installer exists Manual Zabbix setup is time-consuming, repetitive and error-prone. This script reduces it to one run. ## What this installer does ✔ Creates database + user ✔ Imports schema automatically ✔ Generates + validates Nginx host config ✔ Detects socket vs password auth ✔ Enables Zabbix server & agent immediately ## What this installer does *NOT* do It won’t stop you from running the script without reading the documentation like there’s no tomorrow. Skip the README, and whatever happens next is your headache, not a bug report. --- ## Requirements You must already have: ✔ Nginx running ✔ PHP-FPM running ✔ MariaDB/MySQL installed ✔ Root access (script checks and exits if missing) ### Optional Installers (if you need them — saves you some googling) - [Install Nginx + PHP-FPM on Ubuntu](https://git.x-files.dk/webserver/nginx-ubuntu) - [Install MariaDB on Ubuntu](https://git.x-files.dk/database/mariadb-ubuntu) - [Install MySQL on Ubuntu](https://git.x-files.dk/database/mysql-ubuntu) --- ## 1. Prepare the system ``` sudo apt update -y ``` ## 2. Download the installer ``` git clone https://git.x-files.dk/network/zabbix-ubuntu.git ``` ``` cd zabbix-ubuntu ``` --- ## 3. Run the installer ``` sudo ./zabbixinstall -n -p ``` Socket auth (default Ubuntu) — simplest mode: ``` sudo ./zabbixinstall -n zabbix.example.com -p ZabbixPass123 ``` Password authentication: ``` sudo ./zabbixinstall -n zabbix.example.com -p ZabbixPass123 -a root -m rootpwd sudo ./zabbixinstall -n zabbix.example.com -p ZabbixPass123 -a admin -m adminpwd ``` ### Options | Flag | Description | |---|---| | `-n` domain | Required — hostname used for nginx + UI access | | `-p` password | Required — DB password for Zabbix user | | `-a` username | DB admin (default `root`) | | `-m` password | Required only without socket auth | | `-h`, `--help` | Displays mode-aware help screen | --- ## What the Installer Does ✔ Installs Zabbix 7.0 LTS packages ✔ Creates DB + user securely with utf8mb4 ✔ Detects socket vs password auth automatically ✔ Imports schema — no UI import required ✔ Generates nginx host config in `/etc/nginx/conf.d/` ✔ Pulls **nginx-snippets** repo for TLS & caching support ✔ Enables + starts Zabbix server + agent ✔ Can be safely re-run — existing DB intact --- ## First Login Open: ``` http:// ``` Default admin access: | User | Password | |---|---| | Admin | zabbix | If **socket auth NOT detected**, UI login must use: ``` DB Host = 127.0.0.1 ``` Entering `localhost` will fail. --- ## File Paths | Path | Purpose | |---|---| | `/etc/zabbix/zabbix_server.conf` | Main server configuration | | `/usr/share/zabbix-sql-scripts/mysql/server.sql.gz` | Schema imported automatically | | `/etc/nginx/conf.d/.conf` | Web server config | | `/etc/nginx/nginx-snippets/` | Shared reusable config modules | --- ## HTTPS + TLS 443 host file available: ``` https://git.x-files.dk/webserver/nginx-snippets/src/branch/main/hostfiles/zabbix.443.conf ``` Caching options included but disabled until uncommented: ``` # include cache-open-files.conf; # include cache-js-css.conf; # include cache-statics.conf; ``` --- ## Troubleshooting | Issue | Cause | Fix | |---|---|---| | UI install fails | Socket disabled + used localhost | Replace with `127.0.0.1` | | DB creation denied | No socket auth detected | Re-run with `-m` (and `-a` optional) | | PHP errors | Wrong PHP-FPM version | `systemctl status php*-fpm` | | Nginx restart fails | Config syntax error | Run `nginx -t` | --- ### More Information More guides and documentation can be found on [wiki.x-files.dk](https://wiki.x-files.dk) --- ### License Licensed under the [MIT License](./LICENSE).