Представь, что ты только что арендовал свой первый VPS. Чистый лист, полная свобода действий и... легкая паника: "С чего начать?" Давай разберем процесс установки Ubuntu на VPS от А до Я. Я буду твоим ментором и покажу каждый шаг — от выбора дистрибутива до настройки безопасного сервера, готового к работе.
Подготовка к установке Ubuntu на VPS
Перед тем как начать установку Ubuntu, нужно понять несколько ключевых моментов. VPS (Virtual Private Server) — это виртуальный сервер, который ты арендуешь у хостинг-провайдера. В отличие от shared-хостинга, здесь у тебя root-доступ и полный контроль.
Выбор версии Ubuntu для VPS
Для серверов выбирай поддерживаемую LTS (Long Term Support) версию с учётом совместимости приложения. Ниже — сроки стандартного обслуживания безопасности для перечисленных выпусков по данным Canonical на 16 октября 2026 года; это не полный список доступных LTS. Расширенная поддержка Ubuntu Pro учитывается отдельно.
| Версия | Кодовое имя | Стандартная поддержка до | Рекомендация |
|---|---|---|---|
| Ubuntu 22.04 LTS | Jammy Jellyfish | Май 2027 | При необходимости совместимости |
| Ubuntu 24.04 LTS | Noble Numbat | Май 2029 | Для новых проектов |
| Ubuntu 20.04 LTS | Focal Fossa | Май 2025 (завершена) | Только с проверенным расширенным покрытием |
Пошаговая установка Ubuntu на VPS
Давай пройдем весь путь от заказа VPS до полностью настроенного сервера. Я буду использовать DigitalOcean в качестве примера, но процесс аналогичен для Hetzner, Vultr, Linode и других провайдеров.
Шаг 1: Создание VPS с предустановленным Ubuntu
Самый простой способ — выбрать готовый образ Ubuntu при создании сервера:
Для такого развёртывания можно рассмотреть Timeweb Cloud (партнёрская ссылка). Перед созданием VPS проверь нужную версию Ubuntu, ресурсы и доступ к консоли восстановления.
- Зайди в панель управления провайдера (DigitalOcean, Hetzner Cloud и т.д.)
- Нажми "Create Droplet" (или аналогичную кнопку)
- Выбери Ubuntu из списка дистрибутивов
- Выбери поддерживаемую LTS-версию, совместимую с приложением (например, 24.04 LTS)
- Выбери тарифный план (для начала хватит 1GB RAM, 1 vCPU)
- Выбери регион дата-центра (ближе к твоей аудитории)
- Добавь SSH ключи (об этом ниже)
- Нажми "Create" и дождись готовности сервера в панели
Шаг 2: Первое подключение к VPS по SSH
После создания сервера ты получишь IP-адрес. Используй пользователя, указанного для образа провайдером: это может быть root или обычная учётная запись с sudo. Примеры ниже предполагают вход root; при обычном пользователе добавляй sudo к административным командам. Подключаемся:
# Подключение к серверу
ssh root@ваш_ip_адрес
# Если используешь SSH ключ с нестандартным именем
ssh -i ~/.ssh/private_key root@ваш_ip_адрес
При первом подключении сверь fingerprint ключа хоста с панелью или консолью провайдера по независимому доверенному каналу. Подтверждай yes только при совпадении. Не игнорируй неожиданную смену ключа существующего сервера.
Шаг 3: Базовая настройка Ubuntu после установки
Сразу после входа выполни эти команды для обновления системы:
# Обновляем список пакетов
apt update
# Обновляем установленные пакеты
apt upgrade -y
# Устанавливаем полезные утилиты
apt install -y \
curl \
wget \
git \
htop \
nano \
ufw \
fail2ban \
rsync \
dnsutils
Шаг 4: Настройка безопасности сервера
Перед настройкой открой консоль восстановления провайдера и оставь рабочую SSH-сессию открытой. Ниже предполагается стандартный порт 22: если он другой, разреши фактический порт в UFW и внешнем firewall до включения фильтрации.
# Настраиваем фаервол UFW
ufw allow OpenSSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
# Проверяем статус
ufw status verbose
# Теперь из второго терминала проверь новое SSH-подключение.
# Если вход не работает, исправь правила из сохранённой сессии
# или временно отключи UFW через консоль: ufw disable
# Настраиваем Fail2Ban для защиты от bruteforce
systemctl enable fail2ban
systemctl start fail2ban
# Создаем пользователя без root-прав (рекомендуется)
adduser ваш_username
usermod -aG sudo ваш_username
# Переносим только разрешённые публичные ключи root, не приватные файлы
install -d -m 700 -o ваш_username -g ваш_username /home/ваш_username/.ssh
install -m 600 -o ваш_username -g ваш_username /root/.ssh/authorized_keys /home/ваш_username/.ssh/authorized_keys
# Если authorized_keys отсутствует, добавь свой публичный ключ вручную
# через текущую сессию; не продолжай с отключением входа до проверки.
ssh -o PreferredAuthentications=publickey ваш_username@ваш_ip_адрес, затем sudo whoami. Отключать root-вход можно только после успеха; безопасный порядок изменения SSH приведён ниже.
Шаг 5: Настройка часового пояса и локали
# Устанавливаем нужный часовой пояс (например, Europe/Moscow)
timedatectl set-timezone Europe/Moscow
# Проверяем текущее время
date
# Настраиваем локаль (язык системы)
apt install -y locales
locale-gen ru_RU.UTF-8
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
Переустановка Ubuntu на существующий VPS
Переустановка может стереть диск. Сначала вынеси резервную копию данных и конфигурации на другой сервер или хранилище и проверь восстановление. Сохрани сетевые параметры и доступ к консоли провайдера.
Метод 1: Готовый образ в панели провайдера
- Убедись, что выбран нужный VPS, и прочитай предупреждение о том, какие диски будут перезаписаны.
- Выбери поддерживаемый образ Ubuntu и добавь публичный SSH-ключ для новой системы.
- Запусти переустановку только после проверки внешнего бэкапа.
- После завершения сверь новый fingerprint через доверенный канал, проверь вход и восстанови данные.
Rescue mode нужен для восстановления и доступа к дискам, но сам по себе не устанавливает Ubuntu. Копирование файлов с ISO на смонтированный раздел не создаёт рабочую установленную систему. Используй процедуру переустановки конкретного провайдера, не угадывай имя диска вроде /dev/sda1.
Метод 2: Установка из ISO через консоль
Этот путь доступен, только если провайдер поддерживает загрузку ISO и удалённую консоль. IPMI обычно относится к физическому серверу; наличие виртуализации KVM само по себе не гарантирует загрузку собственного ISO.
- Подключи официальный ISO Ubuntu Server подходящей архитектуры через панель провайдера и загрузи установщик.
- Задай сеть и пользователя, установи OpenSSH Server и добавь публичный ключ.
- На этапе storage проверь выбранный диск и план разметки. Размеры разделов и swap определяются задачей; универсального правила «swap = 2 × RAM» нет.
- Подтверди запись только после проверки бэкапа. Дождись установки, отключи ISO и перезагрузи VPS.
- Проверь загрузку, сеть, fingerprint и новый SSH-вход, затем выполни базовую настройку из этой статьи.
Экраны установки описаны в официальном руководстве Ubuntu Server. Если провайдер не даёт ISO-консоль или готовый образ нужной системы, эта инструкция не заменяет его процедуру установки.
Оптимизация Ubuntu на VPS после установки
После базовой установки Ubuntu на VPS, давай настроим систему для максимальной производительности.
Настройка swap файла
Сначала проверь swapon --show, свободное место и отсутствие файла /swapfile. Следующий пример предназначен для нового файла на обычной ext4; не запускай его поверх существующего swap и не повторяй добавление в fstab. Для Btrfs и других файловых систем проверь их требования к swap-файлу. Значение swappiness подбирай по нагрузке; 10 не является универсальным оптимумом.
# Создаем swap файл 2GB
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Делаем постоянным
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# Пример swappiness; выбирай значение по измерениям нагрузки
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
Настройка SSH без потери доступа
Оставим текущий SSH-порт: для ключевой аутентификации смена порта не нужна. Сначала проверь ключевой вход обычного пользователя и sudo в отдельном терминале, сохрани исходную сессию и доступ к консоли провайдера.
# На сервере, из рабочей административной сессии
sudo cp -a /etc/ssh /root/ssh-before-hardening
sudo nano /etc/ssh/sshd_config
В глобальной части, до Match, задай параметры ниже. Учти Include и файлы sshd_config.d: обычно действует первое найденное значение. Не добавляй конфликтующие настройки в конец вслепую. Это пример для входа по ключам без MFA через keyboard-interactive:
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
sudo sshd -t
sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication) '
# Только если проверка успешна и значения ожидаемые:
sudo systemctl reload ssh.service
# Из нового локального терминала:
ssh -o PreferredAuthentications=publickey ваш_username@ваш_ip_адрес
# В новом сеансе:
sudo whoami
При Match проверь эффективные настройки конкретного подключения через sshd -T -C. Если новая сессия не открывается, восстанови изменённые конфигурационные файлы из /root/ssh-before-hardening в прежней сессии, выполни sshd -t и reload ssh.service. Только после успешной проверки закрывай старое соединение.
Установка и настройка Docker (опционально)
Docker нужен, если приложение развёртывается в контейнерах. Для production используй установку из официального apt-репозитория по инструкции Docker для Ubuntu. Приведённый ниже convenience script предназначен для тестового окружения: сначала изучи скрипт и выполни dry-run. Группа docker даёт полномочия уровня root; добавляй туда только доверенного администратора и переподключись после изменения группы.
# Устанавливаем Docker
curl -fsSL https://get.docker.com -o get-docker.sh
# Изучи скачанный файл, затем посмотри план установки:
sh get-docker.sh --dry-run
# Только после проверки плана, на тестовом сервере:
sh get-docker.sh
# Добавляем пользователя в группу docker
usermod -aG docker ваш_username
# Устанавливаем Docker Compose
apt install -y docker-compose-plugin
# Проверяем установку
docker --version
docker compose version
Частые проблемы при установке Ubuntu на VPS
Проблема 1: Не могу подключиться по SSH после установки
Решение: Проверь:
- Правильный ли IP-адрес
- Добавлен ли твой SSH ключ в панели управления
- Не блокирует ли фаервол на твоей стороне
- Используй KVM консоль для диагностики
Проблема 2: Нет интернета после установки
Решение: Проверь настройки сети:
# Проверяем сетевые интерфейсы
ip addr show
# Проверяем маршрутизацию
ip route show
# Проверяем DNS
cat /etc/resolv.conf
nslookup google.com
Автоматизация установки с помощью cloud-init
Для массового развертывания используй cloud-init на образе, который его поддерживает. Ниже шаблон для нового Ubuntu VPS со стандартным SSH-портом 22. Замени строку REPLACE_WITH_YOUR_PUBLIC_KEY полным публичным ключом; без этого вход admin не заработает. Проверь YAML командой cloud-init schema -c cloud-config.yaml и сначала испытай его на отдельном VPS с доступной консолью. После загрузки проверь cloud-init status --wait, новый SSH-вход и sudo. Разрешения firewall провайдера настраиваются отдельно.
#cloud-config
# Файл cloud-config.yaml: настройка при первой загрузке
users:
- default
- name: admin
lock_passwd: true
ssh_authorized_keys:
- "REPLACE_WITH_YOUR_PUBLIC_KEY"
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: sudo
shell: /bin/bash
package_update: true
packages:
- ufw
- docker.io
- nginx
- fail2ban
runcmd:
- [ufw, allow, 'OpenSSH']
- [ufw, allow, '80/tcp']
- [ufw, allow, '443/tcp']
- [ufw, --force, enable]
- [systemctl, enable, docker]
- [systemctl, start, docker]
# Автоперезагрузка не нужна для этой демонстрации.
# Сначала проверь cloud-init status, SSH и sudo.
FAQ: Часто задаваемые вопросы
Какую версию Ubuntu выбрать для VPS?
Для production выбирай поддерживаемую LTS-версию с учётом приложения и образов провайдера. У Ubuntu 24.04 LTS стандартное обслуживание безопасности действует до мая 2029 года, у 22.04 LTS — до мая 2027 года. Перед установкой сверяй сроки и доступные более новые LTS с официальным жизненным циклом Ubuntu.
Нужно ли ставить графический интерфейс на VPS?
Нет! Серверный Ubuntu работает без GUI. Это экономит ресурсы и повышает безопасность. Все управление через SSH. Если нужен GUI, используй X2Go или VNC, но это не рекомендуется для production.
Как перенести данные со старого сервера?
Используй rsync для синхронизации файлов:
rsync -avz -e ssh user@old_server:/path/ /path/on/new/server/
Как сделать бэкап перед установкой?
Если переустанавливаешь существующий сервер:
- Экспортируй базы данных:
mysqldump -u user -p database > backup.sql - Скопируй конфиги:
/etc/nginx/,/etc/mysql/ - Скопируй данные веб-сайтов
- Сохрани список установленных пакетов:
apt list --installed > packages.txt
Заключение
Установка Ubuntu на VPS — это только начало пути. После выполнения и проверки шагов у тебя будет базовая конфигурация; требования безопасности и ресурсов конкретного приложения нужно проверить отдельно. Помни главные правила:
- Всегда обновляй систему:
apt update && apt upgrade - Никогда не работай из-под root — создавай отдельных пользователей
- Настрой мониторинг и уведомления о сбоях (например, Netdata и Telegram-бот)
- Делай регулярные бэкапы (автоматизируй этот процесс)
- Документируй все изменения в системе
Теперь у тебя есть мощный инструмент для разработки, тестирования и деплоя. Что развернешь первым? Docker-контейнеры, веб-сервер, базу данных или maybe целый Kubernetes кластер? Выбор за тобой!