Перейти к основному содержимому
Версия: Пульт 2.3.0

Инструкция по установке Pult 7.4.9 на RedOS 8

Требования к серверу

ПараметрМинимальные требования
ОСRedOS 8 (x86-64)
RAMминимум 2 ГБ (рекомендуется 4 ГБ)
Дискминимум 10 ГБ свободного места
ДоступДоступ в интернет (для скачивания пакетов)
Пользовательroot или доступ к sudo

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

  1. Отключаем SELinux:
sudo nano /etc/selinux/config

Изменяем строку: SELINUX=disabled

  1. Перезагружаем систему:
sudo reboot
  1. Очищаем старые пакеты (если были установлены ранее):
sudo systemctl stop pult-server pult-agent2 2>/dev/null
sudo dnf remove -y pult-server pult-web pult-agent2 zabbix-server zabbix-agent 2>/dev/null
sudo dnf clean all

Шаг 2: Подключение репозитория "Пульт"

Важно

В инструкции используются условные значения логина и пароля для учётной записи, предназначенной для скачивания дистрибутивов Пульта.

Перед выполнением команд замените:

  • <логин_для_репозитория> — на логин учётной записи для доступа к дистрибутивам;
  • <пароль_для_репозитория> — на пароль этой учётной записи.

Для получения актуальных учётных данных обратитесь в сообщество Пульта в Telegram.

  1. Создаем файл репозитория с учетными данными:
sudo tee /etc/yum.repos.d/pult-nexus.repo > /dev/null <<'EOF'
[pult-rpm-nexus]
name=Pult Nexus Private Repo
baseurl=https://registry.pult.chislitellab.ru/repository/pult-rpm
enabled=1
gpgcheck=0
username=<логин_для_репозитория>
password=<пароль_для_репозитория>
EOF
  1. Обновляем список пакетов:
sudo dnf update -y

Шаг 3: Установка пакетов

  1. Устанавливаем PostgreSQL:
sudo dnf install -y postgresql-server postgresql-contrib
  1. Инициализируем базу данных PostgreSQL:
sudo postgresql-setup --initdb --unit postgresql
  1. Настраиваем аутентификацию PostgreSQL:
sudo nano /var/lib/pgsql/data/pg_hba.conf

Заменяем содержимое на:

local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
  1. Запускаем PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql
  1. Устанавливаем все пакеты Pult (зависимости подтянутся автоматически):
sudo dnf install -y pult-server-pgsql pult-web-pgsql pult-agent2
  1. Проверяем установку:
rpm -qa | grep pult

Ожидаемый результат:

pult-license-7.4.9-2.red80.x86_64
pult-common-7.4.9-2.red80.x86_64
pult-server-pgsql-7.4.9-2.red80.x86_64
pult-web-pgsql-7.4.9-1.red80.x86_64
pult-agent2-7.4.9-1.red80.x86_64

Шаг 4: Настройка базы данных

  1. Создаем пользователя и базу данных:
sudo -u postgres psql -c "CREATE USER pult WITH PASSWORD 'pult2026' SUPERUSER;"
sudo -u postgres psql -c "CREATE DATABASE pult OWNER pult ENCODING 'UTF8' TEMPLATE template0;"
  1. Импортируем схему базы данных:
sudo -u postgres zcat /usr/share/pult-server/postgresql/create.sql.gz | sudo -u postgres psql -d pult
  1. Назначаем права:
sudo -u postgres psql -d pult -c "GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO pult;"
sudo -u postgres psql -d pult -c "GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO pult;"
sudo -u postgres psql -d pult -c "ALTER SCHEMA public OWNER TO pult;"

Шаг 5: Настройка Pult Server

  1. Редактируем конфиг Pult Server:
sudo sed -i 's/^# DBName=.*/DBName=pult/' /etc/zabbix/zabbix_server.conf
sudo sed -i 's/^# DBUser=.*/DBUser=pult/' /etc/zabbix/zabbix_server.conf
sudo sed -i 's/^# DBPassword=.*/DBPassword=pult2026/' /etc/zabbix/zabbix_server.conf

Проверяем конфигурацию:

sudo grep -E '^DB' /etc/zabbix/zabbix_server.conf

Должно быть:

DBName=pult
DBUser=pult
DBPassword=pult2026

Шаг 6: Настройка веб-интерфейса

  1. Создаем конфиг веб-интерфейса:
sudo tee /etc/zabbix/web/zabbix.conf.php > /dev/null << 'EOF'
<?php
$DB['TYPE'] = 'POSTGRESQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '5432';
$DB['DATABASE'] = 'pult';
$DB['USER'] = 'pult';
$DB['PASSWORD'] = 'pult2026';
$DB['SCHEMA'] = 'public';

$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'Pult Server';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
EOF
  1. Устанавливаем права:
sudo chown nginx:nginx /etc/zabbix/web/zabbix.conf.php
sudo chmod 644 /etc/zabbix/web/zabbix.conf.php

Шаг 7: Настройка Nginx и PHP

  1. Создаем конфигурацию Nginx для Zabbix:
sudo tee /etc/nginx/conf.d/zabbix.conf > /dev/null <<'EOF'
server {
listen 80;
server_name _;
root /usr/share/zabbix;
index index.php;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
deny all;
}
}
EOF
  1. Проверяем и перезапускаем Nginx:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable nginx
  1. Запускаем PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Шаг 8: Запуск служб

  1. Запускаем все службы:
sudo systemctl restart postgresql
sudo systemctl start pult-server-pgsql
sudo systemctl enable pult-server-pgsql
  1. Проверяем статус всех служб:
sudo systemctl status postgresql --no-pager | head -3
sudo systemctl status pult-server-pgsql --no-pager | head -3
sudo systemctl status php-fpm --no-pager | head -3
sudo systemctl status nginx --no-pager | head -3
  1. Проверяем порты:
sudo ss -tulpn | grep -E ":80|:5432|:10051"

Шаг 9: Финальная проверка

  1. Проверяем подключение к базе данных:
PGPASSWORD='pult2026' psql -h localhost -U pult -d pult -c "SELECT 1;"
  1. Показываем IP-адрес:
SERVER_IP=$(hostname -I | awk '{print $1}')
echo "=========================================="
echo " УСТАНОВКА ЗАВЕРШЕНА!"
echo "=========================================="
echo "Открой в браузере: http://$SERVER_IP"
echo "Логин: Admin"
echo "Пароль: pult"
echo "=========================================="

Запуск агента (опционально)

sudo systemctl start pult-agent2
sudo systemctl enable pult-agent2

Полезные команды

Просмотр логов

Логи Zabbix Server:

sudo journalctl -u pult-server-pgsql -f

Логи Nginx:

sudo tail -f /var/log/nginx/error.log

Логи PHP-FPM:

sudo tail -f /var/log/php-fpm/error.log

Логи PostgreSQL:

sudo tail -f /var/lib/pgsql/data/log/postgresql-*.log

Перезапуск служб

sudo systemctl restart pult-server-pgsql
sudo systemctl restart nginx
sudo systemctl restart php-fpm
sudo systemctl restart postgresql

Проверка статуса

sudo systemctl status pult-server-pgsql
sudo systemctl status nginx
sudo systemctl status php-fpm
sudo systemctl status postgresql

Пароли (по умолчанию)

СервисПароль
База данных (пользователь pult)pult2026
Веб-интерфейс (пользователь Admin)pult

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

Ошибка подключения к базе данных

Проверьте пароль в конфигах:

sudo cat /etc/zabbix/web/zabbix.conf.php | grep PASSWORD
sudo grep DBPassword /etc/zabbix/zabbix_server.conf

Ошибка аутентификации PostgreSQL

Проверьте настройки аутентификации:

sudo cat /var/lib/pgsql/data/pg_hba.conf

Сервер не запускается

Проверьте логи:

sudo journalctl -u pult-server-pgsql -n 50 --no-pager

Не удается войти в веб-интерфейс

  • Логин: Admin (с большой буквы)
  • Пароль: pult
  • Очистите кэш браузера