Инструкция по установке Pult 7.4.9 на Astra Linux SE 1.8
Требования к серверу
| Параметр | Минимальные требования |
|---|---|
| ОС | Astra Linux SE 1.8 (x86-64) |
| RAM | минимум 2 ГБ (рекомендуется 4 ГБ) |
| Диск | минимум 10 ГБ свободного места |
| Доступ | Доступ в интернет (для скачивания пакетов) |
| Пользователь | root или доступ к sudo |
Шаг 1: Подготовка системы
- Обновляем систему:
sudo apt update
sudo apt upgrade -y
- Устанавливаем базовые утилиты:
sudo apt install -y wget curl gnupg2 gpg
Шаг 2: Подключение репозитория "Пульт"
Важно
В инструкции используются условные значения логина и пароля для учётной записи, предназначенной для скачивания дистрибутивов Пульта.
Перед выполнением команд замените:
<логин_для_репозитория>— на логин учётной записи для доступа к дистрибутивам;<пароль_для_репозитория>— на пароль этой учётной записи.
Для получения актуальных учётных данных обратитесь в сообщество Пульта в Telegram.
- Скачиваем и устанавливаем 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
- Создаем папку для аутентификации:
sudo mkdir -p /etc/apt/auth.conf.d/
- Скачиваем файл аутентификации:
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"
- Добавляем логин и пароль:
echo "login <логин_для_репозитория>" | sudo tee -a /etc/apt/auth.conf.d/pult.conf
echo "password <пароль_для_репозитория>" | sudo tee -a /etc/apt/auth.conf.d/pult.conf
- Скачиваем список репозиториев:
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"
- Обновляем список пакетов:
sudo apt update
Шаг 3: Добавление репозитория PostgreSQL 18
Важно: пакет pult-web-pgsql требует postgresql-client-18.
- Добавляем ключ PostgreSQL:
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/postgresql.asc
- Добавляем репозиторий PostgreSQL 18:
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
- Обновляем список пакетов:
sudo apt update
Шаг 4: Установка PostgreSQL и PHP
- Устанавливаем PostgreSQL и зависимости:
sudo apt install -y postgresql-client-18 postgresql-15 nginx
- Устанавливаем 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
- Устанавливаем все пакеты Pult (зависимости подтянутся автоматически):
sudo apt install -y pult-server-pgsql pult-web-pgsql pult-agent2
Шаг 6: Настройка базы данных
- Запускаем PostgreSQL:
sudo systemctl start postgresql
sudo systemctl enable postgresql
- Создаем пользователя и базу данных:
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;"
- Импортируем схему базы данных:
sudo -u postgres zcat /usr/share/pult-server/postgresql/create.sql.gz | sudo -u postgres psql -d pult
Шаг 7: Настройка Pult Server
- Редактируем конфиг 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
- Создаем папку для PID файла:
sudo mkdir -p /run/zabbix
sudo chown zabbix:zabbix /run/zabbix
- Создаем 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
- Запускаем сервис:
sudo systemctl daemon-reload
sudo systemctl start zabbix-server-direct
sudo systemctl enable zabbix-server-direct
Шаг 8: Настройка Nginx и PHP
- Активируем сайт Zabbix (конфиг уже создан пакетом):
sudo ln -sf /etc/nginx/sites-available/zabbix /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
- Создаем симлинк для сокета 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
- Проверяем и перезапускаем Nginx:
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl enable nginx
- Запускаем PHP-FPM:
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
Шаг 9: Настройка веб-интерфейса
- Создаем конфиг веб-интерфейса:
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
- Устанавливаем права:
sudo chown www-data:www-data /etc/zabbix/web/zabbix.conf.php
sudo chmod 644 /etc/zabbix/web/zabbix.conf.php
Шаг 10: Финальная проверка
- Проверяем все службы:
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
- Проверяем порты:
sudo netstat -tlnp | grep -E ":80|:5432|:10051"
- Показываем 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 |