Установка Ubuntu на VDS - Пошаговая инструкция | AdminWiki

Установка Ubuntu на VDS: Полное руководство для разработчиков

18 декабря 2025 12 мин. чтения #devops #linux #ssh #ubuntu #vds #настройка #сервер #установка
Содержание статьи

Введение: Зачем устанавливать Ubuntu на VDS?

Представь, что тебе нужен надежный сервер для проекта — будь то веб-приложение, база данных или CI/CD пайплайн. Виртуальный выделенный сервер (VDS) с Ubuntu — это идеальная основа. Ubuntu Server — стабильная, хорошо документированная и имеет огромное сообщество. Давай разберем весь процесс от выбора хостинга до первой команды на свежеустановленной системе.

Пример интерактивной установки ниже относится к Ubuntu Server 22.04 LTS (Jammy Jellyfish): стандартное обслуживание безопасности действует до мая 2027 года. Для нового проекта выбирай поддерживаемую LTS с учётом совместимости приложения; у более новых выпусков могут отличаться экраны установки и файлы конфигурации. Сроки сверяй с жизненным циклом Ubuntu.

Подготовка: Выбор VDS и получение доступа

Критерии выбора VDS-провайдера

Перед установкой Ubuntu нужно выбрать хостинг. Один из вариантов для сравнения — Timeweb Cloud (партнёрская ссылка). Проверь нужный образ Ubuntu и способ восстановления доступа; возможность загрузки собственного ISO уточняй отдельно. Вот на что смотреть. Числа в таблице — стартовые ориентиры, а не гарантированные требования для production: CPU, память и диск подбирай по приложению и измеренной нагрузке.

Параметр Рекомендация Примечание
ЦП (vCPU) Минимум 1 ядро Для тестов хватит, для прода — от 2 ядер
ОЗУ От 1 ГБ 2-4 ГБ для комфортной работы с Docker
SSD От 20 ГБ NVME SSD в приоритете
Трафик Безлимит или от 1 ТБ Важно для медиа и скачиваний
Панель управления VNC/Web Console Нужна для интерактивной ISO-установки и восстановления

Получение данных для доступа

После заказа VDS ты получишь:

  • IP-адрес сервера (например, 192.0.2.100)
  • Доступ к консоли провайдера — способ входа зависит от панели и образа
  • Учётную запись для SSH — root или обычного пользователя с sudo, ключ либо временный пароль согласно образу
Сохрани доступ к панели и консоли восстановления. При интерактивной установке Ubuntu ты создашь обычного пользователя с sudo; после установки входи под ним, а не с предполагаемым root-паролем. Пароль этого пользователя храни в менеджере паролей.

Пошаговая установка Ubuntu на VDS

Шаг 1: Загрузка установщика через веб-консоль

Есть два разных сценария. Если провайдер предлагает готовый образ Ubuntu, выбери его в панели и добавь публичный SSH-ключ: после развёртывания переходи к первоначальной настройке. Следующие шаги 1–5 нужны для ручной установки из ISO.

Для ручной установки провайдер должен поддерживать подключение ISO и доступ к интерактивной консоли. Подключи официальный Ubuntu Server ISO подходящей архитектуры, открой консоль и загрузи установщик. Наличие VDS само по себе не гарантирует эти возможности; точные названия пунктов меню зависят от провайдера и версии ISO.

Переустановка и разметка могут уничтожить данные. До начала сохрани проверенный бэкап вне этого VDS, запиши сетевые параметры и убедись, что работаешь с нужным сервером и диском.

Шаг 2: Настройка установки в интерактивном режиме

Установщик проведет тебя через несколько экранов:

  1. Язык — English (или русский, но для сервера лучше English)
  2. Раскладка клавиатуры — Russian или US
  3. Сеть — Обычно DHCP настроен автоматически, проверь IP
  4. Прокси — Оставь пустым, если не используешь
  5. Mirror — Выбери ближайший (например, mirror.yandex.ru для РФ)

Шаг 3: Разметка диска (самое важное!)

На новом пустом VDS можно использовать предложенную установщиком разметку. Перед подтверждением проверь выбранный диск и изменения. Ручной пример ниже показывает только распределение данных: служебные загрузочные разделы EFI/BIOS зависят от режима загрузки и также должны быть предусмотрены.

Ручная разметка
# Пример распределения после служебных загрузочных разделов:
/          - основная часть диска, ext4
swap       - по требованиям нагрузки, либо swap-файл
/home      - отдельный раздел при необходимости
Размер swap зависит от памяти и нагрузки, а не только от наличия SSD. Можно использовать swap-файл вместо раздела. Отдельный том для /var/lib/docker — вариант организации хранения, а не обязательное требование Docker.

Шаг 4: Создание пользователя и настройка SSH

Создай пользователя с sudo правами (не используй root для ежедневной работы!):

В установщике
Your name: devops
Server name: myserver
Username: devops
Password: [strong_password]

В разделе "SSH Setup" обязательно отметь:

  • ✅ Install OpenSSH server
  • При возможности добавь свой публичный SSH-ключ во время установки
  • Если ключ пока не добавлен, временный парольный вход понадобится для его переноса; не отключай его до проверки ключа и sudo

Шаг 5: Завершение установки и перезагрузка

Дождись завершения установки, затем отключи ISO согласно панели провайдера и перезагрузи VDS. Войди в установленную систему под созданным пользователем; время установки зависит от ресурсов и сети.

Не закрывай веб-консоль пока не убедишься, что система загрузилась! Если что-то пошло не так, у тебя будет доступ для диагностики.

Первоначальная настройка Ubuntu после установки

Подключение по SSH с локальной машины

Открой терминал на своём компьютере и подключись. При первом входе сверь fingerprint ключа хоста с консолью или другим доверенным каналом провайдера и подтверждай только при совпадении. Для ручной установки ниже используется созданный пользователь devops; для готового образа возьми имя из панели:

bash
ssh devops@ваш_ip_адрес
# Введи пароль, который задал при установке

Базовое обновление системы

bash
# Стань судо (sudo -i если нужна сессия root)
sudo apt update && sudo apt upgrade -y

# Установи полезные утилиты
sudo apt install -y \
  htop \
  nano \
  curl \
  wget \
  git \
  ufw \
  fail2ban

Настройка безопасности: ключи SSH и фаервол

Если готовый образ дал только root-доступ, сначала создай обычного пользователя с sudo по инструкции Ubuntu или провайдера, добавь ему публичный ключ и проверь ключевой вход и sudo в отдельной сессии. Во всех примерах devops замени на фактическое имя этого пользователя. До успешной проверки не применяй PermitRootLogin no и не закрывай рабочую root-сессию.

1. Сгенерируй SSH ключ на локальной машине (если нет):

bash (локально)
ssh-keygen -t ed25519 -C "ваш_email"
# Ключи появятся в ~/.ssh/id_ed25519 и ~/.ssh/id_ed25519.pub

2. Скопируй публичный ключ на сервер:

bash (локально)
ssh-copy-id devops@ваш_ip_адрес
# Или вручную:
cat ~/.ssh/id_ed25519.pub | ssh devops@ваш_ip_адрес "umask 077; mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"

3. Сначала проверь ключевой вход и sudo в отдельном терминале, не закрывая текущую сессию:

bash (локально, затем в новой сессии)
ssh -o PreferredAuthentications=publickey -o PasswordAuthentication=no devops@ваш_ip_адрес
# В новой сессии:
sudo whoami

Если получен root, сохрани конфигурацию и открой файл. До окончания проверки держи доступ к консоли провайдера:

bash (на сервере)
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
bash (на сервере)
sudo sshd -t
sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication|kbdinteractiveauthentication|pubkeyauthentication) '
# Только при отсутствии ошибок и ожидаемых значениях:
sudo systemctl reload ssh.service

При Match проверь настройки конкретного подключения через sshd -T -C. Открой ещё одно ключевое SSH-соединение и проверь sudo. Если вход не работает, из сохранённой сессии восстанови изменённые файлы из /root/ssh-before-hardening, проверь sshd -t и повтори reload. Старую сессию закрывай только после успеха.

4. Настрой фаервол UFW:

bash
# Пример для стандартного SSH-порта 22: сначала проверь фактический порт
# и разрешения firewall провайдера; другой SSH-порт разреши вместо 22.
sudo ufw allow 22/tcp

# Для будущего веб-сервера; профили Nginx/Apache ещё могут отсутствовать:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Включи firewall, сохраняя рабочую SSH-сессию и консоль
sudo ufw enable
sudo ufw status verbose
# Теперь проверь НОВОЕ SSH-подключение из отдельного терминала.
# При ошибке временно выполни sudo ufw disable из сохранённой
# сессии или консоли и исправь правила.

Оптимизация Ubuntu Server для VDS

Настройка swap (если не создавали при установке)

Сначала проверь swapon --show, свободное место и отсутствие /swapfile. Пример предназначен для нового файла на обычной ext4; не запускай mkswap поверх существующего swap и не повторяй запись в fstab. Для других файловых систем проверь их требования к swap-файлам. Swappiness подбирается по нагрузке; значение 10 — лишь пример.

bash
# Создаем swap файл 2GB
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Добавляем в fstab для автозагрузки
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# Пример swappiness; выбери значение по измерениям своей нагрузки
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

Установка и настройка Docker (опционально)

Если нужны контейнеры, установи Docker Engine из официального apt-репозитория по инструкции Docker для Ubuntu, затем выполни проверку ниже. Здесь используем sudo: группа docker даёт фактически root-доступ. Опубликованные контейнерами порты могут обходить правила UFW; ограничивай их отдельно, например firewall провайдера.

bash
# После установки Docker из официального apt-репозитория:
sudo systemctl enable --now docker
sudo docker --version
sudo docker run hello-world

Частые проблемы и их решение

Проблема 1: Не могу подключиться по SSH после установки

Решение: Вернись в веб-консоль VDS и проверь:

  • Служба sshd запущена: sudo systemctl status ssh
  • Фаервол не блокирует порт 22: sudo ufw status
  • В конфиге sshd разрешены подключения: sudo nano /etc/ssh/sshd_config

Проблема 2: Мало места на диске

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

bash
# Очистка кэша apt
sudo apt clean
sudo apt autoremove

# Очистка журналов (старых)
sudo journalctl --vacuum-time=7d

# Покажи что занимает место
du -sh /var/* | sort -hr

Проблема 3: Сервер не обновляется

Решение: Прочитай ошибку apt update: проверь сеть, DNS, системное время и доступность настроенного репозитория. Не меняй все зеркала вслепую. В 22.04 обычно используется sources.list, в новых выпусках также встречаются файлы .sources; перед правкой сохрани копию именно используемого файла.

bash
# Посмотри точный текст ошибки, не меняя репозитории
sudo apt update

# Проверь маршруты и время
ip route
timedatectl

# Найди используемые файлы источников
ls -l /etc/apt/sources.list /etc/apt/sources.list.d/
# Отсутствие sources.list допустимо, если используются файлы .sources.

Дальнейшие шаги после успешной установки

Теперь, когда у тебя работает Ubuntu на VDS, можно:

  1. Настроить мониторинг — установить Prometheus, Grafana или Netdata
  2. Развернуть веб-сервер — Nginx/Apache с PHP/Python/Node.js
  3. Настроить резервное копирование — используй rsync или BorgBackup
  4. Реализовать CI/CD — установи Jenkins, GitLab Runner или GitHub Actions runner
  5. Защитить сервер — настрой fail2ban, установи CrowdSec
Не забывай регулярно обновлять систему: sudo apt update && sudo apt upgrade -y и мониторить логи: sudo journalctl -f или tail -f /var/log/syslog.

Вопросы и ответы (FAQ)

Какую версию Ubuntu выбрать для VDS?

Выбирай поддерживаемую LTS с учётом совместимости приложения. У 22.04 LTS стандартное обслуживание безопасности действует до мая 2027 года, у 24.04 LTS — до мая 2029 года. Ubuntu 24.04 вышла в апреле 2024 года и уже не является только что выпущенной версией. Перед новой установкой сверяй доступные более новые LTS и сроки поддержки с Canonical.

Можно ли установить Ubuntu без веб-консоли?

Да, если провайдер развёртывает готовый образ Ubuntu автоматически. Это отличается от подключения ISO: интерактивному установщику нужен канал управления, например веб- или последовательная консоль. Без консоли ISO можно использовать только с заранее подготовленной автоматической установкой, если такой способ поддерживает провайдер. Просто загрузить ISO и перезагрузить VDS недостаточно.

Чем отличается Ubuntu Server от Desktop на VDS?

Ubuntu Server не имеет графического интерфейса (GUI), что экономит ресурсы. Весь управление через командную строку. Для VDS это идеально — больше ресурсов для твоих приложений.

Как перенести данные со старого сервера?

Используй rsync: rsync -avz user@old_server:/путь/ /локальный/путь/. Для баз данных сделай дамп (mysqldump/pg_dump) и восстанови на новом сервере.

Нужно ли покупать лицензию для Ubuntu на VDS?

Для обычной установки Ubuntu отдельная платная лицензия ОС не требуется. Но стоимость VDS, платные услуги провайдера и подписка Ubuntu Pro — отдельные вопросы; проверяй состав выбранного тарифа.

Заключение

Установка Ubuntu на VDS — это первый шаг к созданию собственной инфраструктуры. Ты научился выбирать хостинг, проходить установку через веб-консоль, настраивать безопасность и оптимизировать систему. Помни: самый опасный момент — это первый вход и настройка SSH. Всегда имей backup доступ (веб-консоль) пока не убедишься, что всё работает.

После проверки шагов у тебя будет базово настроенный сервер. Безопасность и ресурсы для конкретного проекта нужно оценивать отдельно. Отсюда начинается настоящее DevOps-приключение: контейнеризация, оркестрация, мониторинг и автоматизация. Удачи в освоении!

Поделиться: