Подробный гайд по установке Zabbix в Alt Linux с PostgreSQL и Apache - Часть 1

Подробный гайд по установке Zabbix в Alt Linux: настройка сервера мониторинга с базой PostgreSQL, веб-сервером Apache и PHP для контроля инфраструктуры.

2026.09.28                  


Подробный гайд по установке Zabbix в Alt Linux с PostgreSQL и Apache - Часть 1Подробный гайд по установке Zabbix в Alt Linux с PostgreSQL и Apache - Часть 1

Установка Zabbix в Alt Linux с PostgreSQL и Apache

0. Что будет установлено

Устанавливаем набор:

  • Zabbix Server;
  • Zabbix Web/Frontend;
  • PostgreSQL;
  • Apache;
  • PHP и необходимые расширения;
  • Zabbix Agent для мониторинга самого сервера.

1. Подготовка системы

Проверьте версию Alt Linux:

cat /etc/os-release
uname -a

Обновите списки пакетов и систему:

sudo apt-get update
sudo apt-get upgrade -y

Если sudo не настроен, используйте su -.



Установите полезные утилиты:

sudo apt-get install -y curl wget vim net-tools mc

2. Поиск доступных пакетов Zabbix

В Alt Linux используется apt-get для RPM-пакетов. Имена пакетов могут отличаться в зависимости от ветки репозитория.

Сначала посмотрите, что доступно:

apt-cache search zabbix | grep -Ei "server|agent|frontend|web"

Типичные пакеты могут называться примерно так:

zabbix-server-pgsql
zabbix-agent
zabbix-frontend-apache2
zabbix-get
zabbix-sender

Если пакет называется иначе, используйте то имя, которое показал apt-cache search.

Например, если видите:

zabbix-server-pgsql
zabbix-agent
zabbix-web-apache2-pgsql

устанавливайте именно их.


3. Установка PostgreSQL, Apache, PHP и Zabbix

Установите PostgreSQL:

sudo apt-get install -y postgresql-server postgresql-client

Установите Apache:

sudo apt-get install -y apache2

Установите PHP и расширения. В разных ветках Alt Linux версии PHP могут отличаться.

Сначала найдите доступные пакеты:

apt-cache search php | grep -E "^php[0-9]"

Пример установки для PHP 8.3:

sudo apt-get install -y \
php8.3 \
php8.3-fpm \
php8.3-pgsql \
php8.3-gd2 \
php8.3-mbstring \
php8.3-xml \
php8.3-bcmath \
php8.3-ldap \
php8.3-curl \
php8.3-ctype

Если в репозитории другая версия PHP, например 8.2, замените php8.3 на php8.2.

Также установите сам Zabbix. Пример:

sudo apt-get install -y \
zabbix-server-pgsql \
zabbix-agent \
zabbix-frontend-apache2

Если пакет фронтенда называется иначе, установите его по имени из apt-cache search.

Дополнительно можно установить утилиты диагностики:

sudo apt-get install -y zabbix-get zabbix-sender

Проверьте версии:

zabbix_server --version
psql --version
apachectl -v
php --version || php8.3 --version

4. Инициализация PostgreSQL

Проверьте, инициализирован ли кластер:

ls -l /var/lib/pgsql/data/PG_VERSION 2>/dev/null

Если файла нет, выполните инициализацию.

Вариант через стандартную утилиту:

sudo postgresql-setup initdb

Если такой команды нет:

sudo -u postgres /usr/bin/initdb -D /var/lib/pgsql/data

Запустите PostgreSQL:

sudo systemctl enable --now postgresql

Проверьте статус:

sudo systemctl status postgresql

Проверьте, что сервер слушает порт:

ss -tulpn | grep 5432

5. Настройка PostgreSQL для Zabbix

Зайдите в PostgreSQL под пользователем postgres:

sudo -u postgres psql

Создайте пользователя и базу данных:

CREATE ROLE zabbix WITH LOGIN PASSWORD 'Очень_Сложный_Пароль';
CREATE DATABASE zabbix
OWNER zabbix
ENCODING 'UTF8'
LC_COLLATE='C'
LC_CTYPE='C'
TEMPLATE template0;

Подключитесь к базе zabbix:

\c zabbix

Для PostgreSQL 15+ обязательно выдайте права на схему public:

GRANT ALL ON SCHEMA public TO zabbix;
ALTER SCHEMA public OWNER TO zabbix;

Выход:

\q

6. Настройка pg_hba.conf

Нужно разрешить пользователю zabbix подключаться к базе zabbix локально.

Найдите файл pg_hba.conf:

PG_HBA=$(sudo -u postgres psql -t -c "SHOW hba_file;" | xargs)
echo "$PG_HBA"

Откройте его:

sudo vim "$PG_HBA"

Добавьте в конец строки:

host    zabbix          zabbix          127.0.0.1/32            scram-sha-256
host    zabbix          zabbix          ::1/128                 scram-sha-256

Если старый клиент не поддерживает scram-sha-256, можно использовать:

host    zabbix          zabbix          127.0.0.1/32            md5
host    zabbix          zabbix          ::1/128                 md5

Проверьте, что в postgresql.conf разрешено локальное прослушивание:

sudo vim /var/lib/pgsql/data/postgresql.conf


Найдите или добавьте:

listen_addresses = 'localhost'

Перезапустите PostgreSQL:

sudo systemctl restart postgresql

Проверьте подключение:

psql -U zabbix -h 127.0.0.1 -d zabbix

При запросе пароля введите пароль пользователя zabbix.

Выход:

\q

7. Импорт схемы базы данных Zabbix

Найдите файл схемы:

rpm -ql zabbix-server-pgsql | grep -E "schema\.psql(\.gz)?$"

Если файл не найден, выполните поиск вручную:

find /usr/share /usr/share/doc -name "schema.psql*" -path "*zabbix*" 2>/dev/null

Файл может быть, например, здесь:

/usr/share/doc/zabbix-server-pgsql-7.0.x/schema.psql.gz
/usr/share/zabbix-server-pgsql/schema.psql

Импортируйте схему.

Если файл .gz:

sudo cp /путь/к/schema.psql.gz /tmp/zabbix_schema.psql.gz
sudo chmod 644 /tmp/zabbix_schema.psql.gz
sudo -u postgres bash -c "zcat /tmp/zabbix_schema.psql.gz | psql zabbix"

Если файл обычный .psql:

sudo cp /путь/к/schema.psql /tmp/zabbix_schema.psql
sudo chmod 644 /tmp/zabbix_schema.psql
sudo -u postgres psql zabbix < /tmp/zabbix_schema.psql

Проверьте таблицы:

sudo -u postgres psql -d zabbix -c "\dt" | head

Вы должны увидеть таблицы Zabbix, например:

hosts
items
triggers
users

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта