Как настроить сервер после покупки: чек-лист на 2 часа

Как настроить сервер: чек-лист первых двух часов

Марина
Марина
📅 13 сентября 2026
Как настроить сервер: чек-лист первых двух часов

Настройка сервера с нуля занимает около двух часов и состоит из восьми обязательных шагов: обновить пакеты, завести отдельного пользователя вместо root, перевести вход по SSH на ключи, закрыть лишние порты файрволом, добавить swap-файл, выставить часовой пояс, поднять мониторинг и настроить бэкапы. Порядок именно такой: каждый следующий шаг опирается на предыдущий, а переделывать машину с работающим сайтом заметно дороже. Стартовые тарифы, на которых чаще всего разворачивают такую конфигурацию, собраны в каталоге VPS — там 44 провайдера с ценами от 59 ₽/мес.

Материал написан для тех, кто впервые оплатил виртуальный сервер и получил письмо с IP-адресом и паролем root. Внутри — команды с объяснением, что каждая делает, таблица тайминга по шагам, сравнение стартовых тарифов на 03.09.2026 и разбор ошибок, из-за которых новички теряют доступ к собственной машине.

Что приходит в письме от хостера и что проверить в первые пять минут

После оплаты провайдер выдаёт четыре вещи: IP-адрес машины, логин (почти всегда root), пароль и номер порта SSH — обычно 22/TCP. В панели провайдера есть и веб-консоль: аварийный вход через браузер, который работает, даже когда SSH сломан.

Проверьте, какая операционная система реально установлена: в панели заказа легко промахнуться мимо нужного образа. Если планируете идти по этой статье дословно, берите свежий LTS-выпуск. LTS — это версия с долгой поддержкой: обновления безопасности для неё выходят около пяти лет. Подборка предложений есть в разделе VPS с Ubuntu.

Дальше посмотрите на ресурсы. Тариф за 139 ₽/мес с 0,5 ГБ памяти и тариф за 593 ₽/мес с 2 ГБ памяти настраиваются одинаково, но на первом обязателен swap. Запишите объём RAM — он понадобится на шестом шаге.

Чек-лист первых двух часов после покупки сервера
Пять шагов, которые закрывают большинство типовых проблем нового сервера

Обновление пакетов: первая команда после входа

Образ, из которого развернули вашу машину, собирали месяц или три назад. За это время в системных библиотеках нашли уязвимости, и часть из них уже эксплуатируют автоматические сканеры. Поэтому первое, что делают на свежем сервере, — подтягивают обновления.

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

apt update && apt upgrade -y

На чистой системе процесс занимает от 1 до 5 минут и скачивает 100–300 МБ. Если обновилось ядро, выполните reboot — сервер поднимется за 20–40 секунд. В системах на базе RHEL (это Red Hat Enterprise Linux и её бесплатные родственники — Rocky, AlmaLinux) ту же задачу решает команда dnf upgrade -y.

Отдельный пользователь вместо root

Учётная запись root может всё: удалить систему, переписать конфиги, выключить сеть. Одна опечатка в команде — и машины нет. Вторая проблема серьёзнее: имя root известно заранее, поэтому боты подбирают к нему пароль круглосуточно. На новом сервере с открытым портом 22/TCP за сутки набегает несколько тысяч неудачных попыток входа — это обычный фон.

Решение — завести обычного пользователя и работать под ним, повышая права только там, где это нужно. Команда adduser deploy создаёт пользователя с именем deploy и спрашивает пароль; поля вроде «Full Name» можно пропустить, нажав Enter. Затем usermod -aG sudo deploy добавляет его в группу sudo — это право временно выполнять команды от имени администратора, дописывая sudo в начало строки.

adduser deploy
usermod -aG sudo deploy

Не закрывайте текущее окно терминала. Откройте второе, войдите новым пользователем и проверьте, что sudo whoami отвечает root. Только после этого первое окно можно закрывать: иначе рискуете остаться без рабочей сессии для отката.

SSH-ключи вместо пароля и запрет парольного входа

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

Ключ создаётся на вашей машине, а не на сервере, командой ssh-keygen -t ed25519. Алгоритм ed25519 даёт короткий ключ и работает быстрее классического RSA на 2048 бит. Затем ssh-copy-id deploy@ваш-IP копирует публичную половину в файл ~/.ssh/authorized_keys на сервере.

ssh-keygen -t ed25519
ssh-copy-id deploy@203.0.113.10

Когда вход по ключу заработал, в файле /etc/ssh/sshd_config меняют две строки: PasswordAuthentication no отключает пароли совсем, PermitRootLogin no запрещает вход под root. После правки нужен systemctl restart ssh. Подробный разбор конфига с примерами есть в отдельном руководстве о том, как настроить SSH на VPS.

Файрвол: какие порты оставить открытыми

Файрвол — это фильтр, который решает, до каких портов сервера можно достучаться извне. По умолчанию на свежей машине открыто всё, что слушает какая-либо программа, включая служебные вещи, которые вы не собирались показывать интернету: базу данных на 3306/TCP, кеш на 6379/TCP, тестовый веб-сервер на 8080/TCP.

В Ubuntu и Debian удобнее всего утилита ufw — надстройка над низкоуровневыми правилами ядра с человеческим синтаксисом. Логика простая: сначала запрещаем весь входящий трафик, потом точечно открываем нужное. Правило ufw default deny incoming закрывает вход, ufw default allow outgoing оставляет серверу право самому ходить в сеть за обновлениями.

ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Порт 22/TCP открывают всегда и первым — иначе команда ufw enable отрежет вас от машины прямо посреди сессии. Правило ufw allow OpenSSH как раз и открывает этот порт: ufw знает службу по имени. Порты 80 и 443 нужны сайту: первый для обычного HTTP, второй для HTTPS. Если сайта на сервере не будет, эти два правила не добавляйте. Проверить результат можно командой ufw status numbered: она покажет список правил, любое из которых удаляется через ufw delete номер.

Рекомендуемый размер swap для разных объёмов памяти
Swap-файл спасает сервер с 1 ГБ памяти от аварийного завершения процессов

Swap-файл: страховка для сервера с 1 ГБ памяти

Когда оперативная память заканчивается, ядро Linux запускает механизм OOM Killer и принудительно закрывает самый прожорливый процесс. Обычно это как раз база данных или веб-сервер, то есть падает ровно то, ради чего машину и покупали. На тарифах с 0,5–1 ГБ RAM такое случается на ровном месте: хватает одного тяжёлого запроса или сборки проекта.

Swap — область на диске, которую система использует как медленное продолжение памяти. Он не заменяет RAM: чтение с диска в десятки раз медленнее. Зато вместо аварийного завершения процесса вы получаете временное замедление и время, чтобы разобраться. Swap создают четырьмя командами. fallocate -l 2G /swapfile резервирует на диске файл размером 2 ГБ, chmod 600 /swapfile закрывает его от других пользователей системы. Дальше mkswap /swapfile размечает файл как область подкачки, а swapon /swapfile включает его в работу.

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Оперативная память сервера Рекомендуемый размер swap Значение swappiness
0,5 ГБ 1 ГБ 10
1 ГБ 2 ГБ 10
2 ГБ 2 ГБ 10
4 ГБ 2 ГБ 10
8 ГБ и больше 1–2 ГБ или без swap 1–10

Чтобы swap подключался после перезагрузки, допишите строку /swapfile none swap sw 0 0 в файл /etc/fstab. Значение swappiness из третьей колонки таблицы показывает, насколько охотно ядро пользуется свопом: шкала от 0 до 100. Параметр vm.swappiness=10 в файле /etc/sysctl.conf велит уходить в своп только под реальным давлением, а не заранее. По умолчанию там стоит 60, и для сервера это слишком рано.

Часовой пояс, имя хоста и автообновления безопасности

Машины у большинства хостеров стартуют в UTC — это всемирное время, от которого отсчитывают все часовые пояса. Разница с Москвой — 3 часа, и она портит жизнь при первом же разборе инцидента: в логах nginx одно время, в письмах пользователей другое, задания cron (это встроенный планировщик, который запускает команды по расписанию) срабатывают не тогда, когда вы ожидали. Лечится одной командой: timedatectl set-timezone Europe/Moscow. Проверить результат — timedatectl без аргументов.

Имя хоста меняют командой hostnamectl set-hostname web-01. Смысл появляется, когда серверов больше одного: осмысленное имя видно в приглашении терминала, и вы не выполните команду не на той машине.

Последняя мелочь этого шага — автоматические обновления безопасности. Пакет unattended-upgrades сам ставит критические патчи раз в сутки, не трогая версии приложений. Устанавливается через apt install unattended-upgrades, включается через dpkg-reconfigure -plow unattended-upgrades. Это единственный способ не забыть про обновления через 30 дней, когда первый энтузиазм пройдёт.

Защита от перебора паролей и лишнего шума в логах

Даже после перехода на ключи боты продолжают стучаться в порт 22/TCP. Сами по себе эти попытки безвредны, но они забивают логи и съедают процессорное время на тарифе с 1 ядром. Стандартное решение — fail2ban: служба читает журнал авторизации, считает неудачные попытки с одного адреса и временно блокирует его правилом файрвола.

Разумные значения для начала: maxretry = 3 — три промаха до бана, findtime = 600 — окно в 600 секунд, за которое эти промахи считаются, bantime = 3600 — блокировка на час. Настройки пишут не в jail.conf, а в отдельный файл jail.local: при обновлении пакета первый перезаписывается, второй остаётся нетронутым. Пошаговый разбор конфигурации есть в материале про настройку fail2ban.

Перенос SSH с порта 22/TCP на нестандартный, например 2222, убирает 90–99 % автоматического шума: массовые сканеры проверяют только стандартные порты. Если переносите порт, сначала добавьте правило ufw allow 2222/tcp, и только потом правьте конфиг SSH.

Мониторинг и бэкапы: два дела, которые откладывают зря

Мониторинг отвечает на вопрос «сервер жив?» быстрее, чем клиент напишет вам в мессенджер. Минимальный набор — внешняя проверка доступности сайта раз в 60 секунд с уведомлением в мессенджер и контроль трёх метрик изнутри: свободное место на диске, загрузка процессора и занятая память. Диск важнее всего: заполненный на 100 % раздел роняет и базу, и веб-сервер.

Бэкапы делятся на два уровня. Первый — снапшот у провайдера: полный слепок диска, который разворачивается обратно за несколько минут прямо из панели. Стоит он обычно 10–20 % от цены тарифа и спасает после неудачного обновления. Второй уровень — собственный архив файлов и дампов базы, который лежит вне этого сервера: у хостера может сгореть не только ваша машина.

Практическое правило: держать 7 ежедневных копий и 4 еженедельных, проверяя раз в месяц, что архив реально разворачивается. Схемы с cron, rsync и внешним хранилищем разобраны в руководстве о том, как настроить бэкапы VPS.

Пошаговый чек-лист первых двух часов

Если свести всё сказанное к последовательности действий, восемь шагов складываются в семь блоков команд: часовой пояс, защиту от перебора, мониторинг и бэкапы удобно сделать одним заходом в конце. Порядок принципиален в двух местах: файрвол включают только после того, как разрешён SSH, а парольный вход отключают только после того, как проверен вход по ключу. Остальные шаги можно переставлять.

  1. Войти по SSH под root, выполнить apt update && apt upgrade -y и при обновлении ядра перезагрузиться.
  2. Создать пользователя adduser deploy, добавить его в группу sudo и проверить вход во втором окне терминала.
  3. Сгенерировать ключ ssh-keygen -t ed25519, залить его через ssh-copy-id, войти по ключу.
  4. Выставить PasswordAuthentication no и PermitRootLogin no, перезапустить службу SSH.
  5. Включить ufw: сначала правило для SSH, затем 80 и 443 при необходимости, потом ufw enable.
  6. Создать swap нужного размера, прописать его в /etc/fstab, задать swappiness 10.
  7. Задать часовой пояс и имя хоста, установить fail2ban, подключить мониторинг и настроить бэкап.
Шаг Сколько занимает Что будет, если пропустить
Обновление пакетов 5–10 минут Известные уязвимости остаются открытыми
Отдельный пользователь 5 минут Любая опечатка выполняется с правами root
SSH-ключи и запрет пароля 15 минут Тысячи попыток подбора пароля в сутки
Файрвол 10 минут База данных и служебные порты видны из интернета
Swap-файл 5 минут OOM Killer закрывает базу при пике нагрузки
Часовой пояс и имя хоста 3 минуты Логи и cron живут по UTC, разбор инцидентов усложняется
Мониторинг и бэкапы 40–60 минут О падении узнаёте от клиентов, откатиться некуда

Сколько стоит сервер, на котором это разворачивают

Описанная конфигурация не требует мощной машины. Для одного небольшого сайта, телеграм-бота или тестового окружения хватает 1 ядра, 1 ГБ памяти и 10 ГБ диска. Ограничение здесь одно: на 0,5 ГБ RAM swap перестаёт быть рекомендацией и становится обязательным, иначе установка тяжёлого пакета уронит сервер.

Провайдер Стартовая цена Конфигурация начального тарифа
Cloudcore от 59 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe
Hosting-Russia от 99 ₽/мес Конфигурация зависит от выбранного тарифа
HostVDS от 127 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe
RuVDS от 139 ₽/мес 1 ядро, 0,5 ГБ RAM, 10 ГБ HDD
Selectel от 200 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe
AdminVPS от 299 ₽/мес 1 ядро, 1 ГБ RAM, 15 ГБ NVMe
Aéza от 593 ₽/мес 1 ядро, 2 ГБ RAM, 30 ГБ NVMe

Данные проверены 03.09.2026.

Разброс от 59 до 593 ₽/мес объясняется тем, что входит в цену: тип диска, наличие снапшотов, скорость канала и техподдержка. Начинать разумно с тарифа за 130–300 ₽/мес. Актуальные предложения в нижнем ценовом сегменте собраны в разделе недорогих VPS.

Частые ошибки при настройке сервера

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

  • Включить ufw, не разрешив предварительно порт SSH, — доступ к серверу пропадает мгновенно.
  • Отключить PasswordAuthentication, ни разу не войдя по ключу в отдельной сессии.
  • Создать swap, но забыть строку в /etc/fstab — после перезагрузки его нет.
  • Оставить пароль root вида qwerty123 «на пару дней» — этих дней хватает боту с избытком.
  • Держать бэкапы на том же диске, что и сайт, и ни разу не проверить восстановление.
  • Ставить панель управления после ручной настройки nginx и файрвола вместо чистой системы.

Частые вопросы

Сколько времени реально занимает настройка сервера с нуля? При работе по чек-листу и без сюрпризов — от 90 минут до 2 часов, из которых около часа уходит на мониторинг и бэкапы. Первые шесть шагов новичок проходит за 40–50 минут, если не отвлекаться на поиск команд.

Можно ли обойтись без отдельного пользователя и работать под root? Технически да, сервер будет работать. Но вы теряете защиту от собственной опечатки и оставляете ботам самую известную цель для перебора паролей. Переход на отдельного пользователя занимает 5 минут и окупается сразу.

Нужен ли swap, если на тарифе 4 ГБ памяти? Полезен, но уже не критичен: достаточно 2 ГБ swap при значении swappiness 10. Он сглаживает короткие пики при сборке проекта или обновлении базы, а в постоянной работе почти не используется.

Что делать, если я потерял доступ по SSH после правки конфига? Зайдите через веб-консоль в панели провайдера — она работает поверх виртуальной машины и не зависит от SSH. Оттуда верните прежнее значение в /etc/ssh/sshd_config и перезапустите службу командой systemctl restart ssh.

Обязательно ли менять порт SSH с 22 на другой? Нет, это гигиена, а не защита. Смена порта убирает 90–99 % автоматического шума в логах, но серьёзной атаке не мешает: ключи и fail2ban с блокировкой на 3600 секунд дают несопоставимо больший эффект.

Панель управления вроде ISPmanager заменяет ручную настройку? Частично: панель сама поднимает веб-сервер, базу, почту и SSL, но пользователей, ключи и бэкапы всё равно настраиваете вы. Ставить панель нужно на чистую систему сразу после обновления пакетов, до ручной правки конфигов.

Как понять, что сервера с 1 ГБ памяти уже не хватает? Смотрите на два признака: swap занят больше чем наполовину в обычном режиме и в системном журнале появляются записи OOM Killer. Оба означают, что пора переходить на тариф с 2–4 ГБ RAM.

Итог

Настройка нового сервера — это не творчество, а восемь повторяемых шагов, которые укладываются в два часа: обновление, отдельный пользователь, SSH-ключи, файрвол, swap, часовой пояс, мониторинг и бэкапы. Пройдя их один раз внимательно, вы получаете машину, которую можно спокойно оставить работать на месяцы, и понятную точку отката, если что-то сломается. Выбрать тариф под такую конфигурацию — от 59 ₽/мес за 1 ядро и 1 ГБ памяти — можно в каталоге VPS и VDS с фильтрами по цене, локации и типу диска.

Поделиться:
👁 61 просмотров
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.