Ajenti: Руководство по установке и использованию веб-панели управления сервером

Обновлено: Январь 2026 | На основе практического опыта установки на Ubuntu 24.04


Содержание

  1. Введение в Ajenti
  2. Ключевые особенности и преимущества
  3. Подготовка системы и требования
  4. Установка Ajenti на Ubuntu 24.04+
  5. Решение проблем с авторизацией
  6. Первичная настройка и вход
  7. Основные возможности панели
  8. Расширение функционала плагинами
  9. Безопасность и оптимизация
  10. Диагностика и устранение неполадок
  11. Сравнение с альтернативами
  12. Часто задаваемые вопросы

1. Введение в Ajenti

Ajenti — это современная, модульная веб-панель с открытым исходным кодом для администрирования серверов Linux и BSD. Разработанная на Python 3 и AngularJS, она предоставляет интуитивно понятный графический интерфейс для выполнения повседневных задач системного администрирования.

Для кого предназначена Ajenti?

  • Системные администраторы, желающие упростить рутинные задачи
  • Владельцы VPS, не желающие углубляться в консоль
  • Разработчики, нуждающиеся в быстром доступе к серверным метрикам
  • Небольшие компании, которым нужна простая панель управления

2. Ключевые особенности и преимущества

ОсобенностьОписаниеПреимущество для пользователя
Простота установкиУстановка одним скриптомБыстрый старт за 5 минут
Работа с существующей конфигурациейНе требует перестройки системыМожно установить на рабочий сервер без риска
Бережное отношение к конфигурацииНе перезаписывает файлы, сохраняет комментарииБезопасность существующих настроек
МодульностьСистема плагинов на PythonУстанавливайте только нужные функции
Современный интерфейсАдаптивный дизайн на AngularJSРабота с любого устройства
Низкое потребление ресурсов~50 МБ RAM, минимальная нагрузка на CPUПодходит для маломощных серверов

3. Подготовка системы и требования

Поддерживаемые операционные системы:

Полная поддержка :

  • Ubuntu 20.04/22.04/24.04 LTS
  • Debian 11/12
  • RHEL 8/9 и совместимые (AlmaLinux, Rocky Linux)

Требует ручной настройки:

  • CentOS Stream
  • Fedora Server
  • Arch Linux

Минимальные требования:

КомпонентМинимумРекомендуется
Процессор1 ядро2+ ядра
Оперативная память512 МБ1 ГБ+
Дисковое пространство1 ГБ10 ГБ
Python3.8+3.10+
Сетевой порт8000/tcp8000/tcp + 443/tcp

⚠️ Важное замечание для Ubuntu 24.04+

Начиная с Ubuntu 24.04 (Noble Numbat), система использует политику PEP 668 (Externally Managed Environment), которая запрещает установку pip-пакетов в системный Python.

Старый метод установки (install.sh) больше не работает на Ubuntu 24.04+!


4. Установка Ajenti на Ubuntu 24.04+

Метод 1: Официальный скрипт install-venv.sh (РЕКОМЕНДУЕМЫЙ)

Этот метод создает изолированное виртуальное окружение, что решает проблему PEP 668.

# Выполните эту команду для установки
curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh | sudo bash -s -

Что делает скрипт автоматически:

  1. Устанавливает системные зависимости:
    • Python 3 и необходимые библиотеки
    • Системные утилиты и инструменты разработки
  2. Создает виртуальное окружение:
    • В директории /opt/ajenti/
    • Полная изоляция от системных пакетов Python
  3. Устанавливает Ajenti и базовые плагины:
    • Ядро Ajenti 2.2.11
    • Плагины: Dashboard, Terminal, File Manager, Services
  4. Настраивает систему:
    • Генерирует самоподписанный SSL-сертификат
    • Создает и активирует systemd-сервис
    • Настраивает конфигурационные файлы в /etc/ajenti/
  5. Запускает службу:
    • Ajenti начинает работать на порту 8000
    • Включает автозапуск при загрузке системы

Метод 2: Ручная установка с полным контролем

Для опытных пользователей или кастомных конфигураций:

#!/bin/bash
# Полная ручная установка для Ubuntu 24.04+

# 1. Обновление системы и установка зависимостей
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
    build-essential \
    python3-pip \
    python3-dev \
    python3-venv \
    python3-lxml \
    libssl-dev \
    python3-dbus \
    python3-augeas \
    python3-apt \
    python3-yaml \
    ntpdate \
    curl \
    openssl

# 2. Создание виртуального окружения
sudo mkdir -p /opt/ajenti
sudo python3 -m venv /opt/ajenti
sudo /opt/ajenti/bin/pip install --upgrade pip setuptools wheel

# 3. Установка gevent совместимой версии
sudo /opt/ajenti/bin/pip install 'gevent==25.4.2'

# 4. Установка Ajenti и обязательных плагинов
sudo /opt/ajenti/bin/pip install ajenti-panel==2.2.11 \
    ajenti.plugin.core \
    ajenti.plugin.dashboard \
    ajenti.plugin.settings \
    ajenti.plugin.plugins \
    ajenti.plugin.auth-users \
    ajenti.plugin.terminal \
    ajenti.plugin.filemanager \
    ajenti.plugin.services

# 5. Создание конфигурационных директорий
sudo mkdir -p /etc/ajenti /var/log/ajenti

Метод 3: Старый скрипт install.sh (НЕ РАБОТАЕТ на Ubuntu 24.04+)

# Эта команда ВЫЗОВЕТ ОШИБКУ на Ubuntu 24.04+!
# error: externally-managed-environment
curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install.sh | sudo bash -s -

5. Решение проблем с авторизацией

Проблема, с которой мы столкнулись на практике

После установки через install-venv.sh панель запускается, но авторизация не проходит. Пользователь видит форму входа, но при вводе правильных учетных данных получает ошибку 401 или бесконечную загрузку.

✅ Проверенное решение (работает в 2026 году)

# После установки Ajenti выполните эти 4 команды:

# 1. Устанавливаем плагин для аутентификации
sudo /opt/ajenti/bin/pip install ajenti.plugin.auth-users

# 2. Проверяем текущую настройку аутентификации
sudo grep "provider:" /etc/ajenti/config.yml

# 3. Меняем провайдера аутентификации на системный (os)
sudo sed -i 's/provider: users/provider: os/' /etc/ajenti/config.yml 2>/dev/null || true

# 4. Перезапускаем службу
sudo systemctl restart ajenti

Почему это работает?

  1. ajenti.plugin.auth-users — предоставляет механизмы аутентификации для Ajenti
  2. provider: os — использует системных пользователей Linux/PAM для проверки паролей
  3. В виртуальном окружении этот метод работает корректно после установки плагина

Быстрый чеклист установки (все в одной команде)

# Полная установка с исправлением проблем (Ubuntu 24.04+)
curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh | sudo bash -s - && \
sudo /opt/ajenti/bin/pip install ajenti.plugin.auth-users && \
sudo sed -i 's/provider: users/provider: os/' /etc/ajenti/config.yml 2>/dev/null || true && \
sudo systemctl restart ajenti && \
echo "✅ Ajenti установлен! Доступ: https://$(hostname -I | awk '{print $1}'):8000"

6. Первичная настройка и вход

Проверка работоспособности

После установки и исправления проблем проверьте, что все работает:

# 1. Проверка статуса службы
sudo systemctl status ajenti --no-pager

# Ожидаемый вывод:
# ● ajenti.service - Ajenti panel
#      Loaded: loaded (/usr/lib/systemd/system/ajenti.service; enabled; preset: enabled)
#      Active: active (running) since ...
#      Main PID: ... (python3)
#      ...

# 2. Проверка открытого порта
sudo ss -tulpn | grep :8000

# Ожидаемый вывод:
# tcp   LISTEN 0      10           0.0.0.0:8000      0.0.0.0:*

# 3. Быстрая проверка доступности
curl -k -s https://localhost:8000 | grep -o "<title>[^<]*</title>" || echo "Панель не отвечает"

Первый вход в панель

  1. Откройте браузер: https://ВАШ_IP_АДРЕС:8000 Пример: https://192.168.1.100:8000
  2. Примите предупреждение о безопасности:
    • Браузер предупредит о самоподписанном сертификате
    • Нажмите «Дополнительно» → «Перейти на сайт»
    • Или добавьте исключение в настройках безопасности
  3. Введите учетные данные:
    • Логин: root (или другой существующий системный пользователь)
    • Пароль: пароль этого пользователя в вашей системе
  4. Успешный вход:
    • Вы увидите главную панель управления
    • Доступны разделы: Dashboard, Files, Services, Terminal и другие

Обязательные действия после входа

  1. Смена пароля по умолчанию:
    • Перейдите в SettingsUsers
    • Выберите пользователя root
    • Нажмите Change Password
    • Установите надежный пароль
  2. Настройка SSL сертификата (рекомендуется):
# Установите certbot для получения бесплатного SSL-сертификата
sudo apt install certbot python3-certbot-nginx -y

# Получите сертификат (если есть доменное имя)
sudo certbot certonly --standalone \
  -d panel.yourdomain.com \
  --non-interactive \
  --agree-tos \
  --email admin@yourdomain.com

# Настройте Ajenti для использования этого сертификата
sudo tee -a /etc/ajenti/config.yml > /dev/null << 'EOF'
ssl:
  enable: true
  certificate: /etc/letsencrypt/live/panel.yourdomain.com/fullchain.pem
  force: true
EOF

sudo systemctl restart ajenti

7. Основные возможности панели

Dashboard (Главная панель)

Виджеты по умолчанию:

  • CPU Usage — загрузка процессора в реальном времени
  • Memory — использование оперативной памяти и swap
  • Disk Usage — заполненность разделов диска
  • Network Traffic — входящий/исходящий трафик
  • Process List — список активных процессов

Практический пример:

# Вместо последовательного выполнения в терминале:
$ top        # для мониторинга CPU
$ free -m    # для проверки памяти  
$ df -h      # для просмотра дисков
$ nload      # для мониторинга сети

# В Ajenti всё на одной панели:
# 1. Откройте Dashboard
# 2. Получите полную картину состояния системы
# 3. Обнаружьте аномалии за секунды

File Manager (Файловый менеджер)

Возможности:

  • Навигация по файловой системе
  • Редактирование файлов прямо в браузере
  • Изменение прав доступа (chmod/chown)
  • Загрузка и скачивание файлов
  • Создание символических ссылок

Реальный пример: Настройка Nginx

# Традиционный способ:
sudo nano /etc/nginx/sites-available/example.com
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

# Через Ajenti:
# 1. Files → /etc/nginx/sites-available/
# 2. New File → example.com
# 3. Редактирование конфигурации:
server {
    listen 80;
    server_name example.com;
    root /var/www/example;
    index index.html;
    
    location / {
        try_files $uri $uri/ =404;
    }
}
# 4. Save → создание симлинка
# 5. Services → nginx → Reload

Services (Управление службами)

Полный контроль над systemd-сервисами:

ДействиеТерминальная командаЧерез Ajenti
Просмотр статусаsudo systemctl status nginxServices → nginx → Status
Запускsudo systemctl start nginxServices → nginx → Start
Остановкаsudo systemctl stop nginxServices → nginx → Stop
Перезапускsudo systemctl restart nginxServices → nginx → Restart
Включение автозапускаsudo systemctl enable nginxServices → nginx → Enable
Просмотр логовsudo journalctl -u nginx -fServices → nginx → Logs

Terminal (Встроенный терминал)

Особенности терминала Ajenti:

  • Полноценная поддержка SSH-сессий
  • Сохранение истории команд между сессиями
  • Выполнение команд от разных пользователей
  • Загрузка/скачивание файлов через браузер
  • Поддержка цветовых схем и настройки интерфейса

Users (Управление пользователями)

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

# Через терминал:
sudo adduser deployer
sudo usermod -aG www-data,sudo deployer
sudo passwd deployer

# Через Ajenti:
# 1. Users → Add User
# 2. Заполнение полей:
#    - Username: deployer
#    - Password: [сложный пароль]
#    - Shell: /bin/bash
#    - Groups: www-data, sudo
#    - Home Directory: /home/deployer
# 3. Save → пользователь создан за 30 секунд

8. Расширение функционала плагинами

Популярные плагины

# Установка дополнительных плагинов
sudo /opt/ajenti/bin/pip install \
    ajenti.plugin.mysql \         # Управление MySQL/MariaDB
    ajenti.plugin.nginx \         # Конфигурация Nginx
    ajenti.plugin.php-fpm \       # Управление PHP-FPM пулами
    ajenti.plugin.docker \        # Управление Docker контейнерами
    ajenti.plugin.network \       # Сетевая конфигурация
    ajenti.plugin.cron \          # Планировщик задач
    ajenti.plugin.logs \          # Просмотр логов в реальном времени
    ajenti.plugin.monit \         # Мониторинг сервисов
    ajenti.plugin.fail2ban        # Интеграция с Fail2ban

# После установки плагинов
sudo systemctl restart ajenti

Современные стеки приложений

Веб-сервер (LEMP Stack):

# Установка полного стека
sudo /opt/ajenti/bin/pip install \
    ajenti.plugin.nginx \
    ajenti.plugin.mysql \
    ajenti.plugin.php-fpm \
    ajenti.plugin.phpmyadmin

# В Ajenti появятся разделы:
# - Nginx: управление виртуальными хостами
# - MySQL: создание БД, пользователей, выполнение запросов
# - PHP-FPM: настройка пулов PHP
# - phpMyAdmin: веб-интерфейс для MySQL

Контейнеризация (Docker):

# Установка плагина для управления Docker
sudo /opt/ajenti/bin/pip install ajenti.plugin.docker

# После установки в Ajenti:
# - Просмотр running/stopped контейнеров
# - Запуск/остановка контейнеров
# - Просмотр логов Docker
# - Управление образами
# - Мониторинг ресурсов контейнеров

Таблица полезных плагинов

ПлагинНазначениеУровень сложности
mysqlУправление MySQL/MariaDB⭐⭐ Средний
nginxКонфигурация Nginx⭐⭐ Средний
dockerУправление Docker⭐⭐⭐ Продвинутый
cronПланировщик задач⭐ Легкий
logsПросмотр системных логов⭐ Легкий
networkСетевая конфигурация⭐⭐⭐ Продвинутый
fail2banЗащита от bruteforce⭐⭐ Средний

9. Безопасность и оптимизация

Критические меры безопасности

  1. Смена пароля по умолчанию — первое действие после установки
  2. Настройка HTTPS с Let’s Encrypt — бесплатные SSL-сертификаты
  3. Ограничение доступа по IP — доступ только с доверенных адресов
  4. Использование SSH-туннеля для удаленного доступа:

# Безопасный доступ с локальной машины
ssh -L 8000:localhost:8000 user@your-server

# Затем в браузере: http://localhost:8000
  1. Регулярное обновление Ajenti и плагинов:

# Безопасное обновление
sudo systemctl stop ajenti
sudo /opt/ajenti/bin/pip install --upgrade ajenti-panel ajenti.plugin.*
sudo systemctl start ajenti

Интеграция с Fail2ban

Защитите Ajenti от bruteforce-атак:

# Установка и настройка Fail2ban
sudo apt install fail2ban -y

# Конфигурация для Ajenti
sudo tee /etc/fail2ban/jail.d/ajenti.local > /dev/null << 'EOF'
[ajenti]
enabled = true
port = 8000
filter = ajenti
logpath = /var/log/ajenti/ajenti.log
maxretry = 3
bantime = 3600
findtime = 600
EOF

sudo tee /etc/fail2ban/filter.d/ajenti.conf > /dev/null << 'EOF'
[Definition]
failregex = ^.*Authentication error for .* from <HOST>$
ignoreregex =
EOF

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

Резервное копирование конфигурации

#!/bin/bash
# Скрипт для автоматического бэкапа Ajenti
BACKUP_DIR="/backup/ajenti"
DATE=$(date +%Y%m%d_%H%M%S)

# Создание директории для бэкапов
sudo mkdir -p "$BACKUP_DIR"

# Создание бэкапа
sudo tar czf "$BACKUP_DIR/ajenti_backup_$DATE.tar.gz" \
  /etc/ajenti \
  /opt/ajenti \
  /var/log/ajenti \
  /usr/lib/systemd/system/ajenti.service

# Настройка прав доступа
sudo chmod 600 "$BACKUP_DIR/ajenti_backup_$DATE.tar.gz"

# Очистка старых бэкапов (храним 30 дней)
sudo find "$BACKUP_DIR" -name "ajenti_backup_*.tar.gz" -mtime +30 -delete

echo "✅ Бэкап создан: $BACKUP_DIR/ajenti_backup_$DATE.tar.gz"

# Добавьте в cron: 0 2 * * * /path/to/backup-script.sh

Оптимизация производительности

# Мониторинг ресурсов Ajenti
sudo /opt/ajenti/bin/python3 -c "
import psutil
import os

# Находим процесс Ajenti
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
    if proc.info['cmdline'] and 'ajenti' in ' '.join(proc.info['cmdline']):
        p = psutil.Process(proc.info['pid'])
        print(f'PID: {p.pid}')
        print(f'CPU: {p.cpu_percent()}%')
        print(f'Memory: {p.memory_info().rss / 1024 / 1024:.1f} MB')
        print(f'Threads: {p.num_threads()}')
        print(f'Connections: {len(p.connections())}')
        break
"

10. Диагностика и устранение неполадок

Быстрые проверки при проблемах

# 1. Проверка статуса службы
sudo systemctl status ajenti --no-pager

# 2. Просмотр логов в реальном времени
sudo tail -f /var/log/ajenti/ajenti.log

# 3. Проверка открытого порта
sudo ss -tulpn | grep :8000

# 4. Проверка зависимостей
sudo /opt/ajenti/bin/pip list | grep -E "(ajenti|gevent|auth)"

# 5. Проверка конфигурации
sudo cat /etc/ajenti/config.yml | grep -A2 "auth:"

📋 Таблица частых проблем и решений

ПроблемаСимптомыРешение
Не запускаетсяsystemctl status показывает ошибкуПроверить логи: sudo journalctl -u ajenti -f
Ошибка 401 при входеПанель открывается, но авторизация не проходитУстановить ajenti.plugin.auth-users и переключить на provider: os
Конфликт версий geventВ логах: requires gevent<=25.4.2sudo /opt/ajenti/bin/pip install 'gevent==25.4.2'
Порт занятНе удается запустить на порту 8000sudo ss -tulpn | grep :8000 и освободить порт
Плагины не отображаютсяУстановленные плагины не видны в интерфейсеПерезагрузить страницу (Ctrl+F5) и проверить установку
Нет доступа по сетиЛокально работает, но не доступен извнеПроверить брандмауэр: sudo ufw status

Полная диагностика системы

#!/bin/bash
# Скрипт полной диагностики Ajenti
echo "=== ДИАГНОСТИЧЕСКИЙ ОТЧЕТ AJENTI ==="
echo "Сгенерировано: $(date)"
echo "===================================="

echo -e "\n[1] ИНФОРМАЦИЯ О СИСТЕМЕ"
echo "-------------------------"
uname -a
lsb_release -a 2>/dev/null || cat /etc/os-release
echo "Время работы: $(uptime -p)"

echo -e "\n[2] СТАТУС СЛУЖБЫ AJENTI"
echo "--------------------------"
systemctl status ajenti --no-pager | head -20

echo -e "\n[3] ВИРТУАЛЬНОЕ ОКРУЖЕНИЕ"
echo "---------------------------"
ls -la /opt/ajenti/ 2>/dev/null || echo "Директория /opt/ajenti/ не найдена!"
/opt/ajenti/bin/python3 --version 2>/dev/null || echo "Python в venv не найден"

echo -e "\n[4] УСТАНОВЛЕННЫЕ ПАКЕТЫ"
echo "--------------------------"
/opt/ajenti/bin/pip list 2>/dev/null | grep -E "(ajenti|gevent|greenlet|auth)" || echo "Не удалось проверить пакеты"

echo -e "\n[5] СЕТЕВЫЕ ПОРТЫ"
echo "------------------"
ss -tulpn | grep :8000 || echo "Порт 8000 не слушается"

echo -e "\n[6] ПОСЛЕДНИЕ ЛОГИ (20 строк)"
echo "-------------------------------"
tail -20 /var/log/ajenti/ajenti.log 2>/dev/null || echo "Файл логов не найден"

echo -e "\n[7] КОНФИГУРАЦИОННЫЕ ФАЙЛЫ"
echo "----------------------------"
ls -la /etc/ajenti/ 2>/dev/null || echo "Директория конфигурации не найдена"
if [ -f /etc/ajenti/config.yml ]; then
  echo "Конфиг существует. Провайдер аутентификации:"
  grep -A2 "auth:" /etc/ajenti/config.yml || echo "Раздел auth не найден"
fi

echo -e "\n[8] ОТЧЕТЫ ОБ АВАРИЯХ"
echo "----------------------"
find /var/log/ajenti -name "crash*.txt" 2>/dev/null | head -5

echo -e "\n===================================="
echo "Диагностика завершена. Проверьте вывод выше на наличие проблем."

Мониторинг производительности в реальном времени

# Мониторинг ресурсов Ajenti
watch -n 5 "echo '=== AJENTI RESOURCES ==='; \
ps aux | grep ajenti | grep -v grep; \
echo ''; \
echo '=== NETWORK CONNECTIONS ==='; \
sudo netstat -tulpn | grep :8000"

11. Сравнение с альтернативами

КритерийAjentiWebminCockpitISPConfig
Сложность⭐⭐ Средняя⭐⭐⭐ Сложная⭐ Легкая⭐⭐⭐⭐ Очень сложная
Функциональность⭐⭐⭐ Хорошая⭐⭐⭐⭐⭐ Полная⭐⭐ Базовая⭐⭐⭐⭐⭐ Профессиональная
Интерфейс⭐⭐⭐⭐ Современный⭐⭐ Устаревший⭐⭐⭐⭐ Современный⭐⭐ Устаревший
Производительность⭐⭐⭐⭐ Легковесная⭐⭐⭐ Средняя⭐⭐⭐⭐ Легковесная⭐⭐ Тяжелая
Поддержка Docker⭐⭐⭐ Через плагин⭐⭐ Ограниченная⭐⭐⭐⭐ Отличная⭐ Отсутствует
Целевая аудиторияАдмины, разработчикиОпытные админыDevOps, разработчикиХостинг-провайдеры
Рекомендация 2026Лучший балансДля legacy-системДля RedHat-экосистемыДля хостинга

Когда выбрать Ajenti?

Да, если:

  • Нужен простой и современный интерфейс
  • Работаете с Ubuntu/Debian системами
  • Хотите минимальное потребление ресурсов
  • Нужна базовая функциональность + возможность расширения

Нет, если:

  • Нужна полная хостинг-панель (выбирайте ISPConfig)
  • Работаете исключительно в RedHat-экосистеме (выбирайте Cockpit)
  • Требуется максимальная функциональность (выбирайте Webmin)

12. Часто задаваемые вопросы

Q1: Почему не работает установка на Ubuntu 24.04?

A: Из-за PEP 668 (Externally Managed Environment). Используйте скрипт install-venv.sh вместо install.sh.

Q2: Как восстановить доступ если забыл пароль?

# Сброс пароля через консоль
sudo python3 << 'EOF'
import yaml
with open("/etc/ajenti/users.yml", "r") as f:
    data = yaml.safe_load(f)
data["users"]["admin"]["password"] = "newpassword123"
with open("/etc/ajenti/users.yml", "w") as f:
    yaml.dump(data, f)
print("Пароль сброшен на: newpassword123")
EOF
sudo systemctl restart ajenti

Q3: Как обновить Ajenti до новой версии?

# Безопасное обновление
sudo systemctl stop ajenti
sudo /opt/ajenti/bin/pip install --upgrade ajenti-panel ajenti.plugin.*
sudo systemctl start ajenti

Q4: Как перенести Ajenti на другой сервер?

# Экспорт конфигурации
sudo tar czf ajenti-backup.tar.gz /etc/ajenti /opt/ajenti

# Копирование на новый сервер
scp ajenti-backup.tar.gz user@new-server:/tmp/

# На новом сервере: установка и восстановление
curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh | sudo bash -s -
sudo tar xzf /tmp/ajenti-backup.tar.gz -C /
sudo systemctl restart ajenti

Q5: Как добавить SSL сертификат Let’s Encrypt?

# Установка certbot
sudo apt install certbot python3-certbot-nginx -y

# Получение сертификата
sudo certbot certonly --standalone \
  -d panel.yourdomain.com \
  --non-interactive \
  --agree-tos \
  --email admin@yourdomain.com

# Настройка в Ajenti
sudo tee -a /etc/ajenti/config.yml > /dev/null << 'EOF'
ssl:
  enable: true
  certificate: /etc/letsencrypt/live/panel.yourdomain.com/fullchain.pem
  force: true
EOF
sudo systemctl restart ajenti

Q6: Какие альтернативы если Ajenti не подошла?

  • Для новичков: Cockpit (проще) или Webmin (больше функций)
  • Для хостинга: ISPConfig или VestaCP
  • Для мониторинга: Grafana + Prometheus
  • Для управления контейнерами: Portainer

Заключение

Ajenti в 2026 году остается актуальным и востребованным инструментом для администрирования серверов. Несмотря на некоторые сложности с установкой на самых новых дистрибутивах, она предлагает отличный баланс между функциональностью, простотой использования и потреблением ресурсов.

Ключевые выводы для успешного использования:

  1. Используйте install-venv.sh для Ubuntu 24.04+ — это решает проблему PEP 668
  2. Устанавливайте плагин auth-users — критически важен для работы аутентификации
  3. Настраивайте provider: os — используйте системную аутентификацию
  4. Не забывайте о безопасности