// SSD VPS

Как установить и настроить Certbot (Let's Encrypt) на VPS Linux: полное руководство — CLIQHOST

08 октября 2026 г. · by Alex M.

Как установить и настроить Certbot (Let's Encrypt) на VPS Linux: полное руководство — CLIQHOST

Если вы управляете VPS SSD или VPS NVMe и хотите защитить трафик своего сайта, первый обязательный шаг — активация HTTPS с помощью действительного SSL-сертификата. Let's Encrypt предоставляет бесплатные SSL/TLS-сертификаты, признанные всеми современными браузерами, а Certbot — официальный клиент, который полностью автоматизирует их получение и обновление.

В этом руководстве вы узнаете, как установить Certbot на Ubuntu 22.04, получить сертификаты для доменов на Nginx и Apache, настроить автоматическое обновление и избежать самых распространённых ошибок.


Почему SSL обязателен в 2025 году

Современные браузеры помечают любой HTTP-сайт как «небезопасный». Поисковые системы, в первую очередь Google, снижают рейтинг страниц без HTTPS. Помимо безопасности (шифрование данных между клиентом и сервером), действительный SSL-сертификат:

  • Повышает доверие пользователей
  • Является обязательным условием работы HTTP/2
  • Необходим для интернет-магазинов и форм авторизации
  • Устраняет предупреждения безопасности в браузерах

Если вам нужны коммерческие SSL-сертификаты с расширенной гарантией (EV/OV), их можно приобрести напрямую у CLIQHOST — SSL-сертификаты. Но для большинства сайтов Let's Encrypt более чем достаточно.


Предварительные требования

Перед началом убедитесь, что:

  1. У вас есть SSH-доступ к серверу (например, VPS Linux с Ubuntu 22.04 или Debian 12)
  2. DNS вашего домена (например, example.md) настроен на IP-адрес вашего VPS
  3. На сервере установлен Nginx или Apache
  4. Порты 80 и 443 открыты в брандмауэре

Проверьте, что веб-сервер запущен:

systemctl status nginx
# или
systemctl status apache2

Шаг 1: Обновите систему и установите Certbot

Перед установкой обновите список пакетов:

sudo apt update && sudo apt upgrade -y

Установите Certbot и плагин для вашего веб-сервера:

Для Nginx:

sudo apt install certbot python3-certbot-nginx -y

Для Apache:

sudo apt install certbot python3-certbot-apache -y

Альтернативно можно использовать Snap (рекомендовано разработчиками Certbot для получения актуальных версий):

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

Шаг 2: Получите SSL-сертификат для вашего домена

Автоматический метод (рекомендуется) — Certbot сам изменяет конфигурацию веб-сервера

Для Nginx:

sudo certbot --nginx -d example.md -d www.example.md

Для Apache:

sudo certbot --apache -d example.md -d www.example.md

Certbot выполнит следующие действия:

  1. Проверит, что домен указывает на ваш сервер
  2. Сгенерирует SSL-сертификат
  3. Автоматически изменит конфигурацию Nginx/Apache для HTTPS
  4. Активирует редирект HTTP → HTTPS (необязательно, но рекомендуется)

В процессе вас спросят:

  • Адрес электронной почты (для уведомлений об истечении срока)
  • Принятие условий использования
  • Нужен ли автоматический редирект с HTTP на HTTPS

Автономный метод (без активного веб-сервера)

Если веб-сервер не настроен или вы хотите получить сертификат независимо:

sudo certbot certonly --standalone -d example.md -d www.example.md

Сертификаты будут сохранены в:

/etc/letsencrypt/live/example.md/
├── cert.pem        # сам сертификат
├── chain.pem       # цепочка сертификации
├── fullchain.pem   # cert + chain (используется Nginx/Apache)
└── privkey.pem     # приватный ключ

Шаг 3: Проверьте сгенерированную конфигурацию SSL

После завершения работы Certbot проверьте конфигурацию Nginx:

sudo nginx -t
sudo systemctl reload nginx

Или для Apache:

sudo apache2ctl configtest
sudo systemctl reload apache2

Откройте сайт в браузере по адресу https://example.md и убедитесь в наличии замка. Также можно воспользоваться командой:

curl -I https://example.md

В ответе должно быть HTTP/2 200 или HTTP/1.1 200 OK.


Шаг 4: Ручная настройка Nginx для SSL (продвинутый уровень)

Если вы предпочитаете полный контроль над конфигурацией, вот пример виртуального хоста Nginx с SSL:

server {
    listen 80;
    server_name example.md www.example.md;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.md www.example.md;

    ssl_certificate /etc/letsencrypt/live/example.md/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.md/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.md/chain.pem;

    # Рекомендуемые параметры безопасности
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_stapling on;
    ssl_stapling_verify on;

    add_header Strict-Transport-Security "max-age=63072000" always;

    root /var/www/example.md;
    index index.html index.php;

    location / {
        try_files $uri $uri/ =404;
    }
}

Эта конфигурация активирует TLS 1.2/1.3, OCSP Stapling и HSTS — надёжный набор параметров безопасности для любого Linux-сервера.


Шаг 5: Настройка автоматического обновления

Сертификаты Let's Encrypt действительны 90 дней. Certbot автоматически устанавливает таймер systemd (или задание cron), который обновляет сертификаты за 30 дней до истечения срока.

Проверьте таймер:

sudo systemctl status certbot.timer

Протестируйте обновление без реальных изменений:

sudo certbot renew --dry-run

При успешном выполнении вы увидите:

Congratulations, all simulated renewals succeeded:
  /etc/letsencrypt/live/example.md/fullchain.pem (success)

Добавьте хук после обновления

После обновления веб-сервер необходимо перезагрузить для применения нового сертификата. Создайте скрипт-хук:

sudo nano /etc/letsencrypt/renewal-hooks/post/reload-nginx.sh

Содержимое:

#!/bin/bash
systemctl reload nginx

Сделайте его исполняемым:

sudo chmod +x /etc/letsencrypt/renewal-hooks/post/reload-nginx.sh

Шаг 6: Сертификаты для нескольких доменов и Wildcard

Мультидоменные сертификаты (SAN):

sudo certbot --nginx -d example.md -d www.example.md -d blog.example.md -d shop.example.md

Wildcard-сертификаты (*.example.md):

Wildcard-сертификаты требуют DNS-валидации (не HTTP). Используйте метод dns-01:

sudo certbot certonly --manual --preferred-challenges dns -d "*.example.md" -d example.md

Certbot попросит вас добавить TXT-запись в DNS-зону:

_acme-challenge.example.md. 300 IN TXT "значение_сгенерированное_certbot"

Добавьте запись в DNS-панель регистратора, подождите распространения (1–5 минут) и нажмите Enter для продолжения.

Примечание: Если вы используете услуги управления сервером от CLIQHOST, наша команда может настроить эту автоматизацию через специализированные DNS-плагины (например, certbot-dns-cloudflare).


Устранение неполадок: частые проблемы

Ошибка «Too many certificates already issued»

Let's Encrypt ограничивает до 5 сертификатов на домен за 7 дней. Если лимит достигнут, используйте флаг --staging для тестирования:

sudo certbot --nginx --staging -d example.md

Ошибка HTTP-валидации (порт 80 заблокирован)

Проверьте брандмауэр:

sudo ufw status
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Certbot не находит конфигурацию Nginx

Убедитесь, что конфигурационный файл домена существует в /etc/nginx/sites-enabled/. Certbot ищет директиву server_name для определения нужного виртуального хоста.

Сертификат не обновляется автоматически

Проверьте логи:

sudo journalctl -u certbot.timer
cat /var/log/letsencrypt/letsencrypt.log

Проверка безопасности SSL внешними инструментами

После настройки протестируйте SSL-рейтинг с помощью SSL Labs — бесплатного инструмента анализа, который проверяет протоколы, шифры и цепочку сертификации. Правильная конфигурация должна давать оценку A или A+.

Также можно проверить локально:

openssl s_client -connect example.md:443 -tls1_3

Лучшие практики безопасности SSL

  1. Активируйте HSTS — заставьте браузеры всегда использовать HTTPS
  2. Отключите TLS 1.0 и 1.1 — уязвимые протоколы, принимайте только TLS 1.2+
  3. Активируйте OCSP Stapling — снижает задержку при SSL-рукопожатии
  4. Используйте ключи RSA 2048+ или ECDSA — Certbot по умолчанию генерирует ECDSA
  5. Следите за истечением срока — Certbot отправляет email за 30 дней до истечения

Для серверов с высоким трафиком рассмотрите выделенный управляемый сервер, где SSL-конфигурация управляется профессионально.

Если вам нужен надёжный VPS начального уровня, обратите внимание на VPS-1C от CLIQHOST — отличное решение для небольших проектов с полным контролем над сервером.


Заключение

Certbot с Let's Encrypt — это стандартное решение для бесплатных SSL-сертификатов на любом VPS Linux. Установка занимает менее 10 минут, обновление полностью автоматическое, а уровень безопасности соответствует коммерческим сертификатам для обычных сайтов.

Если вы начинаете с нуля и ищете производительный VPS SSD в Молдове для построения своей веб-инфраструктуры, CLIQHOST предлагает гибкие планы с полным root-доступом — идеально для всех конфигураций, описанных в этом руководстве.

Есть вопросы или нужна помощь с настройкой SSL? Свяжитесь с командой CLIQHOST — мы готовы помочь.

SHARE
// what clients say

What Our Clients Say

Real reviews from customers who trust CLIQHOST for performance, reliability and expert technical support.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău