5.2.7. Vesta
Внимание!
Vesta практически не развивается. Рекомендуем использовать более актуальную панель управления, например один из её форков — Hestia или myVesta.Vesta — бесплатная панель управления с открытым исходным кодом.
Поддерживаемые ОС
Red Hat Enterprise Linux (RHEL), CentOS, Debian, Ubuntu. Подробнее см. в официальной документации.
Установка
Примечания:
- Системные требования и действия по установке описаны на официальном сайте. Там же можно сгенерировать собственную команду для установки панели с набором нужных вам служб.
- В качестве 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. Ранее добавленные домены нужно будет настроить вручную.