5.2.7. Vesta

Внимание!

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

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

Red Hat Enterprise Linux (RHEL), CentOS, Debian, Ubuntu. Подробнее см. в официальной документации.

Примечания:

  • Системные требования и действия по установке описаны на официальном сайте. Там же можно сгенерировать собственную команду для установки панели с набором нужных вам служб.
  • Службу 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. Ранее добавленные домены нужно будет настроить вручную.
Содержание