Установка и настройка VPS на Beget

В этом курсе вы научитесь арендовать и настраивать виртуальный сервер на хостинге Beget, опираясь на актуальные данные [beget.com](https://beget.com/ru/vps). Мы пройдем все этапы: от выбора конфигурации и подключения по SSH [vc.ru](https://vc.ru/dev/1015534-shag-za-shagom-rukovodstvo-po-ustanovke-i-razvertyvaniyu-servera-centos-7-na-vps-ot-beget) до привязки домена, установки ПО и выпуска SSL-сертификата [beget.com](https://beget.com/ru/kb/how-to/vps).

1. Выбор тарифа и создание виртуального сервера в панели Beget

Выбор тарифа и создание виртуального сервера в панели Beget

Развертывание любого современного IT-проекта начинается с подготовки инфраструктуры. В облачной среде провайдера Beget этот процесс автоматизирован, однако требует от администратора четкого понимания того, какие ресурсы необходимы для конкретной задачи. Правильный выбор конфигурации на старте позволяет избежать переплат за простаивающие мощности или, наоборот, падения проекта из-за нехватки оперативной памяти.

> VPS (Virtual Private Server) — это услуга предоставления виртуального выделенного сервера, который эмулирует работу физического компьютера, предоставляя пользователю полный root-доступ и изолированные вычислительные ресурсы.

Представьте себе многоквартирный дом. Физический сервер — это само здание, а VPS — это отдельная квартира в нем. У вас есть свои изолированные комнаты (ресурсы), своя железная дверь (безопасность) и вы можете делать внутри любой ремонт (устанавливать любое программное обеспечение), не мешая соседям.

География серверов: влияние локации на скорость работы

Первый шаг при создании сервера в панели управления — выбор физического расположения дата-центра. Beget предлагает несколько локаций, включая Россию (Санкт-Петербург), страны Европы и Казахстан. Выбор локации напрямую влияет на сетевую задержку — время, за которое пакет данных доходит от пользователя до сервера и обратно.

Если ваша основная аудитория находится в Москве или регионах РФ, оптимальным выбором станет дата-центр в Санкт-Петербурге. Это обеспечит минимальный пинг (задержку) на уровне 10–20 миллисекунд. Для проектов, ориентированных на международный рынок, целесообразно выбирать европейские локации.

!Схема передачи данных: сервер в центре, от него расходятся линии к пользователям в разных городах. Линии к ближним пользователям короткие и зеленые, к дальним — длинные и желтые

Вычислительные мощности: процессоры и дисковая подсистема

После выбора локации необходимо определить тип процессора. Провайдер разделяет серверы на две основные категории:

Standard (3+ GHz) — серверы на базе процессоров Intel Xeon Scalable и AMD Epyc*. Это универсальное решение, которое подходит для 90% задач: от размещения личных блогов до настройки корпоративных VPN-туннелей. High-Freq (5+ GHz) — серверы с высокочастотными процессорами. Они необходимы для приложений, которые плохо поддаются распараллеливанию и требуют максимальной производительности на одно ядро. Яркий пример — тяжелые интернет-магазины на базе 1C-Битрикс*.

Важнейшим элементом современного сервера является накопитель. В облаке Beget используются исключительно NVMe-диски. В отличие от устаревших HDD или стандартных SSD, протокол NVMe работает напрямую через шину PCI Express, что обеспечивает скорость чтения и записи в несколько гигабайт в секунду. Это критически важно для баз данных, которые постоянно обращаются к дисковой памяти.

Балансировка ресурсов и тарификация

Конфигурация сервера складывается из количества ядер процессора (CPU), объема оперативной памяти (RAM) и размера диска. Beget использует модель посуточной тарификации, что позволяет гибко управлять бюджетом.

Для расчета примерных ежемесячных затрат используется простая математическая модель:

Где — итоговая сумма списания за период, — тарифная ставка в день, — количество дней использования сервера.

Например, если вы выбрали базовый тариф за 7 руб. в день, то за стандартный месяц (30 дней) вы заплатите: 7 × 30 = 210 руб. Если сервер нужен только на выходные для тестирования кода, вы заплатите всего 14 руб. за два дня, после чего сервер можно удалить.

Ниже приведено сравнение популярных конфигураций линейки Standard:

| Ядра (CPU) | Память (RAM) | Диск (NVMe) | Стоимость в день | Оптимальное применение | | :--- | :--- | :--- | :--- | :--- | | 1 ядро | 1 ГБ | 10 ГБ | 7 руб. | Личный VPN, Telegram-боты, пет-проекты | | 2 ядра | 2 ГБ | 30 ГБ | 22 руб. | Небольшие сайты, блоги, тестовые среды | | 4 ядра | 6 ГБ | 80 ГБ | 55 руб. | Интернет-магазины, базы данных, CRM-системы | | 8 ядер | 16 ГБ | 220 ГБ | 170 руб. | Высоконагруженные порталы, видеостриминг |

Начинать всегда рекомендуется с минимально подходящего тарифа. Облачная архитектура позволяет увеличить ресурсы (сделать апгрейд) в любой момент всего в несколько кликов без потери данных. А вот уменьшить размер диска (даунгрейд) технически гораздо сложнее из-за особенностей файловых систем.

Выбор операционной системы и программного окружения

Следующий этап — выбор программной основы. Панель предлагает десятки вариантов, которые можно разделить на чистые операционные системы и готовые сборки (Marketplace).

Среди чистых ОС наибольшей популярностью пользуются дистрибутивы семейства Linux:

  • Ubuntu (версии 20.04, 22.04, 24.04) — самый дружелюбный дистрибутив с огромным сообществом. Если вы новичок, смело выбирайте последнюю LTS-версию Ubuntu. Практически любая инструкция в интернете написана именно под нее.
  • Debian (версии 11, 12) — славится своей феноменальной стабильностью. Обновления пакетов здесь выходят реже, но они максимально протестированы.
  • CentOS Stream / AlmaLinux / Rocky Linux — корпоративные стандарты, часто используемые в энтерпрайз-сегменте и для специфического коммерческого ПО.
  • Если ваша цель — быстро запустить конкретное приложение, обратите внимание на вкладку с готовыми решениями. Вместо того чтобы вручную устанавливать веб-сервер, базу данных и интерпретатор языка, вы можете выбрать образ с уже предустановленным WordPress, Docker или GitLab. Система автоматически развернет ОС и настроит выбранное программное обеспечение.

    !Интерфейс панели управления: три колонки. Слева выбор локации (флаги стран), по центру ползунки выбора ядер и памяти, справа сетка с логотипами операционных систем (Ubuntu, Debian, CentOS)

    Безопасность и аутентификация

    Финальный штрих перед нажатием кнопки «Создать» — настройка доступа. По умолчанию система генерирует сложный пароль для суперпользователя root, который будет отправлен вам на почту и отображен в панели.

    Однако стандартом индустрии является использование SSH-ключей. Это криптографический метод аутентификации, при котором создается пара ключей: закрытый (хранится на вашем компьютере) и открытый (загружается на сервер Beget).

    Преимущества SSH-ключей перед паролями: Их невозможно подобрать методом перебора (brute-force*). * Вам не нужно запоминать сложные комбинации символов. * Процесс подключения происходит мгновенно.

    Если у вас уже сгенерирован SSH-ключ, вы можете вставить его публичную часть в соответствующее поле на этапе создания сервера. Если нет — оставьте доступ по паролю, ключи можно будет настроить позже.

    После того как все параметры выбраны, остается нажать кнопку создания. Благодаря современным технологиям виртуализации, процесс выделения ресурсов, установки ОС и запуска сети занимает около 10 секунд. Сразу после этого сервер получает выделенный IP-адрес и полностью готов к приему входящих подключений.

    2. Подключение к серверу по SSH и базовая настройка ОС

    Подключение к серверу по SSH и базовая настройка ОС

    После успешного выбора тарифа и создания виртуального сервера в панели управления Beget, ваша инфраструктура готова к работе. Сервер запущен, ему назначен выделенный IP-адрес, а на вашу электронную почту отправлены реквизиты доступа. Следующий важнейший этап — установка защищенного соединения с сервером и подготовка операционной системы к установке программного обеспечения.

    В облачной среде вы не можете подключить к серверу физический монитор и клавиатуру. Все взаимодействие происходит удаленно через командную строку. Для этого используется специальный сетевой протокол.

    > SSH (Secure Shell) — это сетевой протокол прикладного уровня, позволяющий производить удаленное управление операционной системой и туннелирование TCP-соединений. Он шифрует весь передаваемый трафик, включая пароли, что делает перехват данных бессмысленным.

    Работа протокола построена на клиент-серверной архитектуре. На вашем VPS от Beget уже автоматически установлен и запущен SSH-сервер (чаще всего это программа OpenSSH). Он непрерывно «слушает» входящие подключения на стандартном порту. Ваша задача — использовать SSH-клиент на своем домашнем или рабочем компьютере для установки связи.

    !Схема работы SSH-протокола

    Инструменты для подключения к серверу

    Выбор программы-клиента зависит от операционной системы, установленной на вашем локальном компьютере. Современные ОС уже имеют встроенные инструменты, но многие администраторы предпочитают использовать сторонние утилиты для большего удобства.

    | Операционная система | Встроенный инструмент | Популярные сторонние клиенты | Особенности | | :--- | :--- | :--- | :--- | | Windows | Windows PowerShell / CMD | PuTTY, MobaXterm, Termius | Начиная с Windows 10, клиент OpenSSH встроен в систему по умолчанию. PuTTY остается классикой для старых версий. | | macOS | Terminal | Termius, iTerm2 | Встроенный терминал macOS базируется на Unix-архитектуре и идеально подходит для работы по SSH без дополнительных программ. | | Linux | Terminal (любой эмулятор) | Remmina, Termius | Нативная поддержка всех функций SSH «из коробки». |

    Если вы используете современную версию Windows, macOS или Linux, вам достаточно открыть стандартное приложение терминала.

    Первое подключение и проверка подлинности

    Для инициализации соединения используется базовая команда, которая состоит из имени пользователя и IP-адреса сервера. По умолчанию в системах семейства Linux главным администратором является пользователь root.

    Синтаксис команды выглядит следующим образом:

    Например, если панель Beget выдала вашему серверу IP-адрес 195.161.41.20, команда примет вид: ssh root@195.161.41.20.

    При самом первом подключении к новому серверу вы увидите предупреждение о неизвестном отпечатке ключа (authenticity of host can't be established). Это встроенный механизм безопасности. Система сообщает, что ранее вы никогда не подключались к этому устройству, и просит подтвердить, что вы доверяете ему. Необходимо ввести слово yes и нажать Enter.

    После этого сервер запросит пароль.

    > Внимание: при вводе пароля в терминалах Linux и macOS символы не отображаются на экране (даже в виде звездочек). Это сделано для защиты от подглядывания. Просто введите пароль вслепую или вставьте его из буфера обмена и нажмите Enter.

    Обновление системных пакетов

    Сразу после успешной авторизации вы попадаете в командную оболочку сервера. Первое правило системного администрирования — поддерживать программное обеспечение в актуальном состоянии. Образы операционных систем (например, Ubuntu или Debian), которые разворачиваются в панели Beget, могут не содержать самых последних патчей безопасности на момент создания сервера.

    Для управления программами в Ubuntu и Debian используется пакетный менеджер APT (Advanced Package Tool). Процесс обновления состоит из двух логических шагов:

  • Синхронизация локальной базы данных с удаленными репозиториями (серверами разработчиков ОС).
  • Непосредственное скачивание и установка новых версий программ.
  • Выполните следующую команду:

    В этой конструкции apt update обновляет списки пакетов, символ && указывает системе выполнить вторую команду только в случае успеха первой, apt upgrade запускает процесс установки, а флаг -y автоматически отвечает «Да» на все вопросы системы в процессе обновления.

    Создание непривилегированного пользователя

    Работа на сервере под учетной записью root считается грубым нарушением стандартов безопасности. Пользователь root имеет абсолютную власть над системой: он может удалить критически важные файлы, остановить системные процессы или отформатировать диск одной командой. Любая ошибка или запуск вредоносного скрипта под этим пользователем приведет к фатальным последствиям.

    Правильный подход — создать обычного пользователя для повседневных задач и наделить его правом временно повышать свои привилегии с помощью утилиты sudo (Superuser do).

    !Схема прав доступа в Linux

    Процесс создания нового пользователя (назовем его admin) состоит из двух команд:

    Система попросит вас придумать пароль для нового пользователя и заполнить дополнительную информацию (имя, телефон — эти поля можно пропустить, нажимая Enter).

    Теперь добавим созданного пользователя в специальную группу sudo, которая разрешает выполнение административных команд:

    Теперь вы можете отключиться от сервера (команда exit) и зайти заново, но уже под новым именем: ssh admin@195.161.41.20. Если вам потребуется выполнить команду, требующую прав администратора (например, установить веб-сервер), просто добавьте слово sudo перед ней: sudo apt install nginx.

    Базовая защита: смена стандартного порта SSH

    По умолчанию SSH-сервер ожидает подключений на порту 22. Это общеизвестный факт, поэтому в интернете непрерывно работают тысячи автоматических ботов, которые сканируют IP-адреса и пытаются подобрать пароль к порту 22 методом перебора (brute-force).

    Чтобы снизить количество паразитного трафика и защитить сервер от автоматических атак, рекомендуется изменить стандартный порт на любой нестандартный.

    Для понимания того, какой порт можно выбрать, обратимся к архитектуре сетей. Общее количество доступных TCP-портов вычисляется по формуле:

    Где — общее количество портов, а — разрядность заголовка TCP-пакета в битах. Порты нумеруются от до . При этом порты до зарезервированы под стандартные системные службы (например, 80 для HTTP, 443 для HTTPS).

    Следовательно, для пользовательских нужд доступен следующий диапазон:

    Где — номер порта, который вы можете назначить для SSH.

    Например, выберем порт 2244. Для его изменения необходимо отредактировать конфигурационный файл SSH-сервера. Откройте его с помощью консольного текстового редактора nano:

    Найдите строку #Port 22. Удалите символ решетки (раскомментируйте строку) и измените число 22 на 2244. Сохраните изменения (в nano это делается комбинацией Ctrl+O, затем Enter, и выход — Ctrl+X).

    Чтобы изменения вступили в силу, перезапустите службу SSH:

    > Важно: не закрывайте текущую сессию терминала, пока не проверите новое подключение! Откройте новое окно терминала и попробуйте подключиться с указанием нового порта.

    Для подключения по нестандартному порту используется флаг -p:

    Если подключение прошло успешно, старую сессию можно закрывать. Теперь ваш сервер базово настроен, обновлен и защищен от примитивных автоматических атак. В дальнейшем на эту подготовленную операционную систему можно устанавливать веб-серверы, базы данных и разворачивать код вашего проекта.