Перейти до вмісту

Документація

HestiaCP

HestiaCP — це панель керування з відкритим кодом для вебхостингу. Provibr розмовляє з її власним API за допомогою ключа доступу й керує обліковими записами на ній: створює їх, призупиняє та поновлює, переносить до іншого пакета й видаляє.

Увімкнути API та пропустити агента

HestiaCP має власний API на порту 8083, тому самому, що й панель. Починаючи з версії 1.10 він увімкнений одразу; налаштування лежить у Server settings, Security.

Крім того, панель веде список адрес, яким дозволено користуватися цим API, і на новій інсталяції цей список порожній, що там означає нікого, а не будь-кого. Доки публічної адреси машини з вашим агентом у ньому немає, кожен виклик відхиляється, хоча ключ правильний.

Це задається на тому самому екрані панелі або з командного рядка на хості панелі:

shell
v-change-sys-config-value API_ALLOWED_IP '<agent-ip>'
Команди та вивід термінала всюди англійською і в панелі, і на цих сторінках. Один текст, одна правда: те, що ви читаєте тут, ваш хост виведе дослівно так само.

Ключ доступу для Provibr

Ключ створюється в розділі Access keys, для користувача admin, зі списком дозволів, залишеним порожнім:

shell
v-add-access-key admin "" "provibr-agent"
Команди та вивід термінала всюди англійською і в панелі, і на цих сторінках. Один текст, одна правда: те, що ви читаєте тут, ваш хост виведе дослівно так само.
Порожньо означає всі команди, і HestiaCP приймає це лише для адміністратора. Готовий набір дозволів billing близький, але пропускає дві команди, які читають ваші пакети та домени облікового запису: із цим набором обидва лишаються порожніми. Ключ відкликається окремо, і саме тому Provibr просить його, а не пароль вашої панелі.
HestiaCP блокує адресу після пʼяти відхилених входів, і команда поза дозволами ключа теж рахується. Після цього панель перестає відповідати зовсім: звʼязок уже не завершується повідомленням, а виходить за час очікування. Блокування знімається на панелі командою v-delete-firewall-ban, за якою йде адреса та слово HESTIA.

Що просить Provibr

Чотири поля. Агент зберігає їх у власному сховищі на вашому хості; Provibr не може прочитати їх назад.

  • Адреса панелі з портом, наприклад https://panel.example.com:8083. Без порту Provibr додає 8083.
  • Ідентифікатор ключа: 20 символів. Не таємниця: панель показує його сама.
  • Секрет: 40 символів із літер, цифр і розділових знаків.
  • Відбиток SHA-256 сертифіката, доки панель користується самопідписаним.
Незашифрований http відхиляється. Порт 8083 розмовляє лише TLS, тож http-адреса ніколи не вказує на API.

Сертифікат

Свіжа HestiaCP віддає самопідписаний сертифікат. Заповніть відбиток, і агент довірятиме саме цьому сертифікату замість того, щоб вимикати перевірку. Прочитати його можна з будь-якої машини, що дістає панель:

shell
openssl s_client -connect <host>:8083 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Команди та вивід термінала всюди англійською і в панелі, і на цих сторінках. Один текст, одна правда: те, що ви читаєте тут, ваш хост виведе дослівно так само.

Щойно ви дасте панелі сертифікат Let's Encrypt на її власне імʼя хоста, ланцюжок перевірятиметься сам і поле може лишитися порожнім. Там це й краще рішення: такий сертифікат оновлюється приблизно кожні девʼяносто днів, а закріплений довелося б тут щоразу замінювати. Перевірка зʼєднання скаже, який із двох у вас.

Пакети

HestiaCP описує в пакеті те, чим може користуватися обліковий запис: місце на диску, трафік, а також скільки доменів, баз даних і поштових скриньок. Provibr читає цей список і посилається на пакет за назвою; те, що всередині, лишається вашим.

Тариф вебхостингу в Provibr вказує на один пакет однієї інтеграції. Саме це замовляє клієнт, а ціну визначаєте ви.

Що Provibr робить з обліковим записом

Пʼять дій, і кожна адресується імʼям користувача, тим самим, яке Provibr зберігає як особу цього сервера.

  • Створити обліковий запис із доменом, пакетом і контактною адресою.
  • Призупинити та поновити його. Призупинений запис не рахується у вашій місткості.
  • Перенести його до іншого пакета.
  • Видалити його, з усім, що панель забирає разом із ним.
Створення коштує на HestiaCP двох викликів: одного для користувача й одного для домену, бо команди, яка робить і те, і те, немає. Якщо другий не вдається, наприклад домен уже комусь належить, агент видаляє щойно створеного користувача й повідомляє початкову помилку. Тож відхилений домен ніколи не лишає по собі половини облікового запису.

Місце на диску та трафік

Кожне зчитування панелі несе межу й витрати кожного облікового запису, у мегабайтах. Вони зʼявляються на сторінці сервера та в графіках, без другого виклику, який міг би відставати від першого.

Provibr не керує DNS, поштовими скриньками чи базами даних на HestiaCP, і консолі тут немає. Усе це лишається в самій панелі, де ви та ваші клієнти й далі цим користуєтеся.

Записи, що вже існують

Записи, створені поза Provibr, можна імпортувати на сторінці інтеграції: агент перелічує те, що є на панелі, а ви обираєте, які з них стануть сервером у Provibr.

Імпортований запис рахується у вашій місткості з цієї миті, як і будь-який інший вебсервер.

Чого це не робить

Provibr керує обліковими записами, а не панеллю: він не встановлює HestiaCP, не оновлює її, не змінює налаштувань сервера й не чіпає DNS, пошту чи бази даних. Зчитування панелі з багатьма записами коштує одного додаткового виклику на кожен запис заради доменів, бо в HestiaCP немає команди, яка перелічила б їх усі за раз.