Files

180 lines
4.5 KiB
Markdown
Raw Permalink Normal View History

2025-12-19 15:05:49 +01:00
# Zabbix 7.0 LTS for 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 wont stop you from running the script without reading the documentation like theres 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 <domain> -p <zabbixdbpassword>
```
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://<domain>
```
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/<domain>.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).