Деплой на российский VPS: покупаешь хостинг, Claude делает остальное
Как купить VPS у российского хостера, получить нужные данные и передать Claude Code — чтобы он сам подключился, настроил сервер и опубликовал твой сайт.
Сначала прочитайте:
Зачем этот гайд
У тебя на компьютере уже есть что-то работающее. Лендинг, каталог клиентов, трекер привычек, мини-CRM — неважно. Ты собрал это с Claude Code, открываешь в браузере, всё бегает. Только есть одна маленькая проблема: как только ты закроешь ноутбук — сайт исчезнет. Его нет в интернете. Его невозможно показать другу по ссылке. Его невозможно дать попробовать клиенту.
Чтобы сайт был доступен 24 часа в сутки, нужен отдельный компьютер, который всегда включён и подключён к интернету. Такой компьютер называется сервер. И ты не будешь покупать себе железный сервер — это дорого и незачем. Ты арендуешь кусочек сервера у компании, которая профессионально держит такие машины в специальных помещениях (дата-центрах). Такая аренда называется VPS (про это — ниже).
Хорошая новость: тебе не надо самому настраивать сервер. Ты покупаешь VPS, получаешь три строчки (адрес сервера, логин, пароль), вставляешь их в Claude Code — и дальше Claude сам подключается к серверу, ставит всё что нужно и запускает твой сайт. Твоя задача — пройти шаги этого гайда, скопировать правильные данные в правильное место и отвечать Claude на вопросы по ходу дела.
Честно предупреждаю: это не «10 минут и готово». Заложи 2-3 часа на первый раз. Если что-то пойдёт не так — пиши /consult, разберём.
Что такое VPS простыми словами
VPS расшифровывается как Virtual Private Server — «виртуальный частный сервер». Звучит страшно, но идея простая.
Представь: у хостинг-компании (её называют хостер — это компания, которая держит серверы и сдаёт их в аренду) стоит большой мощный компьютер в отдельной комнате с кондиционерами и защитой от сбоев питания. Такая комната называется дата-центр. Этот компьютер слишком большой, чтобы его арендовал один человек — поэтому хостер разбивает его на много маленьких «квартир». Каждая «квартира» ведёт себя как отдельный компьютер: у неё своя память, свой диск, своя операционная система. Ты заходишь в свою «квартиру» через интернет, кладёшь туда свой сайт — и всё, сайт работает 24/7.
Вот каждая такая «квартира» и есть VPS. Ты арендуешь её помесячно, обычно 200-500 рублей за самый простой вариант. Это дешевле, чем один раз поужинать в кафе, — а твой сайт крутится круглосуточно.
Почему именно VPS, а не «обычный хостинг»? Обычный хостинг — это когда хостер сам устанавливает тебе готовый шаблонный софт (обычно для сайтов на WordPress). Ты не можешь туда поставить ничего своего. А VPS — это пустая комната: ставь что хочешь. Для проектов, которые ты собираешь с Claude Code, нужен именно VPS: только туда можно поставить современные штуки типа Node.js или Python-приложений.
Почему российский хостер
Можно арендовать VPS у зарубежных компаний. Но для тебя, если ты в России, это сейчас геморрой. Перечислю плюсы именно российского хостера:
- Оплата обычной картой. Заходишь, вводишь реквизиты своей карты МИР или Visa/Mastercard российского банка — и всё. Никаких виртуальных карт, посредников, конвертаций долларов и «как бы мне оплатить этот забугорный сервис».
- Поддержка на русском и в московском часовом поясе. Можно позвонить или написать в чат и спросить что угодно своими словами.
- Не нужен VPN для работы с сервером. Панели управления российских хостеров открываются напрямую, без обходных путей.
- Дешевле для того же железа. Минимальный тариф с 1 Гб памяти стоит 200-500₽ в месяц.
- Быстрее для российской аудитории. Сервер физически стоит в Москве или Петербурге — твои клиенты из России получают страницы мгновенно, а не через полмира.
Поэтому в этом гайде — только российские хостеры. Если тебе когда-нибудь понадобится зарубежный сервер (например, для международной аудитории) — это отдельная история, напишешь /consult, разберёмся.
Какого хостера выбрать
На апрель 2026 года в России надёжно работают и стабильно популярны несколько крупных хостеров. Для первого проекта подходит любой из них — разница между ними для тебя сейчас незаметна. Вот три, которые я рекомендую новичкам:
Beget
Старый, уважаемый, удобная панель управления с крупными кнопками и понятными надписями. Минимальный VPS — от 210₽/месяц за 1 Гб памяти, 10 Гб диска, одно ядро процессора. Есть почасовая оплата и пробный период. Оплата картой и СБП (система быстрых платежей — когда платишь по QR-коду через банковское приложение).
Плюс для начинающих: панель управления — самая дружелюбная из всех, не запутаешься. Если что-то непонятно — в поддержку можно написать по-человечески, и ответят по-человечески.
Timeweb Cloud
Крупный хостер с быстрой активацией. Минимальный VPS — от 188-450₽/месяц в зависимости от акций. Есть бесплатный тестовый период на несколько дней. Почасовая оплата — можно заплатить буквально несколько рублей, попробовать, и если не понравится — выключить.
Плюс для начинающих: если хочется сначала «поиграться» за копейки — почасовая оплата отлично подходит. Арендуешь на час, прогоняешь Claude, смотришь что получилось — удаляешь.
Reg.ru
Самый большой российский регистратор доменов — и у них тоже есть VPS. Удобно, если ты хочешь всё в одном месте: купил VPS — и тут же купил домен (имя сайта) у того же провайдера, меньше переключений. Минимальный VPS — от 300₽/месяц.
Плюс для начинающих: «одно окно» — и сервер, и адрес сайта в одном личном кабинете.
Какого выбрать? Если сомневаешься — бери Beget. Самая понятная панель, одной ссылкой в поддержку решается любой затык. Дальше гайд написан с расчётом, что ты выбрал Beget, но 90% шагов одинаковые у всех трёх.
Шаг 1. Регистрация и покупка VPS
Открой сайт выбранного хостера и зарегистрируйся. Почта подойдёт любая — Яндекс, Gmail, Mail.ru, без разницы. Понадобится номер телефона — на него придёт SMS с кодом подтверждения. Это обычная регистрация, как на любом сайте.
Дальше найди в меню раздел про VPS. У Beget он называется «Cloud» или «Виртуальные серверы». У Timeweb — «VDS/VPS». У Reg.ru — «VPS».
Когда попадёшь на страницу выбора тарифа, увидишь таблицу с цифрами. Вот на что смотреть:
- Память (ещё пишут «RAM» или «оперативная память») — это «голова» сервера, сколько он может держать в уме одновременно. Для простого сайта хватает 1 Гб. Если у тебя что-то тяжёлое (много обращений к базе, AI-штуки) — бери 2 Гб.
- Диск (ещё пишут «SSD», «NVMe») — место под файлы. Для простого проекта хватает 10-20 Гб. SSD и NVMe — это просто разные типы быстрой памяти, оба ок.
- Процессор (ещё «CPU», «ядра», «vCPU») — «руки» сервера. Одного ядра достаточно.
- Трафик — сколько данных можно передать в интернет за месяц. У всех хостеров сейчас либо безлимит, либо огромный запас, об этом не парься.
Ориентир по цене: 200-500₽ в месяц. Если тариф дешевле 150₽ — скорее всего, там урезано что-то важное. Если дороже 800₽ — ты взял лишнего для первого проекта.
Важно при заказе:
- Операционная система — выбери Ubuntu 24.04 LTS (или 22.04 LTS, если 24.04 нет в списке). Ubuntu — это самая популярная бесплатная операционная система для серверов, под неё написано больше всего инструкций, и Claude работает с ней лучше всего. LTS означает «долгосрочная поддержка» — это стабильная версия, которую обновляют несколько лет, её выбирают для серьёзной работы.
- Панель управления — выбери «без панели» или «чистый сервер». Хостеры иногда навязывают ISPmanager, cPanel, FastPanel — это готовые панельки для ручной настройки сайтов. Тебе они не нужны, Claude Code всё сделает сам. Панель только съест память и запутает.
- SSH-ключ — если спрашивают, можно пропустить (вход будет по паролю — проще). Если хочется сделать по-красивому, Claude позже поможет настроить вход по ключу.
- Бэкапы — если есть дешёвая опция автоматического резервного копирования (копии файлов на случай поломки) — включи, это 30-100₽ в месяц, но сильно спасает нервы.
Оплати — картой или через СБП. Через 2-10 минут сервер будет готов.
Что-то непонятно на этапе выбора — напиши: /consult.
Шаг 2. Получить данные доступа
Это самый важный шаг. Без этих данных ничего дальше не работает.
После оплаты в личном кабинете хостера появится страница твоего нового VPS. На ней (или в письме на почту) будут три строчки, которые надо найти и записать:
- IP-адрес — четыре числа через точки, например
185.23.45.67. Это «интернет-адрес» твоего VPS. По нему можно к нему подключаться и по нему (в конце концов) будет открываться твой сайт. - Имя пользователя — почти всегда
root. Это «главный пользователь» на сервере, у которого есть права делать что угодно. - Пароль — длинная строка из букв и цифр. Хостер либо сгенерировал её сам, либо попросил тебя задать при покупке.
Скопируй все три значения в отдельный файл или менеджер паролей (1Password, Bitwarden, заметка в iCloud). Это ключи от твоего сервера — любой, кто их получит, может делать с сервером что угодно. Не отправляй их в чаты, не показывай на скринах, не держи открытым в публичных местах.
Если IP-адрес не появился через 10 минут после оплаты — напиши в поддержку хостера («сервер оплачен, реквизиты доступа не пришли») или /consult.
Шаг 3. Передай данные Claude Code
Открой Claude Code в папке своего проекта (того самого, который ты хочешь опубликовать). Скопируй и вставь следующий запрос, подставив свои данные:
У меня готов проект в этой папке. Я хочу развернуть его на моём VPS, чтобы сайт был доступен в интернете 24/7.
Вот данные сервера:
- IP-адрес:
[вставь сюда IP]- Пользователь:
root- Пароль:
[вставь сюда пароль]- Операционная система: Ubuntu 24.04 LTS
- Домен (если есть):
[вставь домен или напиши "пока нет, используем IP"]Сделай всё, что нужно, чтобы мой сайт заработал на этом сервере и был доступен в интернете по IP (или по домену, если он у меня есть):
- Подключись к серверу по SSH.
- Посмотри, что за проект лежит в текущей папке, пойми, что ему нужно для работы.
- Установи на сервер все необходимые программы и зависимости.
- Скопируй проект на сервер.
- Запусти проект так, чтобы он работал постоянно и перезапускался сам, если упадёт или если сервер перезагрузится.
- Настрой, чтобы сайт открывался при заходе на мой IP (или на мой домен, если есть).
- Установи базовый фаервол, чтобы сервер был закрыт от лишних подключений — оставь открытыми только те порты, которые нужны сайту.
- Когда всё будет готово — открой адрес в браузере и проверь, что сайт работает. Покажи мне ссылку.
Перед тем как начать — расскажи мне коротко, что именно ты собираешься сделать, какие программы поставишь и предупреди, если что-то может пойти не так. Я не разработчик, объясняй простыми словами.
Если на каком-то шаге тебе понадобится подтверждение или выбор — спрашивай, а не действуй молча.
Что происходит дальше. Claude расскажет план — что поставит, в каком порядке. Почитай, если всё ок — скажи «давай». Дальше Claude:
- Подключится к серверу (это называется SSH — Secure Shell, «безопасное подключение» к чужому компьютеру через интернет).
- Поставит нужные программы: например, Node.js (если у тебя сайт на JavaScript/React/Next.js), Python (если питон), базу данных и так далее. Пакеты — это то, как в мире Ubuntu называются готовые программы, которые ставятся одной командой.
- Скопирует твой проект на сервер.
- Запустит его с помощью менеджера процессов (это программа, которая следит за твоим сайтом: если он упал — поднимает его обратно).
- Настроит веб-сервер (обычно это Nginx — программа, которая принимает входящие запросы из интернета и отдаёт их твоему сайту).
- Откроет в фаерволе (это «брандмауэр» — программа-фильтр, которая решает, кто может стучаться в твой сервер) только нужные порты (порт — это «дверь» для одного типа трафика: 80 для обычного интернета, 443 для защищённого).
Ты в это время просто смотришь, что происходит, и отвечаешь на вопросы Claude. Если что-то не понимаешь — спрашивай Claude: «А зачем это? А что это значит?». Он объяснит.
Шаг 4. Проверь, что работает
Когда Claude скажет «готово» — открой браузер и вбей в адресную строку IP-адрес твоего сервера (или домен, если настроил). Должен открыться твой сайт.
Если открылся — поздравляю, у тебя в интернете есть живой сайт. Можешь отправлять ссылку друзьям, клиентам, маме. Он будет работать, даже когда ты закроешь ноутбук.
Если не открылся — вот типичные проблемы и что сказать Claude:
- Браузер крутится и показывает «не удалось подключиться» → «Сайт не открывается. Подключись к серверу и проверь: запущен ли процесс, открыт ли порт 80 в фаерволе, есть ли ошибки в логах. Найди причину и почини.»
- Claude не смог подключиться к серверу в самом начале → проверь IP и пароль (скопировал без лишних пробелов?), напиши Claude «попробуй ещё раз, вот данные: …»
- Claude говорит «порт закрыт» → зайди в личный кабинет хостера, в раздел VPS есть «Файрвол» или «Firewall» — открой порты 80 и 443 (двери для обычного и защищённого веба). Или попроси Claude: «открой порты 80 и 443 на сервере через ufw».
- Сайт открылся, но на нём ошибка или белый экран → скопируй текст ошибки из браузера и вставь Claude: «На сайте ошибка: [текст]. Посмотри логи на сервере и почини.»
Ничего не помогает — напиши: /consult. Это нормально, на первом деплое вечно что-то стреляет не туда.
Про домен (имя сайта)
Пока у тебя есть только IP — четыре числа через точку. Такой адрес неудобно запоминать и неприлично давать клиентам. Нормальный адрес сайта — это домен: мойсайт.ру, vinocatalog.com, my-tracker.ru.
Домен — это человеческое имя, которое через специальную систему называется DNS (Domain Name System — «система имён доменов») превращается в IP. DNS — это такая телефонная книжка интернета: браузер смотрит в неё и узнаёт, по какому IP живёт мойсайт.ру.
Покупать домен лучше всего у того же хостера, где купил VPS (или у Reg.ru, у них самый большой выбор зон). Цена зависит от зоны:
- .ru — 200-300₽ в год
- .рф — 200-300₽ в год
- .com — 1200-1800₽ в год
- Хитрые зоны типа
.online,.app,.io— от 500 до 3000₽ в год
Для первого проекта бери .ru или .рф — дёшево, надёжно, понятно русскоязычной аудитории.
Привязка домена к серверу. После покупки домена нужно сказать DNS: «этот домен живёт на таком-то IP». Это делается в настройках домена в личном кабинете хостера: нужно добавить A-запись (тип записи, который связывает имя с IP-адресом). В поле «имя» — @ (это значит «сам домен»), в поле «значение» — твой IP-адрес.
Если боишься запутаться — просто скажи Claude:
Я купил домен
мойсайт.руу хостера[имя хостера]. Объясни по шагам, куда в личном кабинете зайти, чтобы привязать домен к IP[твой IP]. Опиши, какие именно поля и что в них ввести.
Claude расскажет. После настройки изменения обычно вступают в силу за 5-30 минут (иногда дольше — DNS штука ленивая). Потом скажи Claude ещё раз:
Я привязал домен
мойсайт.рук серверу. Теперь настрой на сервере, чтобы сайт открывался и по домену тоже. И поставь бесплатный HTTPS-сертификат от Let’s Encrypt для этого домена.
HTTPS — это защищённое соединение (тот самый замочек в браузере слева от адреса). Без HTTPS современный браузер будет пугать пользователей надписью «небезопасно». Let’s Encrypt — это бесплатная организация, которая выдаёт сертификаты (файлы-подтверждения, что ты владеешь этим сайтом) для HTTPS. Claude поставит программу Certbot, она сама получит сертификат, настроит сервер и будет обновлять сертификат автоматически. Вся настройка — одна команда, которую Claude запустит сам.
Базовая безопасность
VPS — это компьютер в интернете, а в интернете в каждую секунду кто-то стучится в случайные серверы, пытаясь их взломать. Это нормально, так устроен интернет. Поэтому сразу после того, как сайт заработал, попроси Claude сделать четыре вещи:
- Смени пароль root. Автоматический пароль хостера — первое, что стоит поменять. Скажи: «Смени пароль root на сервере на новый, запиши мне его в отдельное сообщение, я сохраню у себя».
- Настрой вход по SSH-ключу вместо пароля (опционально, но сильно повышает защиту). Скажи: «Настрой вход на сервер по SSH-ключу. Объясни мне по шагам, что я должен сделать у себя на компьютере. После настройки отключи вход по паролю.» SSH-ключ — это пара файлов (публичный и приватный), которые работают как магнитный ключ от двери: подделать нельзя, подобрать нельзя.
- Брандмауэр. На Ubuntu стандартный брандмауэр называется ufw (Uncomplicated FireWall — «несложный фаервол»). Скажи Claude: «Поставь ufw и настрой так, чтобы были открыты только SSH, HTTP и HTTPS». Остальные двери будут закрыты.
- Автоматические обновления безопасности. Скажи: «Включи автоматические обновления безопасности на сервере — пакет unattended-upgrades». Это будет раз в день подкачивать свежие заплатки для известных уязвимостей.
Раз в 1-2 недели говори Claude:
Подключись к серверу, обнови все пакеты, проверь, что сайт всё ещё работает, и покажи мне, если есть какие-то ошибки или тревожные сообщения в логах.
Этого достаточно для личного проекта или небольшой витрины. Если у тебя пойдут реальные пользователи и деньги — там уже другие разговоры, пиши /consult.
Что может сломаться через несколько дней
Типичные сценарии из жизни:
Сайт вдруг перестал открываться. Чаще всего — процесс твоего сайта упал (закончилась память, какая-то ошибка в коде). Скажи Claude:
Сайт перестал открываться. Подключись к серверу, проверь, работает ли процесс, посмотри логи. Если процесс упал — перезапусти его и настрой так, чтобы он поднимался сам при таких падениях в будущем.
На сервере кончилось место. Логи растут, файлы копятся. Скажи:
Подключись к серверу, посмотри, что занимает место на диске. Почисти старые логи и ненужные файлы. Настрой автоматическую ротацию логов, чтобы они не росли бесконечно.
Хочу обновить сайт после правок в Claude Code. Когда ты что-то поменял в проекте у себя на компьютере и хочешь залить это на сервер — скажи:
Я обновил проект в этой папке. Залей новую версию на сервер, перезапусти сайт и проверь, что он работает с новыми изменениями.
Claude сам загрузит изменения и перезапустит сайт.
Хочу бэкап на всякий случай. Скажи:
Настрой ежедневный бэкап моего проекта и базы данных с сервера. Пусть копии складываются на сам сервер в отдельную папку и хранятся 7 дней.
Для бэкапов «куда-то ещё» (например, в облако) — это отдельный разговор, /consult.
Безопасность сервера: что знать с первого дня
Как только ты запустил VPS, к нему начинают стучаться боты — автоматические программы, которые перебирают пароли и пытаются получить доступ. Это нормально, это происходит с любым сервером в интернете. Но защититься нужно сразу.
Самый простой способ: попроси Claude: «Настрой базовую безопасность на сервере». Он установит fail2ban — программу, которая автоматически блокирует тех, кто слишком много раз вводит неправильный пароль. Это как охранник на проходной: три неправильных попытки — и вход заблокирован.
Частая проблема: fail2ban заблокировал тебя самого. Если ты несколько раз ошибся с паролем, fail2ban может заблокировать твой собственный IP-адрес. Ты вдруг не можешь зайти на сервер — и это пугает. Что делать: подожди от 10 минут до 24 часов (зависит от настроек) — блокировка снимется автоматически. Или зайди на сервер через панель управления хостера (она работает через браузер, не через SSH) и попроси Claude: «fail2ban заблокировал мой IP, разблокируй и добавь в белый список».
Долгосрочное решение: попроси Claude настроить вход по SSH-ключу вместо пароля. SSH-ключ — это файл на твоём компьютере, который заменяет пароль. Его невозможно подобрать перебором, поэтому с ключом fail2ban тебя не заблокирует.
Российский VPS и зарубежные AI-сервисы
Если твой проект на сервере обращается к зарубежным AI-сервисам (Claude API, OpenAI, Gemini), учитывай: гарантии что с российского сервера к ним можно достучаться — нет. Некоторые IP-адреса российских хостеров пока не заблокированы, и запросы проходят. Но это может измениться в любой момент.
Варианты:
- Использовать OpenRouter как прослойку (отдельный гайд про него есть на сайте) — он работает с части российских IP
- Настроить proxy-соединение через Claude — он умеет это делать
- Для гарантированной работы — арендовать зарубежный VPS (но тогда нужна зарубежная карта для оплаты)
Для простого сайта без AI — российский VPS подходит идеально, никаких ограничений.
Итог
Ты только что прошёл путь, который раньше требовал собственного разработчика. У тебя есть:
- Свой сервер в интернете, который работает 24/7.
- Сайт, который открывается по настоящему адресу и который можно показать кому угодно.
- Понимание, как передавать Claude задачи про этот сервер — и получать результат без погружения в технические детали.
Это большой шаг. С этого момента ты можешь проверять свои продуктовые идеи на живых людях, а не только у себя в браузере.
Что дальше по практике:
- Попробуй показать сайт 3-5 знакомым и собрать обратную связь. Реальные пользователи — единственный способ понять, работает ли идея.
- Когда почувствуешь, что пора делать следующий проект, — просто арендуй ещё один VPS (или используй тот же, если мощности хватает).
- Если застрянешь на деплое, на ошибках сервера, на странном поведении — /consult. Живой разбор всегда быстрее, чем бесконечное копание в логах в одиночку.
Для тех, кто хочет разобраться в технических деталях
Что такое SSH на самом деле. SSH — это протокол (правила общения двух программ в сети) для безопасного управления удалённым компьютером через терминал. Когда ты подключаешься к серверу по SSH, между твоим компьютером и сервером устанавливается шифрованный канал. Всё, что ты набираешь, передаётся через этот канал — никто по пути не может подсмотреть. На твоём компьютере есть программа-клиент (на Mac и Linux она встроена, на Windows входит в состав Windows 10/11). На сервере работает программа-сервер, которая слушает на порту 22. Когда Claude «подключается по SSH» — он использует эту же встроенную программу, просто автоматически.
Что такое Linux-сервер и почему Ubuntu. Linux — это семейство бесплатных операционных систем, созданных на основе общего ядра. Ubuntu — один из самых популярных вариантов Linux, особенно для серверов. Почему не Windows? Windows Server платный, тяжёлый, редко нужен на маленьких проектах. Почему не другая Linux-система (Debian, CentOS, Rocky)? Они тоже подходят, но под Ubuntu больше всего инструкций, скриптов и готовых пакетов — для новичка это ощутимая разница. LTS-версия (24.04 LTS, 22.04 LTS) — это та, которую обновляют с точки зрения безопасности годами. Другие версии Ubuntu выходят каждые полгода и поддерживаются всего 9 месяцев — для сервера это мало.
Менеджер процессов: зачем pm2 и systemd. Когда ты запускаешь сайт командой типа npm start, он работает, пока открыт терминал. Закрыл терминал — сайт выключился. На сервере это не подходит: сайт должен работать всё время. Менеджер процессов — это программа, которая берёт твой сайт «под опеку»: запускает его в фоне, следит, чтобы он не падал, перезапускает при сбоях, поднимает при перезагрузке сервера. Два популярных варианта: pm2 (простой, специально для Node.js-проектов) и systemd (встроен в Ubuntu, универсальный, сложнее). Claude сам выберет подходящий под твой проект.
Что такое Nginx и зачем он нужен. Nginx — это веб-сервер. Его работа — принимать входящие запросы из интернета (когда кто-то заходит на твой IP/домен) и направлять их твоему приложению. Может показаться лишним звеном: зачем, если твой сайт и так умеет слушать запросы? Причины: Nginx умеет правильно раздавать статические файлы (картинки, стили), обрабатывать сотни соединений одновременно, правильно работать с HTTPS-сертификатами, закрывать часть атак. Твой сайт умеет всё это гораздо хуже. Поэтому стандартная схема: Nginx стоит «лицом в интернет», а твой сайт работает за ним.
Что такое HTTPS под капотом. HTTP — базовый протокол, по которому браузер получает страницы. Беда HTTP в том, что всё передаётся открытым текстом: любой, кто подключён к той же сети (публичный Wi-Fi в кафе), может подсмотреть пароли и содержимое. HTTPS добавляет сверху шифрование. Чтобы шифрование работало, серверу нужен сертификат — файл, подписанный доверенным центром (Let’s Encrypt, например), который подтверждает: «да, этот сервер действительно владеет этим доменом». Браузер проверяет сертификат, убеждается, что всё чисто, — и рисует замочек. Certbot автоматизирует получение и обновление сертификата: запустил одну команду — сертификат есть, ещё через 60 дней сам обновится.
Что такое порты и почему именно 80 и 443. Порт — это число от 1 до 65535, которое обозначает «канал связи» на сервере. Один сервер может одновременно обслуживать много разных сервисов, каждый на своём порту: почта на 25, SSH на 22, веб на 80. Когда браузер заходит на http://мойсайт.ру — он по умолчанию стучится на порт 80. Если https:// — на порт 443. Все остальные порты должны быть закрыты на сервере с помощью фаервола, потому что открытый ненужный порт — это дверь, через которую тебя могут попытаться взломать. ufw по умолчанию закрывает всё — ты явно открываешь только 22 (SSH для управления), 80 (HTTP) и 443 (HTTPS).