Open-source и свой сервер 4 мин чтения

Свой VPS с нуля: Docker, nginx и HTTPS за вечер

Свой сервер — это не страшно и не дорого. Разбираю логику от пустой Ubuntu до сайта на HTTPS: Docker, nginx, сертификат — и где обычно спотыкаются.

VPSDockernginxHTTPS

Коротко (TL;DR)

  • Свой VPS (виртуальный сервер) — это не страшно и не дорого: аренда стоит порядка нескольких сотен рублей в месяц, а поднять на нём сайт реально за вечер.
  • Рабочая связка проверена временем: Ubuntu как система, Docker для приложений, nginx как вход, Let's Encrypt для бесплатного HTTPS.
  • Логика простая — защитить сервер, поставить Docker, запустить приложение в контейнере, направить на него nginx и выпустить сертификат.
  • Спотыкаются почти всегда на одном и том же: открытый SSH под паролем, забытый фаервол, ручной HTTPS без автопродления и отсутствие бэкапов.
  • Я настраиваю серверы и деплой под ключ — с харденингом, автопродлением сертификатов и бэкапами, чтобы оно не упало через месяц.

Своего сервера многие боятся зря. В голове рисуется что-то из фильмов про хакеров, а на деле это арендованный компьютер в дата-центре, к которому вы подключаетесь по сети и ставите на него что нужно. Стоит такой VPS порядка нескольких сотен рублей в месяц, а поднять на нём сайт или бота на HTTPS реально за один вечер. Разберу логику по шагам — от пустой Ubuntu до работающего сайта с зелёным замочком, — и честно покажу, где обычно спотыкаются. Это не пошаговая инструкция с командами, а понимание, из чего складывается путь, чтобы вы видели картину целиком.

Зачем свой сервер

Свой VPS нужен, когда вам нужен контроль. На хостинге-конструкторе вы ограничены тем, что разрешил провайдер. На своём сервере вы ставите что угодно: сайт, телеграм-бота, базу данных, ИИ-модель, своё облако. Всё в одном месте и под вашим управлением.

Вторая причина — данные. На своём сервере вы точно знаете, где физически лежит информация клиентов, что важно и для доверия, и для 152-ФЗ, если сервер в российской инфраструктуре. Третья — деньги: несколько мелких сервисов, за которые вы платили бы отдельными подписками, спокойно живут на одном VPS. Про замену платных сервисов своими я писал в разборе open-source аналогов SaaS. А начинается всё именно с сервера.

Путь от пустой Ubuntu до сайта

Возьмём типовой маршрут. Он одинаков что для сайта, что для бота, что для внутреннего сервиса.

1. Арендуете VPS. Выбираете провайдера, берёте недорогой тариф (для старта хватает 1–2 ядер и 2 ГБ памяти) и Ubuntu как систему — она самая понятная и лучше всех документирована. Провайдер даёт вам адрес сервера и доступ.

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

3. Ставите Docker. Docker позволяет запускать приложения в контейнерах — изолированных коробках, где у каждого приложения своё окружение. Это спасает от конфликтов версий и делает перенос сервиса на другой сервер тривиальным. Один раз разобравшись с Docker, вы перестаёте бояться установки чего угодно.

4. Запускаете приложение. Ваш сайт или бот поднимается в контейнере одной командой. Docker сам подтягивает всё нужное, и приложение начинает слушать какой-то внутренний порт. Снаружи оно пока недоступно — этим займётся nginx.

5. Ставите nginx как вход. nginx — это привратник на входе в сервер. Он принимает все запросы из интернета и распределяет их: этот домен ведёт на сайт, тот — на бота. Такая схема (её называют обратным прокси) позволяет держать много сервисов на одном сервере и удобно раздавать им домены.

HTTPS бесплатно

Раньше SSL-сертификат для HTTPS стоил денег и продлевался вручную. Сегодня это бесплатно и автоматически благодаря Let's Encrypt — некоммерческому центру сертификации.

Работает так: инструмент под названием certbot связывается с Let's Encrypt, подтверждает, что домен действительно ваш, и выпускает сертификат. nginx подхватывает его, и сайт открывается по HTTPS с замочком в браузере. Сертификаты Let's Encrypt живут 90 дней, но certbot настраивается на автопродление — и вы про это просто забываете.

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

Где спотыкаются

За годы я вижу один и тот же набор ошибок. Перечислю, чтобы вы их обошли.

  • SSH под паролем и root. Вход по паролю от root — это приглашение для ботов, которые перебирают пароли круглосуточно. Отдельный пользователь и вход по ключу закрывают почти все автоматические взломы.
  • Забытый фаервол. Сервис поднят, работает, все довольны — а наружу открыты порты баз данных и админок, до которых может достучаться кто угодно. Фаервол настраивают сразу, а не когда уже прилетело.
  • HTTPS без автопродления. Поставили сертификат руками, через 90 дней он протух, сайт выдаёт предупреждение, клиенты пугаются. Автопродление снимает эту граблю целиком.
  • Нет бэкапов. Сервер — это железо, оно может отказать, а данные можно снести неудачной командой. Без бэкапов один сбой обнуляет всё. Регулярные и, главное, проверенные бэкапы — не опция, а базовая гигиена.
  • Всё под root в одном контейнере. Когда все сервисы свалены в кучу с максимальными правами, взлом одного открывает доступ ко всему. Изоляция через контейнеры и минимум прав ограничивают ущерб.

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

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

Реально ли поднять сервер без опыта? Базовый сайт на HTTPS — да, за вечер по инструкциям. Сложность не в том, чтобы запустить, а в том, чтобы сделать безопасно и надёжно: закрыть вход, настроить фаервол, автопродление сертификата и бэкапы. Именно эту часть чаще всего и упускают новички.

Сколько это стоит? Аренда VPS для старта — порядка нескольких сотен рублей в месяц. HTTPS через Let's Encrypt бесплатный. Docker и nginx бесплатны. То есть весь стек стоит только аренды сервера, без скрытых лицензий.

Зачем Docker, если можно поставить всё напрямую? Можно, но напрямую вы быстро упрётесь в конфликты версий и в боль при переносе. Docker изолирует приложения, делает установку предсказуемой, а перенос на другой сервер — простым. Один раз разобравшись, вы уже не захотите обратно.

Российский сервер или зарубежный? Если работаете с персональными данными россиян, сервер стоит держать в российской инфраструктуре — это и про 152-ФЗ, и про стабильность доступа. Для пет-проекта без персданных подойдёт и зарубежный, но для бизнеса я обычно советую РФ.

Коротко о главном

Свой VPS — это доступный и понятный инструмент, а не удел системных администраторов. Рабочая связка проверена временем: Ubuntu, Docker для приложений, nginx на входе и бесплатный HTTPS от Let's Encrypt с автопродлением. Логика пути простая — защитить сервер, поставить Docker, запустить приложение в контейнере, направить на него nginx и выпустить сертификат. Базовый сайт так поднимается за вечер. Но дьявол в деталях: вход по ключу вместо пароля, фаервол, автопродление сертификата и проверенные бэкапы — то, на чём спотыкаются чаще всего и что отделяет сервер, который работает годами, от того, что падает через месяц. Если не хотите разбираться сами или нужен сервер, который настроен правильно с первого раза, — я настраиваю серверы и деплой под ключ, с харденингом и бэкапами, чтобы оно просто работало.

Ещё open-source для бизнеса

Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.

Услуги по теме

Что я делаю с инфраструктурой

  • Свой сервер: Docker, nginx, HTTPS
  • Self-host вместо SaaS (своё облако, BI)
  • Мониторинг, бэкапы, харденинг
  • Импортозамещение ПО

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 449 готовых IT-решений для бизнеса449 ready-made IT solutions for business449 soluciones IT listas para empresas449 个面向企业的现成 IT 解决方案Бизнест зориулсан 449 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх