Введение
VestaCP это панель управления хостингом с открытым исходным кодом, которая позволяет легко управлять веб-серверами, DNS-серверами, почтовыми серверами, базами данных и многим другим через простой веб-интерфейс. Она поддерживает такие популярные программы, как Apache, Nginx, PHP, MySQL, Exim, Dovecot и другие.
В этом подробном руководстве мы расскажем, как установить VestaCP с нуля на свежеустановленный сервер Ubuntu 20.04/22.04 или CentOS 7. Мы подробно рассмотрим каждый шаг, чтобы VestaCP был полностью настроен и готов к управлению хостинг-аккаунтами.
Предварительные условия
- Сервер под управлением Ubuntu 20.04/22.04 или CentOS 7 с правами root или пользователя с привилегиями sudo.
- Статический IP-адрес, назначенный серверу.
- Порты 80 и 443 открыты на брандмауэре для веб-трафика.
- Зарегистрированное доменное имя, указывающее на IP-адрес сервера. Оно будет использоваться для доступа к панели администрирования VestaCP.
Шаг 1 — Установка необходимых пакетов
Сначала нам нужно установить некоторые необходимые пакеты, которые нужны VestaCP для правильной работы.
Для Ubuntu 20.04/22.04
Выполните следующие команды для установки curl, nano, htop, wget:
$ sudo apt update
$ sudo apt install curl nano htop wget -y
Для CentOS 7
Выполните следующие команды для установки curl, nano, htop, wget:
$ sudo yum install epel-release -y
$ sudo yum update
$ sudo yum install curl nano htop wget -y
Эти пакеты предоставляют полезные инструменты для загрузки файлов, редактирования конфигураций, мониторинга процессов и многого другого.
Шаг 2 — Отключите Apache/Exim
Если Apache и Exim установлены по умолчанию, нам нужно удалить их перед установкой Nginx и Postfix.
Для Ubuntu 20.04/22.04
$ sudo apt remove apache2* exim4* -y
$ sudo apt purge apache2* exim4* -y
$ sudo rm -rf /etc/apache2 /etc/exim4
Для CentOS 7
$ sudo yum remove httpd* exim -y
$ sudo rm -rf /etc/httpd /etc/exim
Это полностью удаляет эти пакеты из системы, чтобы избежать конфликтов.
Шаг 3 — Скачайте программу установки VestaCP
Теперь мы загрузим последний выпуск скрипта автоматического установщика VestaCP.
Выполните эту команду на Ubuntu и CentOS, чтобы загрузить скрипт:
$ curl -O http://vestacp.com/pub/vst-install.sh
Шаг 4 — Установка VestaCP
Теперь мы запустим сценарий установки, чтобы установить VestaCP с необходимыми нам компонентами.
На Ubuntu 20.04/22.04 запустите:
$ sudo bash vst-install.sh --nginx yes --apache no --phpfpm yes --named yes --remi no --vsftpd yes --proftpd no
--iptables yes --fail2ban yes --quota no --exim no --dovecot yes --spamassassin yes --clamav yes --softaculous no
--mysql yes --postgresql no --hostname yourdomain.com --email [email protected] --password mypassword
Объяснение основных опций:
-nginx: Установка и настройка веб-сервера Nginx
-apache: Не устанавливайте Apache
-phpfpm: Установите PHP-FPM для обработки PHP-страниц
-named: Установите BIND для DNS-сервера
-remi: Не требуется на Ubuntu
-vsftpd: Установите очень безопасный FTP-демон
-iptables: Настройте брандмауэр с помощью iptables
-fail2ban: Установите fail2ban для предотвращения вторжений
-quota: Не устанавливать управление квотами
-exim: Не устанавливать почтовый сервер Exim -dovecot: Установить POP3/IMAP-сервер Dovecot
-spamassassin: Установите антиспамовую защиту SpamAssassin
-clamav: Установить антивирусное сканирование ClamAV
-mysql: Установите сервер MySQL
На CentOS 7 выполните:
$ sudo bash vst-install.sh --nginx yes --apache no --phpfpm yes --named yes --remi yes --vsftpd yes --proftpd no
--iptables yes --fail2ban yes --quota no --exim no --dovecot yes --spamassassin yes --clamav yes --softaculous no
--mysql yes --postgresql no --hostname yourdomain.com --email [email protected] --password mypassword
Единственное отличие заключается в том, что мы добавляем --remi yes
, чтобы включить репозиторий Remi для последней версии PHP на CentOS.
Теперь программа установки запустится, установит все компоненты и настроит их автоматически. Это может занять от 5 до 15 минут в зависимости от скорости интернет-соединения вашего сервера.
После завершения установки обратите внимание на URL-адрес администратора, имя пользователя и пароль, указанные в конце. Мы будем использовать их для входа в VestaCP.
Шаг 5 — Вход в панель администратора VestaCP
Чтобы получить доступ к панели администратора VestaCP, просто откройте в веб-браузере URL-адрес, указанный в конце программы установки:
https://yourdomain.com:8083
Введите указанные имя пользователя и пароль администратора.
После этого перед вами откроется панель управления VestaCP.
По умолчанию имя пользователя администратора admin
Шаг 6 — Защита доступа к VestaCP
По умолчанию VestaCP позволяет входить в систему через HTTP, что небезопасно. Сейчас мы настроим SSL и заблокируем доступ по HTTP.
Активация SSL (HTTPS-доступ)
Перейдите на вкладку Web и подраздел SSL в VestaCP. Выберите свой домен и выберите Let's Encrypt
в качестве провайдера SSL. Установите флажок для SSL и измените порт на 443. Сохраните изменения.
Теперь VestaCP установит SSL-сертификат для вашего домена, выданный Let’s Encrypt, и активирует его. Это может занять несколько минут.
После активации зайдите на VestaCP по новому HTTPS-адресу:
https://yourdomain.com
Войдите в систему, чтобы убедиться, что все работает.
Блокировка HTTP-доступа
Чтобы предотвратить небезопасный HTTP-доступ, необходимо отключить порт 80 и сохранить правила брандмауэра в VestaCP:
Вкладка Web -> Брандмауэр
- Снимите флажок для порта 80
- Нажмите кнопку Сохранить изменения
Теперь вы сможете получить доступ к VestaCP только по HTTPS-адресу.
Шаг 7 — Добавление пакетов хостинга
Теперь мы можем начать добавлять пакеты хостинга, которые впоследствии будут назначены учетным записям пользователей.
Перейдите на вкладку «Пакеты» и нажмите кнопку Добавить новый пакет
Давайте создадим базовый пакет виртуального хостинга со следующими параметрами:
- Название пакета: starter
- Квота дискового пространства: 5 ГБ
- Квота на пропускную способность: 100 ГБ
- Учетные записи электронной почты: 10
- Переадресаторы электронной почты: 20
- Автоответчики электронной почты: Включено
- Дисковые иноды: 300000
- Директивы Apache: По умолчанию
- Макс. домены: 5
- Максимальные поддомены: 10
- Максимальные псевдонимы: 20
- Максимум припаркованных доменов: 5
- Макс. аддонные домены: 3
Нажмите Сохранить чтобы добавить пакет.
Создайте дополнительные пакеты на основе ресурсов, которые вы хотите назначить учетным записям пользователей.
Шаг 8 — Добавление учетных записей пользователей хостинга
Теперь мы можем приступить к созданию учетных записей хостинга и назначению им пакетов, которые мы создали ранее.
Перейдите на вкладку Пользователи и нажмите кнопку Создать пользователя
Для первой учетной записи используйте эти примерные данные:
- Имя пользователя: john
- Пакет: стартер
- Пароль: password123
- Электронная почта: [email protected]
- Имя: Джон
- Фамилия: Доу
Нажмите Создать пользователя , чтобы добавить учетную запись.
Это автоматически создаст все необходимые каталоги, базы данных, учетные записи электронной почты и конфигурации для хостинг-аккаунта на основе выделенных лимитов пакета.
Вы можете повторить процедуру, чтобы создать больше учетных записей.
Шаг 9 — Настройка серверов имен в VestaCP
Чтобы ваши доменные имена указывали на этот сервер, вам нужно настроить серверы имен в VestaCP.
Вкладка DNS -> Домен -> Добавить домен
Просто введите зарегистрированное доменное имя, например:
yourdomain.com
Сохраните изменения.
Это автоматически сгенерирует серверы имен по умолчанию для вашего сервера:
ns1.yourdomain.com
ns2.yourdomain.com
Здесь же вы можете создать записи A для вашего домена и поддоменов.
Шаг 10 — Изменение именных серверов у регистратора доменов
Войдите в учетную запись регистратора доменных имен и обновите серверы имен:
ns1.yourdomain.com
ns2.yourdomain.com
Это передаст управление DNS для вашего домена серверу VestaCP. Для полного вступления в силу может потребоваться от 2 до 24 часов.
Теперь ваш сервер VestaCP является официальным сервером имен для принадлежащих вам доменов.
Шаг 11 — Настройка почтовых служб
Теперь, когда у нас настроены учетные записи хостинга, давайте настроим почтовые службы для отправки и получения писем должным образом.
Настройка Postfix для отправки писем
VestaCP использует Postfix для отправки исходящих писем. Нам нужно указать имя хоста и домены, которые он будет обрабатывать.
Перейти к:
Вкладка «Почта -> Почтовый сервер -> Настройка почтового сервера
- Имя хоста: mail.yourdomain.com
- Домены: yourdomain.com
Сохраните изменения и перезапустите Postfix при появлении соответствующего запроса.
Это позволяет Postfix принимать исходящую почту для тех доменов, которые будут отправлены на другие почтовые серверы.
Настройка службы Dovecot POP3/IMAP
Dovecot используется для получения и извлечения электронной почты по протоколам POP3 и IMAP.
Перейти к:
Вкладка «Почта -> Почтовый сервер -> Настройка почтового сервера
- Сервер IMAP: да
- POP3-сервер: да
- Порт IMAP: 143
- Порт POP3: 110
- Порт SSL/TLS: 995
Сохраните изменения и перезапустите Dovecot при появлении соответствующего запроса.
Включение этих протоколов позволяет пользователям проверять почту с помощью любого почтового клиента.
Настройка SpamAssassin
SpamAssassin будет обрабатывать входящие сообщения электронной почты, чтобы обнаружить и пометить спам. Включите его на вкладке «Почта»:
Вкладка «Почта -> SpamAssassin -> Активировать SpamAssassin
Сохраните изменения и перезапустите SpamAssassin.
Письма, признанные спамом, теперь будут помечены в строке темы для пользователей.
Настройка антивирусного сканирования ClamAV
ClamAV обеспечивает антивирусную защиту входящей электронной почты. Включите ее с помощью:
Вкладка «Почта -> ClamAV -> Активируйте ClamAV
Сохраните изменения и перезапустите ClamAV.
Письма с обнаруженными вирусами можно настроить так, чтобы они отклонялись, удалялись или просто отмечались.
Шаг 12 — Настройка службы резервного копирования
Очень важно настроить автоматическое резервное копирование, которое будет выполняться регулярно на случай катастрофы. VestaCP имеет встроенные возможности резервного копирования.
Перейти на:
Вкладка резервного копирования -> Резервное копирование и восстановление -> Добавить задание резервного копирования
Создайте задание резервного копирования с этими настройками:
- Имя: Ежедневное резервное копирование
- Каталоги резервного копирования: Выберите все в разделах Web, DNS и Mail
- Базы данных: Выберите все базы данных MySQL
- Уровень сжатия: 9
- Назначение: Локальная резервная копия
- Расписание: Ежедневно
Это позволит ежедневно создавать резервные копии веб-сайтов, зон DNS, почтовых аккаунтов и баз данных и хранить их в локальном сжатом виде.
Также следует настроить резервное копирование на удаленный сервер.
Шаг 13 — Установка сертификатов SSL/TLS
Чтобы настроить HTTPS-доступ для ваших хостинг-аккаунтов, необходимо установить SSL/TLS-сертификаты.
VestaCP позволяет легко добавить бесплатные SSL-сертификаты Let’s Encrypt.
Просто перейдите по ссылке:
Вкладка SSL -> Let’s Encrypt
Затем введите каждое нужное вам доменное имя в отдельной строке и нажмите Выдать SSL-сертификат.
Let’s Encrypt автоматически проверит принадлежность домена и сгенерирует сертификаты, которые будут автоматически настроены для доменов в VestaCP.
Очень просто!
Заключение
Это полное руководство по установке VestaCP на Ubuntu и CentOS.
Некоторые ключевые моменты:
- VestaCP предоставляет интуитивно понятный интерфейс для управления услугами хостинга
- Автоматизированная установка упрощает развертывание
- Возможность работы с веб-сайтами, электронной почтой, DNS, базами данных и т. д.
- Встроенные функции безопасности, такие как брандмауэр, fail2ban, ClamAV
- Доступны SSL-сертификаты с интеграцией Let’s Encrypt
- Решения для резервного копирования, предотвращающие потерю данных
- Предназначены для масштабирования с учетом возрастающих рабочих нагрузок
Установив VestaCP, вы получаете платформу, способную обеспечить хостинг для потенциально тысяч пользователей, при этом обеспечивая надежность, безопасность и простоту использования.