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
.
- Підключіться до сервера по SSH з root-правами.
- Запустіть завантажений скрипт (команда вже враховує озвучені вище рекомендації):
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
- Відповідайте на запитання встановлювача і дочекайтеся завершення його роботи.
Після встановлення для доступу до панелі керування використовуйте адресу виду https://XXX.XXX.XXX.XXX:8083
, де XXX.XXX.XXX.XXX
— IP-адреса сервера. Логін та пароль будуть виведені у вікні терміналу та надіслані на пошту, вказану в процесі встановлення.
Зміна мови інтерфейсу
- У правому верхньому куті натисніть «admin»:
- У полі «Language» виберіть потрібну мову і внизу сторінки натисніть «Save»:
Сайти
Додавання сайту
- Перейдіть на вкладку «WEB» і натисніть ➕:
- Вкажіть дані сайту та натисніть «Додати» («Add»):
- «Домен» («Domain») — домен сайту, що додається.
- «IP адресу» («IP address») — IP-адреса зі списку доступних.
- «Підтримка DNS» («DNS Support») — вимкніть.
- «Підтримка пошти» («Mail Support») — вимкніть.
- Якщо домен був спрямований на VPS, перевірте сайт у браузері. Повинна відображатись така заглушка:
Каталог сайту
Файли доданого сайту потрібно розміщувати в каталозі /home/admin/web/example.com/public_html
, де admin
— це каталог користувача, під обліковим записом якого додавався сайт, а example.com
— назва домену, вказаного при додаванні сайту.
За замовчуванням в каталозі сайту будуть знаходиться два файли:
- Індексний файл з автоматично згенерованою заглушкою.
- Файл
robots.txt
.
Підключення безкоштовного сертифіката від Let's Encrypt
Увага!
Домен сайту має бути коректно спрямований на VPS.- Перейдіть на вкладку «WEB», наведіть на потрібний сайт і натисніть на зелену кнопку «РЕДАГУВАТИ» («EDIT»):
- Увімкніть «Підтримка SSL» («SSL Support»), увімкніть «Підтримка Lets Encrypt» («Lets Encrypt Support»), в полі «Директорія SSL» («SSL Home) залиште
public_html
і внизу сторінки натисніть «Зберегти» («Save»): - Якщо все пройде успішно, з’явиться повідомлення «Зміни збережені» (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]
Бази даних
Додавання бази даних
- Перейдіть на вкладку «DB» і натисніть ➕:
- Вкажіть дані бази даних та натисніть «Додати» («Add»):
- «База даних» («Database») — назва бази даних. До назви автоматично додається префікс із логіном користувача панелі.
- «Користувач» («User») — ім’я користувача бази даних. До назви автоматично додається префікс із логіном користувача панелі. Вказане ім’я разом із префіксом не повинно перевищувати 16 символів.
- «Пароль» («Password») — пароль користувача бази даних. Можна автоматично згенерувати кнопкою «згенерувати» («generate»).
- «Тип» («Type») — «mysql».
- «Сервер» («Host») — «localhost».
- «Кодування» («Charset») — «utf8».
- «Надіслати дані облікового запису за адресою» («Send login credentials to email address») — поштова скринька, на яку будуть надіслані дані для підключення до бази даних.
phpMyAdmin
Щоб відкрити створену базу даних в phpMyAdmin, на вкладці «DB» натисніть «PHPMYADMIN» і вкажіть ім’я користувача та пароль бази даних:
Пошта
Створення поштової скриньки
- Перейдіть на вкладку «MAIL» і натисніть ➕:
- Вкажіть поштовий домен, встановіть потрібні параметри та натисніть «Додати» («Add»):
- «Домен» («Domain») — поштовий домен.
- «Підтримка антиспаму» («Antispam Support») — увімкніть для перевірки всіх листів на спам.
- «Підтримка антивіруса» («Antivirus Support») — увімкніть для перевірки всіх листів на наявність вірусів.
- «Підтримка DKIM» («DKIM Support») — увімкніть для налаштування DKIM. Увага! Підтримка DKIM встановлюється автоматично, якщо до системи DNS у Vesta було додано однойменний домен. В іншому випадку потрібно додатково отримати відкритий ключ DKIM.
- Після створення поштового домену натисніть «Back» або перейдіть в меню «MAIL» з першого пункту, наведіть на нього курсор та натисніть «ADD ACCOUNT»:
- Вкажіть дані створюваної поштової скриньки:
- «Домен» («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») після успішного заповнення всіх полів.
- Перевірте підключення до сервера за допомогою вбудованого поштового веб-клієнта або іншого поштового клієнта.
- Налаштуйте MX-записи домену на IP-адресу VPS для подальшого прийняття листів до поштових скриньок, розміщених на сервері.
Ручне налаштування SPF і DKIM
Після налаштування та додавання поштових скриньок для них рекомендується налаштувати записи SPF та DKIM. SPF-запис потрібно формувати самостійно, залежно від налаштувань самої панелі Vesta. У більшості випадків використовується IP-адреса і може підійти такий запис:
v=spf1 a mx ip4:XXX.XXX.XXX.XXX ~all
Замість XXX.XXX.XXX.XXX
вкажіть IP-адресу VPS.
Отримання відкритого ключа DKIM:
- Підключіться до сервера по SSH з root-правами.
- Виконайте команду:
export VESTA=/usr/local/vesta/
- Виконайте команду для отримання відкритого ключа DKIM:
/usr/local/vesta/bin/v-list-mail-domain-dkim-dns admin example.com
В команді:
- Замість
admin
— ім’я користувача, у рамках якого було створено поштовий домен у панелі керування Vesta. - Замість
example.com
— поштовий домен, до якого потрібно отримати підпис DKIM.
- Скопіюйте рядок запису
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"
- Додайте новий запис для домену з такими даними:
- «Субдомен» —
mail._domainkey
. Якщо запис додається для піддомену, додайте до рядка ім’я піддомену. - «Тип» — «TXT».
- «Дані» — рядок
VALUE
для записуmail._domainkey
із виведення попередньої команди. У вказаному раніше прикладі це був рядок:k=rsa; p=MIGfMA0GCSqGSIXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+FsN/9YOMojgLhwMzGDFOFZccPzxiXtRlZ0ek5CXLXgeQY+3HhQmCeJFz5RHykb84s/UGQFf/UyWUJS9o3BTpkWbgC9C4zqYvKTklMI511CEACfm+e07mOdfXjst31p9DP/TkQIDAQAB
DNS
Встановлення DNS-сервера
- Підключіться до сервера по SSH з root-правами.
- Встановіть DNS-сервер Bind для вашої ОС:
- Доповніть конфігураційний файл Vesta будь-яким із способів:
- Або відредагуйте файл вручну:
nano /usr/local/vesta/conf/vesta.conf
Після відкриття редактора потрібно дописати рядок:
DNS_SYSTEM='bind9'
- Або додайте рядок у файл командою:
echo "DNS_SYSTEM='bind9'" >> /usr/local/vesta/conf/vesta.conf
- Перевірте роботу DNS-сервісу в панелі Vesta.
Налаштування DNS-сервісу
Увага!
Якщо при роботі з панеллю Vesta виникає помилка «Error: DNS_SYSTEM is not enabled», то слід встановити DNS-сервер.- Створіть дочірні NS для зареєстрованого домену та спрямуйте їх на IP-адресу VPS.
- Відкрийте панель керування Vesta.
- Перейдіть на вкладку «DNS» і натисніть ➕:
- Заповніть поля та натисніть «Додати» («Add»):
- «Домен» («Domain») — домен, для якого були створені дочірні NS.
- «IP адреса» («IP address») — IP-адреса VPS.
- На вкладці «DNS» натисніть «Edit» у рядку домену, який буде використовуватися в якості NS:
- У полі «Template» виберіть «child-ns» і натисніть «Save»:
- Перейдіть в меню «Packages»:
- Відредагуйте стандартний шаблон кнопкою «Edit» біля шаблону з назвою «default»:
- Внизу сторінки в полях «Name Servers» вкажіть раніше створені дочірні сервери і натисніть «Зберегти» («Save»):
- Всі домени, що додаються в панель керування Vesta, за замовчуванням вже будуть налаштовуватися на цих NS. Раніше додані домени потрібно буде налаштувати вручну.