Представь, что ты только что арендовал свой первый VPS. Чистый лист, полная свобода действий и... легкая паника: "С чего начать?" Давай разберем процесс установки Ubuntu на VPS от А до Я. Я буду твоим ментором и покажу каждый шаг — от выбора дистрибутива до настройки безопасного сервера, готового к работе.
Подготовка к установке Ubuntu на VPS
Перед тем как начать установку Ubuntu, нужно понять несколько ключевых моментов. VPS (Virtual Private Server) — это виртуальный сервер, который ты арендуешь у хостинг-провайдера. В отличие от shared-хостинга, здесь у тебя root-доступ и полный контроль.
Выбор версии Ubuntu для VPS
Для серверов я рекомендую использовать LTS (Long Term Support) версии. Они получают обновления безопасности в течение 5 лет.
| Версия | Кодовое имя | Поддержка до | Рекомендация |
|---|---|---|---|
| Ubuntu 22.04 LTS | Jammy Jellyfish | Апрель 2027 | ★ Лучший выбор |
| Ubuntu 24.04 LTS | Noble Numbat | Апрель 2029 | Для новых проектов |
| Ubuntu 20.04 LTS | Focal Fossa | Апрель 2025 | Для legacy-систем |
Пошаговая установка Ubuntu на VPS
Давай пройдем весь путь от заказа VPS до полностью настроенного сервера. Я буду использовать DigitalOcean в качестве примера, но процесс аналогичен для Hetzner, Vultr, Linode и других провайдеров.
Шаг 1: Создание VPS с предустановленным Ubuntu
Самый простой способ — выбрать готовый образ Ubuntu при создании сервера:
- Зайди в панель управления провайдера (DigitalOcean, Hetzner Cloud и т.д.)
- Нажми "Create Droplet" (или аналогичную кнопку)
- Выбери Ubuntu из списка дистрибутивов
- Выбери версию (рекомендую 22.04 LTS)
- Выбери тарифный план (для начала хватит 1GB RAM, 1 vCPU)
- Выбери регион дата-центра (ближе к твоей аудитории)
- Добавь SSH ключи (об этом ниже)
- Нажми "Create" и жди 30-60 секунд
Шаг 2: Первое подключение к VPS по SSH
После создания сервера ты получишь IP-адрес. Подключаемся:
# Подключение к серверу
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
Шаг 4: Настройка безопасности сервера
Безопасность — не опция, а необходимость. Настроим базовую защиту:
# Настраиваем фаервол UFW
ufw allow OpenSSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
# Проверяем статус
ufw status verbose
# Настраиваем Fail2Ban для защиты от bruteforce
systemctl enable fail2ban
systemctl start fail2ban
# Создаем пользователя без root-прав (рекомендуется)
adduser ваш_username
usermod -aG sudo ваш_username
# Копируем SSH ключи для нового пользователя
rsync --archive --chown=ваш_username:ваш_username ~/.ssh /home/ваш_username
/etc/ssh/sshd_config измени PermitRootLogin на no.
Шаг 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
Иногда нужно переустановить систему или использовать кастомный образ. Вот как это делается через救援 режим (rescue mode) или IPMI/KVM.
Метод 1: Через救援 режим (Rescue Mode)
Большинство провайдеров предлагают rescue mode — временная загрузка с LiveCD для восстановления системы:
- Включи救援 режим в панели управления провайдера
- Подключись к серверу по SSH (получи временный пароль)
- Смонтируй основной диск:
mount /dev/sda1 /mnt - Скачай образ Ubuntu:
wget https://releases.ubuntu.com/22.04/ubuntu-22.04-live-server-amd64.iso - Смонтируй образ и скопируй файлы на основной диск
- Настрой загрузчик GRUB
- Перезагрузись в нормальном режиме
Метод 2: Через IPMI/KVM консоль
Для выделенных серверов или VPS с KVM доступом:
# 1. Зайди в IPMI/KVM консоль через панель провайдера
# 2. Загрузись с ISO образа Ubuntu (загруженного через virtual media)
# 3. Следуй графическому установщику
# 4. Выбери "Manual partitioning" для полного контроля
# 5. Настрой разделы:
# / - 20-30GB ext4
# /home - остальное место ext4
# swap - 2x RAM (но не более 8GB)
Оптимизация Ubuntu на VPS после установки
После базовой установки Ubuntu на VPS, давай настроим систему для максимальной производительности.
Настройка swap файла
# Создаем swap файл 2GB
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Делаем постоянным
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# Настраиваем swappiness (рекомендуется 10 для серверов)
echo 'vm.swappiness=10' >> /etc/sysctl.conf
sysctl -p
Оптимизация SSH для безопасности и скорости
# Редактируем конфиг SSH
nano /etc/ssh/sshd_config
# Важные настройки:
Port 2222 # Меняем стандартный порт
PermitRootLogin no # Запрещаем root вход
PasswordAuthentication no # Только по ключам
ClientAliveInterval 300 # Keepalive
ClientAliveCountMax 2
MaxAuthTries 3 # Защита от bruteforce
# Перезагружаем SSH
systemctl restart sshd
ufw allow 2222/tcp. И убедись, что у тебя есть доступ к новому порту, прежде чем закрывать старый!
Установка и настройка Docker (опционально)
Для современных приложений Docker почти обязателен:
# Устанавливаем Docker
curl -fsSL https://get.docker.com -o get-docker.sh
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 — это инструмент для автоматической настройки облачных инстансов:
# cloud-config.yaml
# Автоматическая настройка Ubuntu при первой загрузке
users:
- name: admin
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2E...
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: sudo
shell: /bin/bash
packages:
- docker.io
- nginx
- fail2ban
runcmd:
- [ufw, allow, 'OpenSSH']
- [ufw, allow, '80/tcp']
- [ufw, allow, '443/tcp']
- [ufw, enable]
- [systemctl, enable, docker]
- [systemctl, start, docker]
power_state:
mode: reboot
message: Настройка завершена
timeout: 30
FAQ: Часто задаваемые вопросы
Какую версию Ubuntu выбрать для VPS?
Для production всегда используй LTS (Long Term Support) версии. Ubuntu 22.04 LTS — самый стабильный и проверенный вариант на 2024 год. Ubuntu 24.04 LTS подойдет для новых проектов.
Нужно ли ставить графический интерфейс на 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 кластер? Выбор за тобой!