4.2.9. Vesta

Увага!

Vesta практично не розвивається. Рекомендуємо використовувати більш актуальну панель керування, наприклад один із її форків — Hestia або myVesta.

Vesta — безкоштовна панель керування з відкритим вихідним кодом.

Підтримувані ОС:

  • CentOS 5, 6, 7.
  • Debian 7, 8, 9.
  • Ubuntu 12.04-18.04.

Примітки:

  • Системні вимоги та дії по встановленню описані на офіційному сайті. Там же можна згенерувати власну команду для встановлення панелі з набором потрібних вам служб.
  • Службу DNS встановлювати необов’язково, оскільки домен можна безкоштовно додати на наші NS та спрямувати на VPS.
  • В якості FTP-сервера краще використовувати proftpd.
  1. Підключіться до сервера по SSH з root-правами.
  2. Завантажте інсталяційний скрипт будь-яким із способів:
    curl -O http://vestacp.com/pub/vst-install.sh
    wget http://vestacp.com/pub/vst-install.sh
  3. Запустіть завантажений скрипт (команда вже враховує озвучені вище рекомендації):
    bash vst-install.sh --nginx yes --apache yes --phpfpm no --named no --remi yes --vsftpd no --proftpd yes --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous yes --mysql yes --postgresql no
  4. Відповідайте на запитання встановлювача і дочекайтеся завершення його роботи.

Після встановлення для доступу до панелі керування використовуйте адресу виду https://XXX.XXX.XXX.XXX:8083, де XXX.XXX.XXX.XXX — IP-адреса сервера. Логін та пароль будуть виведені у вікні терміналу та надіслані на пошту, вказану в процесі встановлення.

За замовчуванням використовується англійська мова інтерфейсу.
  1. У правому верхньому куті натисніть «admin»:
  2. У полі «Language» виберіть потрібну мову і внизу сторінки натисніть «Save»:
  1. Перейдіть на вкладку «WEB» і натисніть ➕:
  2. Вкажіть дані сайту та натисніть «Додати» («Add»):
    • «Домен» («Domain») — домен сайту, що додається.
    • «IP адресу» («IP address») — IP-адреса зі списку доступних.
    • «Підтримка DNS» («DNS Support») — вимкніть.
    • «Підтримка пошти» («Mail Support») — вимкніть.
  3. Якщо домен був спрямований на VPS, перевірте сайт у браузері. Повинна відображатись така заглушка:

Файли доданого сайту потрібно розміщувати в каталозі /home/admin/web/example.com/public_html, де admin — це каталог користувача, під обліковим записом якого додавався сайт, а example.com — назва домену, вказаного при додаванні сайту.

За замовчуванням в каталозі сайту будуть знаходиться два файли:

  1. Індексний файл з автоматично згенерованою заглушкою.
  2. Файл robots.txt.

Увага!

Домен сайту має бути коректно спрямований на VPS.
  1. Перейдіть на вкладку «WEB», наведіть на потрібний сайт і натисніть на зелену кнопку «РЕДАГУВАТИ» («EDIT»):
  2. Увімкніть «Підтримка SSL» («SSL Support»), увімкніть «Підтримка Lets Encrypt» («Lets Encrypt Support»), в полі «Директорія SSL» («SSL Home) залиште public_html і внизу сторінки натисніть «Зберегти» («Save»):
  3. Якщо все пройде успішно, з’явиться повідомлення «Зміни збережені» (Changes have been saved»):На вкладці «WEB» біля сайту з’явиться позначка «Підтримка SSL: Lets Encrypt»:В налаштуваннях сайту поля «SSL сертифікат» («SSL Certificate), «Ключ SSL сертифікату» («SSL Key») і «Центр сертифікації SSL / Intermediate» («SSL Certificate Authority / Intermediate») будуть заповнені даними підключеного сертифіката:

Після того, як сертифікат буде підключений, можна буде приступити до налаштування самого сайту на роботу по захищеному протоколу. Редирект на HTTPS можна організувати, розмістивши в кореневому каталозі сайту файл .htaccess з таким вмістом:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
  1. Перейдіть на вкладку «DB» і натисніть ➕:
  2. Вкажіть дані бази даних та натисніть «Додати» («Add»):
    • «База даних» («Database») — назва бази даних. До назви автоматично додається префікс із логіном користувача панелі.
    • «Користувач» («User») — ім’я користувача бази даних. До назви автоматично додається префікс із логіном користувача панелі. Вказане ім’я разом із префіксом не повинно перевищувати 16 символів.
    • «Пароль» («Password») — пароль користувача бази даних. Можна автоматично згенерувати кнопкою «згенерувати» («generate»).
    • «Тип» («Type») — «mysql».
    • «Сервер» («Host») — «localhost».
    • «Кодування» («Charset») — «utf8».
    • «Надіслати дані облікового запису за адресою» («Send login credentials to email address») — поштова скринька, на яку будуть надіслані дані для підключення до бази даних.

Щоб відкрити створену базу даних в phpMyAdmin, на вкладці «DB» натисніть «PHPMYADMIN» і вкажіть ім’я користувача та пароль бази даних:

  1. Перейдіть на вкладку «MAIL» і натисніть ➕:
  2. Вкажіть поштовий домен, встановіть потрібні параметри та натисніть «Додати» («Add»):
    • «Домен» («Domain») — поштовий домен.
    • «Підтримка антиспаму» («Antispam Support») — увімкніть для перевірки всіх листів на спам.
    • «Підтримка антивіруса» («Antivirus Support») — увімкніть для перевірки всіх листів на наявність вірусів.
    • «Підтримка DKIM» («DKIM Support») — увімкніть для налаштування DKIM. Увага! Підтримка DKIM встановлюється автоматично, якщо до системи DNS у Vesta було додано однойменний домен. В іншому випадку потрібно додатково отримати відкритий ключ DKIM.
  3. Після створення поштового домену натисніть «Back» або перейдіть в меню «MAIL» з першого пункту, наведіть на нього курсор та натисніть «ADD ACCOUNT»:
  4. Вкажіть дані створюваної поштової скриньки:
    • «Домен» («Domain»).
    • «Акаунт» («Account»).
    • «Пароль» («Password»).
    • «Надіслати дані облікового запису за адресою» («Send login credentials to email address»).
    • Всі дані для подальшого підключення будуть відображені на цій же сторінці в додатковому блоці. Опис блоку з даними доступу, розміщеного справа:
      • «Акаунт» («Username») — логін для авторизації.
      • «Пароль» («Password») — пароль для авторизації.
      • «IMAP hostname» — адреса сервера IMAP. В якості адреси сервера можна використовувати його IP-адресу.
      • «IMAP port» — порт для підключення по IMAP.
      • «IMAP security» — тип шифрування для IMAP.
      • «IMAP auth method» — метод авторизації.
      • «SMTP hostname» — адреса сервера для SMTP. В якості адреси сервера можна використовувати його IP-адресу.
      • «SMTP port» — порт для підключення по SMTP.
      • «SMTP security» — тип шифрування для SMTP.
      • «SMTP auth method» — метод авторизації.
      • «Webmail URL» — адреса поштового веб-клієнта. В URL можна використовувати замість вказаного домену IP-адресу сервера.
    • Натисніть на кнопку «Додати» («Add») після успішного заповнення всіх полів.
  5. Перевірте підключення до сервера за допомогою вбудованого поштового веб-клієнта або іншого поштового клієнта.
  6. Налаштуйте MX-записи домену на IP-адресу VPS для подальшого прийняття листів до поштових скриньок, розміщених на сервері.

Після налаштування та додавання поштових скриньок для них рекомендується налаштувати записи SPF та DKIM. SPF-запис потрібно формувати самостійно, залежно від налаштувань самої панелі Vesta. У більшості випадків використовується IP-адреса і може підійти такий запис:

v=spf1 a mx ip4:XXX.XXX.XXX.XXX ~all

Замість XXX.XXX.XXX.XXX вкажіть IP-адресу VPS.

Отримання відкритого ключа DKIM:

  1. Підключіться до сервера по SSH з root-правами.
  2. Виконайте команду:
    export VESTA=/usr/local/vesta/
  3. Виконайте команду для отримання відкритого ключа DKIM:
    /usr/local/vesta/bin/v-list-mail-domain-dkim-dns admin example.com

    В команді:

    • Замість admin — ім’я користувача, у рамках якого було створено поштовий домен у панелі керування Vesta.
    • Замість example.com — поштовий домен, до якого потрібно отримати підпис DKIM.
  4. Скопіюйте рядок запису mail._domainkey із результату попередньої команди. Він матиме приблизно такий вигляд:
    RECORD            TTL         TYPE      VALUE
    ------            ---         ----      -----
    _domainkey        3600   IN   TXT      "t=y; o=~;"
    mail._domainkey   3600   IN   TXT      "k=rsa; p=MIGfMA0GCSqGSIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+FsN/9YOMojgLhwMzGDFOFZccPzxiXtRlZ0ek5CXLXgeQY+3HhQmCeJFz5RHykb84s/UGQFf/UyWUJS9o3BTpkWbgC9C4zqYvKTklMI511CEACfm+e07mOdfXjst31p9DP/TkQIDAQAB"
  5. Додайте новий запис для домену з такими даними:
    • «Субдомен» — mail._domainkey. Якщо запис додається для піддомену, додайте до рядка ім’я піддомену.
    • «Тип» — «TXT».
    • «Дані» — рядок VALUE для запису mail._domainkey із виведення попередньої команди. У вказаному раніше прикладі це був рядок:
      k=rsa; p=MIGfMA0GCSqGSIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+FsN/9YOMojgLhwMzGDFOFZccPzxiXtRlZ0ek5CXLXgeQY+3HhQmCeJFz5RHykb84s/UGQFf/UyWUJS9o3BTpkWbgC9C4zqYvKTklMI511CEACfm+e07mOdfXjst31p9DP/TkQIDAQAB
  1. Підключіться до сервера по SSH з root-правами.
  2. Встановіть DNS-сервер Bind для вашої ОС:
    yum install bind bind-utils -y
    apt-get install -y bind9
  3. Доповніть конфігураційний файл Vesta будь-яким із способів:
    • Або відредагуйте файл вручну:
      nano /usr/local/vesta/conf/vesta.conf

      Після відкриття редактора потрібно дописати рядок:

      DNS_SYSTEM='bind9'
    • Або додайте рядок у файл командою:
      echo "DNS_SYSTEM='bind9'" >> /usr/local/vesta/conf/vesta.conf
  4. Перевірте роботу DNS-сервісу в панелі Vesta.

Увага!

Якщо при роботі з панеллю Vesta виникає помилка «Error: DNS_SYSTEM is not enabled», то слід встановити DNS-сервер.
  1. Створіть дочірні NS для зареєстрованого домену та спрямуйте їх на IP-адресу VPS.
  2. Відкрийте панель керування Vesta.
  3. Перейдіть на вкладку «DNS» і натисніть ➕:
  4. Заповніть поля та натисніть «Додати» («Add»):
    • «Домен» («Domain») — домен, для якого були створені дочірні NS.
    • «IP адреса» («IP address») — IP-адреса VPS.
  5. На вкладці «DNS» натисніть «Edit» у рядку домену, який буде використовуватися в якості NS:
  6. У полі «Template» виберіть «child-ns» і натисніть «Save»:
  7. Перейдіть в меню «Packages»:
  8. Відредагуйте стандартний шаблон кнопкою «Edit» біля шаблону з назвою «default»:
  9. Внизу сторінки в полях «Name Servers» вкажіть раніше створені дочірні сервери і натисніть «Зберегти» («Save»):
  10. Всі домени, що додаються в панель керування Vesta, за замовчуванням вже будуть налаштовуватися на цих NS. Раніше додані домени потрібно буде налаштувати вручну.
Зміст