Инструкция по установке Pult 7.4.9 на RedOS 8
Требования к серверу
| Параметр | Минимальные требования |
|---|---|
| ОС | RedOS 8 (x86-64) |
| RAM | минимум 2 ГБ (рекомендуется 4 ГБ) |
| Диск | минимум 10 ГБ свободного места |
| Доступ | Доступ в интернет (для скачивания пакетов) |
| Пользователь | root или доступ к sudo |
Шаг 1: Подготовка системы
- Отключаем SELinux:
sudo nano /etc/selinux/config
Изменяем строку: SELINUX=disabled
- Перезагружаем систему:
sudo reboot
- Очищаем старые пакеты (если были установлены ранее):
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.
- Создаем файл репозитория с учетными данными:
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
- Обновляем список пакетов:
sudo dnf update -y
Шаг 3: Установка пакетов
- Устанавливаем PostgreSQL:
sudo dnf install -y postgresql-server postgresql-contrib
- Инициализируем базу данных PostgreSQL:
sudo postgresql-setup --initdb --unit postgresql
- Настраиваем аутентификацию 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
- Запускаем PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql
- Устанавливаем все пакеты Pult (зависимости подтянутся автоматически):
sudo dnf install -y pult-server-pgsql pult-web-pgsql pult-agent2
- Проверяем установку:
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: Настройка базы данных
- Создаем пользователя и базу данных:
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;"
- Импортируем схему базы данных:
sudo -u postgres zcat /usr/share/pult-server/postgresql/create.sql.gz | sudo -u postgres psql -d pult
- Назначаем права:
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
- Редактируем конфиг 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: Настройка веб-интерфейса
- Создаем конфиг веб-интерфейса:
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
- Устанавливаем права:
sudo chown nginx:nginx /etc/zabbix/web/zabbix.conf.php
sudo chmod 644 /etc/zabbix/web/zabbix.conf.php
Шаг 7: Настройка Nginx и PHP
- Создаем конфигурацию 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
- Проверяем и перезапускаем Nginx:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable nginx
- Запускаем PHP-FPM:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Шаг 8: Запуск служб
- Запускаем все службы:
sudo systemctl restart postgresql
sudo systemctl start pult-server-pgsql
sudo systemctl enable pult-server-pgsql
- Проверяем статус всех служб:
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
- Проверяем порты:
sudo ss -tulpn | grep -E ":80|:5432|:10051"
Шаг 9: Финальная проверка
- Проверяем подключение к базе данных:
PGPASSWORD='pult2026' psql -h localhost -U pult -d pult -c "SELECT 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 - Очистите кэш браузера