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

Иван Корнев·28.04.2026·5 мин

Чтобы создать и запустить сервер в интернете, нужно выполнить три ключевых действия: арендовать виртуальный сервер (VPS) у хостинг-провайдера, зарегистрировать доменное имя и связать их через DNS-записи. После этого на сервер устанавливается операционная система (обычно Linux), настраивается веб-сервер (например, Nginx) и обеспечивается базовая безопасность. Весь процесс занимает от 1 до 3 часов даже у новичка.

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

Кому подойдет этот гайд? Тем, кто хочет разместить сайт, телеграм-бота, личное облако или тестовое приложение на собственном контролируемом сервере, а не на конструкторах сайтов.

Шаг 1. Выбор и аренда VPS (Виртуального выделенного сервера)

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

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

Не гонитесь за самой низкой ценой. Обратите внимание на:

  1. Локацию дата-центра. Выбирайте сервер ближе к вашей целевой аудитории (меньше пинг).
  2. Тип диска. Обязательно берите NVMe или SSD. Старые HDD-диски слишком медленные для современных веб-приложений.
  3. Поддержка. Проверьте, есть ли русскоязычная поддержка и база знаний.

Минимальные характеристики для старта

Для большинства задач (личный блог, небольшой магазин, бот) достаточно стартового тарифа:

  • CPU: 1 ядро.
  • RAM: 1–2 ГБ.
  • Диск: 15–25 ГБ NVMe.
  • ОС: Ubuntu 22.04 LTS или Debian 12 (самые стабильные и документированные дистрибутивы).

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

После оплаты вы получите на почту IP-адрес сервера, логин (обычно root) и пароль.

Шаг 2. Первичное подключение и защита доступа

Прежде чем ставить сайты, нужно обезопасить вход в систему. Работа с сервером происходит через терминал (командную строку).

Подключение по SSH

Откройте терминал (на macOS/Linux) или PowerShell (на Windows) и введите:

ssh root@ваш_IP_адрес

Система спросит подтверждение подключения и потребует ввести пароль из письма.

Базовая настройка безопасности

Работать под пользователем root постоянно опасно. Создайте нового пользователя с правами администратора.

  1. Создание пользователя:
   adduser myuser
   usermod -aG sudo myuser

(Замените myuser на желаемое имя).

  1. Настройка SSH-ключей (вместо паролей): Пароли можно подобрать брутфорсом. Ключи — надежнее.

    • На своем компьютере сгенерируйте ключ: ssh-keygen -t ed25519.
    • Скопируйте его на сервер: ssh-copy-id myuser@ваш_IP_адрес.
    • Теперь можно входить без пароля.
  2. Отключение входа по паролю для root: Отредактируйте файл конфигурации SSH:

   sudo nano /etc/ssh/sshd_config

Найдите и измените параметры:

   PermitRootLogin no
   PasswordAuthentication no

Перезагрузите службу: sudo systemctl restart sshd.

Важно! Перед отключением паролей убедитесь, что вы успешно подключились по SSH-ключу под новым пользователем. Иначе вы можете потерять доступ к серверу.

Шаг 3. Регистрация домена и настройка DNS

Домен — это адрес вашего сайта (например, mysite.com). Чтобы он указывал на ваш VPS, нужно настроить DNS-записи.

  1. Купите домен у любого регистратора (Reg.ru, Nic.ru, Namecheap и др.).

  2. Зайдите в панель управления доменом в раздел «Управление DNS» или «DNS-зоны».

  3. Создайте A-запись:

    • Host (Имя): @ (или оставьте пустым) — означает основной домен.
    • Value (Значение): ваш_IP_адрес VPS.
    • TTL: можно оставить по умолчанию (3600 или 600).
  4. (Опционально) Запись для www: Создайте CNAME-запись:

    • Host: www
    • Value: ваш_домен.com

Обновление DNS может занять от 15 минут до 24 часов. Проверить доступность можно командой ping ваш_домен.com — должен отвечать IP вашего сервера.

Шаг 4. Установка веб-сервера и развертывание сайта

Самый популярный и легкий веб-сервер сегодня — Nginx. Он быстро раздает статические файлы и отлично работает как прокси для приложений.

Установка Nginx

Подключитесь к серверу под своим пользователем и выполните:

sudo apt update
sudo apt install nginx -y

Проверьте работу, открыв в браузере http://ваш_IP_адрес. Вы должны увидеть приветственную страницу Nginx.

Размещение файлов сайта

По умолчанию файлы сайта лежат в папке /var/www/html.

  1. Удалите стандартный файл: sudo rm /var/www/html/index.nginx-debian.html.
  2. Создайте свой index.html:
   sudo nano /var/www/html/index.html

Вставьте простой HTML-код:

   <h1>Привет! Мой сервер работает.</h1>

Теперь при переходе по вашему домену (если DNS уже обновился) вы увидите эту надпись.

Для сложных проектов Если вы запускаете WordPress, Node.js или Python-приложение, настройка будет сложнее: потребуется установка PHP/Node.js, базы данных (MySQL/PostgreSQL) и настройка проксирования в конфиге Nginx. Но принцип тот же: код лежит на сервере, Nginx отдает его пользователю.

Шаг 5. Настройка HTTPS (SSL-сертификат)

Браузеры помечают сайты без HTTPS как «Небезопасные». Получим бесплатный сертификат от Let’s Encrypt с помощью инструмента Certbot.

  1. Установите Certbot и плагин для Nginx:
   sudo apt install certbot python3-certbot-nginx -y
  1. Запустите получение сертификата:
   sudo certbot --nginx -d ваш_домен.com -d www.ваш_домен.com
  1. Следуйте инструкциям на экране (введите email, согласитесь с условиями).
  2. Выберите опцию Redirect (перенаправлять весь HTTP трафик на HTTPS).

Certbot автоматически изменит конфиги Nginx и настроит автопродление сертификата. Теперь ваш сайт доступен по защищенному протоколу.

Шаг 6. Настройка фаервола (UFW)

Даже с HTTPS нужно закрыть лишние порты, чтобы хакеры не сканировали сервер. В Ubuntu встроен простой фаервол UFW.

Разрешим только необходимое:

sudo ufw allow OpenSSH   # Порт 22 для управления
sudo ufw allow 'Nginx Full' # Порты 80 и 443 для сайта
sudo ufw enable          # Включить фаервол

Проверьте статус командой sudo ufw status. Вы должны видеть разрешение только для этих служб.

Частые ошибки новичков

ОшибкаПоследствиеКак исправить
Забыли открыть порт 80/443 в фаерволеСайт недоступен, хотя Nginx работаетДобавьте правила в UFW (ufw allow 'Nginx Full')
Неверная A-запись в DNSСайт не открывается по доменуПроверьте IP в панели регистратора и сравните с IP сервера
Права доступа к файламОшибка 403 ForbiddenВладелец файлов должен быть www-data: sudo chown -R www-data:www-data /var/www/html
Игнорирование обновлений ОСУязвимости безопасностиРегулярно выполняйте sudo apt update && sudo apt upgrade

FAQ

Нужен ли мне выделенный сервер ( Dedicated ) вместо VPS? Нет, для 99% задач малого и среднего бизнеса VPS достаточно. Выделенный сервер нужен только при огромных нагрузках или специфических требованиях к железу.

Что делать, если я забыл пароль от SSH-ключа? Если вы потеряли закрытый ключ и отключили вход по паролю, восстановить доступ нельзя. Придется удалять сервер и создавать новый. Всегда храните резервные копии ключей в надежном месте.

Как мониторить нагрузку на сервер? Для начала хватит простой команды htop (установите через sudo apt install htop). Она покажет загрузку CPU и памяти в реальном времени. Для постоянного мониторинга можно использовать бесплатные облачные сервисы вроде UptimeRobot (проверка доступности) или установить Prometheus + Grafana.

Можно ли использовать Windows на VPS? Да, но лицензии Windows стоят дорого, а сама система потребляет больше ресурсов. Для веб-серверов стандартом де-факто является Linux. Если вам нужна специфическая Windows-софт, лучше выбрать VPS с предустановленной ОС, но будьте готовы к более высокой цене.