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

Инструкция по установке Pult 7.4.9 на Astra Linux SE 1.8

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

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

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

  1. Обновляем систему:
sudo apt update
sudo apt upgrade -y
  1. Устанавливаем базовые утилиты:
sudo apt install -y wget curl gnupg2 gpg

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

Важно

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

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

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

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

  1. Скачиваем и устанавливаем GPG-ключ:
sudo curl -u "<логин_для_репозитория>:<пароль_для_репозитория>" -o /tmp/public.gpg.key "https://registry.pult.chislitellab.ru/repository/pult-deb-public/astra18/public.gpg.key"
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pult.gpg < /tmp/public.gpg.key
  1. Создаем папку для аутентификации:
sudo mkdir -p /etc/apt/auth.conf.d/
  1. Скачиваем файл аутентификации:
sudo curl -u "<логин_для_репозитория>:<пароль_для_репозитория>" -o /etc/apt/auth.conf.d/pult.conf "https://registry.pult.chislitellab.ru/repository/pult-deb-public/astra18/apt/auth.conf.d/pult.conf"
  1. Добавляем логин и пароль:
echo "login <логин_для_репозитория>" | sudo tee -a /etc/apt/auth.conf.d/pult.conf
echo "password <пароль_для_репозитория>" | sudo tee -a /etc/apt/auth.conf.d/pult.conf
  1. Скачиваем список репозиториев:
sudo curl -u "<логин_для_репозитория>:<пароль_для_репозитория>" -o /etc/apt/sources.list.d/pult.list "https://registry.pult.chislitellab.ru/repository/pult-deb-public/astra18/apt/sources.list.d/pult.list"
  1. Обновляем список пакетов:
sudo apt update

Шаг 3: Добавление репозитория PostgreSQL 18

Важно: пакет pult-web-pgsql требует postgresql-client-18.

  1. Добавляем ключ PostgreSQL:
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/postgresql.asc
  1. Добавляем репозиторий PostgreSQL 18:
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
  1. Обновляем список пакетов:
sudo apt update

Шаг 4: Установка PostgreSQL и PHP

  1. Устанавливаем PostgreSQL и зависимости:
sudo apt install -y postgresql-client-18 postgresql-15 nginx
  1. Устанавливаем PHP 8.2 и модули:
sudo apt install -y php8.2 php8.2-fpm php8.2-pgsql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl supervisor

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

  1. Устанавливаем все пакеты Pult (зависимости подтянутся автоматически):
sudo apt install -y pult-server-pgsql pult-web-pgsql pult-agent2

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

  1. Запускаем PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql
  1. Создаем пользователя и базу данных:
sudo -u postgres psql -c "CREATE USER pult WITH PASSWORD 'pult2026';"
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

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

  1. Редактируем конфиг Pult Server:
sudo sed -i 's/^# DBHost=.*/DBHost=localhost/' /etc/zabbix/zabbix_server.conf
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
  1. Создаем папку для PID файла:
sudo mkdir -p /run/zabbix
sudo chown zabbix:zabbix /run/zabbix
  1. Создаем systemd-сервис для Pult Server (прямой запуск):
sudo tee /etc/systemd/system/zabbix-server-direct.service > /dev/null << 'EOF'
[Unit]
Description=Zabbix Server (Direct)
After=network.target postgresql.service

[Service]
Type=simple
User=zabbix
Group=zabbix
ExecStart=/usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF
  1. Запускаем сервис:
sudo systemctl daemon-reload
sudo systemctl start zabbix-server-direct
sudo systemctl enable zabbix-server-direct

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

  1. Активируем сайт Zabbix (конфиг уже создан пакетом):
sudo ln -sf /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
  1. Создаем симлинк для сокета PHP (исправляем несоответствие Astra Linux):
sudo mkdir -p /var/run/php
sudo ln -sf /run/php-fpm/php-fpm.sock /var/run/php/php8.2-fpm.sock
  1. Проверяем и перезапускаем Nginx:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable nginx
  1. Запускаем PHP-FPM:
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm

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

  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'] = '';

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

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

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

  1. Проверяем все службы:
sudo systemctl status postgresql --no-pager | head -3
sudo systemctl status zabbix-server-direct --no-pager | head -3
sudo systemctl status php8.2-fpm --no-pager | head -3
sudo systemctl status nginx --no-pager | head -3
  1. Проверяем порты:
sudo netstat -tlnp | grep -E ":80|:5432|:10051"
  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

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

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

Логи Pult Server:

sudo journalctl -u zabbix-server-direct -f

Логи Nginx:

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

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

sudo systemctl restart zabbix-server-direct
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm

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

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