Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 2

Подробный пошаговый гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache, Agent 2, настройкой SELinux, бэкапов и безопасности.

2026.09.20                  


Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 2Подробный гайд по установке Zabbix 7.0 LTS в CentOS Stream 9 с PostgreSQL, Apache - Часть 2

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

Импортируйте структуру базы данных:

zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | \
PGPASSWORD="${ZBX_DB_PASS}" psql -h 127.0.0.1 -U zabbix -d zabbix

Импорт может занять несколько минут.

Если файл не найден, посмотрите, где он находится:

rpm -ql zabbix-sql-scripts | grep server.sql.gz

Проверьте, что таблицы создались:

PGPASSWORD="${ZBX_DB_PASS}" psql -h 127.0.0.1 -U zabbix -d zabbix -c '\dt' | head



10. Настройка Zabbix Server

Сделайте резервную копию конфигурации:

sudo cp -a /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak

Откройте файл:

sudo nano /etc/zabbix/zabbix_server.conf

Минимально проверьте/установите параметры:

ListenPort=10051

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=ChangeMe_Strong_2026

Где ChangeMe_Strong_2026 — пароль, который вы задали в переменной ZBX_DB_PASS.

Дополнительно можно указать:

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
DebugLevel=3

Не оставляйте DebugLevel=4 или выше в продакшене надолго: лог может быстро расти.

Если вы хотите подключаться к PostgreSQL через Unix-сокет, а не через TCP, можно использовать такой вариант:

DBHost=
DBName=zabbix
DBUser=zabbix
DBSocket=/var/run/postgresql

Но в этом гайде основной вариант — TCP через localhost и пароль. После редактирования сохраните файл.

Проверьте, что пароль в конфиге указан без кавычек:

Правильно:

DBPassword=ChangeMe_Strong_2026

Неправильно:

DBPassword="ChangeMe_Strong_2026"

11. SELinux

SELinux лучше оставить в режиме enforcing.

Проверьте режим:

getenforce

Должно быть:

Enforcing

Установите необходимые boolean-флаги:

sudo setsebool -P httpd_can_connect_zabbix on
sudo setsebool -P httpd_can_network_connect_db on

Если есть параметр zabbix_can_network, его тоже можно включить для сетевых проверок:

if getsebool zabbix_can_network >/dev/null 2>&1; then
  sudo setsebool -P zabbix_can_network on
fi

Посмотрите связанные SELinux-параметры:

getsebool -a | grep -E 'zabbix|httpd_can'

12. Настройка PHP и Apache

Откройте /etc/php.ini:

sudo nano /etc/php.ini

Найдите параметр date.timezone и установите свой часовой пояс:

date.timezone = Europe/Moscow

Можно сделать это одной командой:

sudo sed -i 's|^;* *date.timezone *=.*|date.timezone = Europe/Moscow|' /etc/php.ini

Проверьте:

grep date.timezone /etc/php.ini

Если используется PHP-FPM, проверьте дополнительные файлы конфигурации:

grep -R "date.timezone" /etc/php-fpm.d/ /etc/httpd/conf.d/ 2>/dev/null

Если там есть строка вида:

php_value[date.timezone] = UTC

ее также можно изменить на нужный часовой пояс.

Чтобы Apache не выдавал предупреждение про ServerName, создайте отдельный конфиг:

echo 'ServerName localhost' | sudo tee /etc/httpd/conf.d/servername.conf

13. Настройка firewall

Откройте нужные порты в firewalld.

Для Zabbix-сервера обычно нужны:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=10051/tcp

Порт 10050/tcp на самом Zabbix-сервере нужен только если этот сервер будет опрашиваться как агент другим Zabbix-сервером или прокси. Для локального агента открывать его наружу обычно не нужно.

Если все же хотите открыть:

sudo firewall-cmd --permanent --add-port=10050/tcp

Примените правила:

sudo firewall-cmd --reload

Проверьте:

sudo firewall-cmd --list-all

14. Запуск сервисов

Включите автозапуск и запустите сервисы:

sudo systemctl enable --now postgresql
sudo systemctl enable --now zabbix-server
sudo systemctl enable --now zabbix-agent2
sudo systemctl enable --now httpd

Если в системе есть PHP-FPM, включите и его:

if systemctl list-unit-files | grep -q '^php-fpm.service'; then
  sudo systemctl enable --now php-fpm
fi

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

sudo systemctl status zabbix-server --no-pager
sudo systemctl status zabbix-agent2 --no-pager
sudo systemctl status httpd --no-pager
sudo systemctl status postgresql --no-pager


Проверьте порты:

sudo ss -lntp | grep -E '10051|10050|:80|:443|:5432'

15. Первоначальная настройка через веб-интерфейс

Откройте в браузере:

http://IP_АДРЕС_СЕРВЕРА/zabbix

Например:

http://192.168.10.20/zabbix

Мастер установки проверит требования системы.


На шаге подключения к базе данных укажите:

Параметр Значение
Database type PostgreSQL
Database host 127.0.0.1 или localhost
Database port 5432
Database name zabbix
User zabbix
Password ваш пароль из ZBX_DB_PASS

Если вы использовали Unix-сокет, поле Database host можно оставить пустым.


Далее мастер создаст файл:

/etc/zabbix/web/zabbix.conf.php

После завершения установки войдите в веб-интерфейс.


Данные по умолчанию:

Логин: Admin
Пароль: zabbix

Сразу же смените пароль для пользователя Admin. В Zabbix это обычно делается через профиль пользователя или раздел управления пользователями.


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


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

Комментарии

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