- Улучшена структура и содержание руководства по устранению неполадок API RegRu для большей ясности и согласованности. - Документация по тестированию улучшена за счет подробных инструкций и сравнения методов тестирования. - Улучшено форматирование и читаемость обоих документов. - Обновлена боковая навигация для лучшего доступа к разделам документации.
16 KiB
16 KiB
Команды и сценарии
CLI: letsencrypt-regru
Основные режимы:
--check— проверить срок действия и тип (staging/production)--info— показать расширенную информацию по сертификату--obtain— принудительно получить production сертификат--renew— обновить существующий сертификат--auto— авто-режим: создать/обновить по необходимости
Тесты/диагностика:
--staging— тестовый сертификат LE staging (без лимитов)--test-cert— самоподписанный тестовый сертификат (мгновенно, без интернета)--test-api— проверка API reg.ru (IP, баланс)--test-dns— полный цикл DNS TXT add → ожидание → nslookup → cleanup
Служебные (вызывает certbot):
--auth-hook--cleanup-hook
Дополнительно:
-c/--config <file>— путь к конфигу-v/--verbose— подробные логи--force-cleanup— очистка lock файлов certbot
Мультидоменный режим
Если в конфиге указан domains[], команды --check/--info/--staging/--obtain/--renew/--auto/--test-* будут выполняться по всем доменам.
Makefile
Часто используемые команды:
make install/make uninstallmake test-certmake obtainmake renewmake run(аналог--auto)make statusmake logs
CI / Wiki (workflow dispatch)
Эти команды не выполняют деплой/синк локально — они делают API запрос в Actions
на gitea.example.com и запускают соответствующий workflow.
make wiki-sync— запустить синхронизациюwiki/в Wiki репозиторияmake ci-release TAG=vX.Y.Z(илиmake ci-release VERSION=X.Y.Z) — запустить релизный workflowmake deploy-service(опциональноREF=branch_or_tag) — запустить деплойный workflow
wiki-sync также запускается автоматически при push в master, если изменились файлы в wiki/**.
Нужно задать токен (любой из):
DFGIT_TOKEN(предпочтительно)GIT_TOKENGITEA_TOKENGITEA_ACCESS_TOKEN
Примеры:
# Windows PowerShell
$env:DFGIT_TOKEN = "<token>"; make wiki-sync
$env:DFGIT_TOKEN = "<token>"; make ci-release TAG=v1.2.3
$env:DFGIT_TOKEN = "<token>"; make deploy-service
$env:DFGIT_TOKEN = "<token>"; make deploy-service REF=master
# Linux/macOS
DFGIT_TOKEN="<token>" make wiki-sync
DFGIT_TOKEN="<token>" make ci-release TAG=v1.2.3
DFGIT_TOKEN="<token>" make deploy-service
DFGIT_TOKEN="<token>" make deploy-service REF=master
Примечания:
- Базовый URL задаётся переменной
DFGIT_URL(по умолчаниюhttps://gitea.example.com). - Репозиторий задаётся
DFGIT_REPO(по умолчаниюyour_username/configure_nginx_manager). - Для Linux/macOS требуется установленный
curl.
Типовой workflow (рекомендуется)
- Подготовка
letsencrypt-regru --test-api -vletsencrypt-regru --test-dns -v
- Тестирование без лимитов
letsencrypt-regru --stagingилиletsencrypt-regru --test-cert
- Production
letsencrypt-regru --obtain
- Автопродление
- systemd timer или cron →
letsencrypt-regru --auto
Если используете NPM — см. Nginx_Proxy_Manager.
Appendix (migrated from docs/CHEATSHEET.md)
⚡ Шпаргалка по SSL сертификатам
🚀 Быстрый старт
Установка за 3 команды
sudo make install
sudo nano /etc/letsencrypt/regru_config.json # Заполнить данные
sudo make test-cert # Тест
🧪 Тестирование (БЕЗ лимитов Let's Encrypt)
## Создать тестовый сертификат (неограниченно)
sudo make test-cert
## Проверить статус
sudo make status
## Просмотреть логи
sudo make logs
Когда использовать:
- ⚠️ Let's Encrypt: макс. 5 сертификатов/неделю
- ✅ Тестовые: НЕОГРАНИЧЕННО
- ⚡ Создание: 1-2 секунды vs 2-5 минут
🔒 Production (Let's Encrypt)
## Получить настоящий сертификат
sudo make obtain
## Автоматический режим (проверка + обновление)
sudo make run
## Принудительное обновление
sudo make renew
📋 Основные команды
Команды letsencrypt-regru
| Команда | Описание | Лимиты | Использование |
|---|---|---|---|
--check |
Проверить срок действия | - | Мониторинг |
--obtain |
Получить новый сертификат | ⚠️ 5/неделю | Первое создание |
--renew |
Обновить существующий | ⚠️ 5/неделю | Продление |
--auto |
Авто-проверка и обновление | ⚠️ 5/неделю | Cron/systemd |
--test-cert |
Тестовый сертификат | ✅ Нет | Разработка |
--test-api |
Проверить API reg.ru | - | Диагностика |
--test-dns |
Тест создания DNS записи | - | Проверка перед SSL |
--help |
Справка | - | Помощь |
-v |
Подробный вывод | - | Отладка |
Команды Makefile
| Команда | Описание | Эквивалент |
|---|---|---|
make test-cert |
Тестовый сертификат | letsencrypt-regru --test-cert |
make obtain |
Let's Encrypt новый | letsencrypt-regru --obtain |
make renew |
Обновить существующий | letsencrypt-regru --renew |
make run |
Авто-режим | letsencrypt-regru --auto |
make status |
Статус системы | - |
make logs |
Показать логи | journalctl -u letsencrypt-regru |
make check-config |
Проверить конфигурацию | - |
Команды letsencrypt_regru.sh
| Команда | Описание |
|---|---|
sudo bash letsencrypt_regru.sh install |
Установить приложение |
sudo bash letsencrypt_regru.sh update |
Обновить приложение |
sudo bash letsencrypt_regru.sh uninstall |
Удалить приложение |
📝 Конфигурация
Минимальная (тестирование)
{
"domain": "test.example.com",
"wildcard": true,
"cert_dir": "/etc/letsencrypt/live"
}
Полная (production + NPM)
{
"regru_username": "myuser",
"regru_password": "mypassword",
"domain": "example.com",
"wildcard": true,
"email": "admin@example.com",
"renewal_days": 30,
"npm_enabled": true,
"npm_host": "https://npm.example.com",
"npm_email": "admin@example.com",
"npm_password": "npm_password"
}
🔄 Workflow
Разработка → Production
## 1. Разработка (тестовые сертификаты)
sudo make test-cert # Создать тестовый
## Тестировать приложение...
## 2. Production (Let's Encrypt)
sudo rm -rf /etc/letsencrypt/live/example.com/ # Удалить тест
sudo make obtain # Создать production
📁 Важные пути
## Конфигурация
/etc/letsencrypt/regru_config.json
## Сертификаты
/etc/letsencrypt/live/example.com/
├── privkey.pem # Приватный ключ
├── cert.pem # Сертификат
├── fullchain.pem # Полная цепочка (для nginx)
└── chain.pem # CA цепочка
## Скрипты
/opt/letsencrypt-regru/letsencrypt_regru_api.py
## Логи
/var/log/letsencrypt_regru.log
🔍 Проверка
## Проверить конфигурацию
sudo make check-config
## Проверить сертификат
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout
## Проверить срок действия
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -noout -dates
## Проверить systemd
sudo systemctl status letsencrypt-regru.timer
sudo systemctl list-timers letsencrypt-regru.timer
## Проверить cron
sudo crontab -l | grep letsencrypt
🐛 Отладка
## Подробные логи
sudo make logs
## Тестовый запуск с подробностями
sudo python3 /opt/letsencrypt-regru/letsencrypt_regru_api.py \
-c /etc/letsencrypt/regru_config.json --check -v
## Логи certbot
sudo tail -f /var/log/letsencrypt/letsencrypt.log
## Логи systemd
sudo journalctl -u letsencrypt-regru.service -f
⚠️ Частые ошибки
Let's Encrypt: Rate limit exceeded
## РЕШЕНИЕ: Используйте тестовые сертификаты
sudo make test-cert
NPM: Certificate not found
## РЕШЕНИЕ: Проверьте настройки NPM
sudo make check-config
## Проверьте подключение
curl -k https://npm.example.com
Permission denied
## РЕШЕНИЕ: Запускайте с sudo
sudo make test-cert
🎯 Сценарии использования
Локальная разработка
sudo make test-cert
## Открыть https://localhost (игнорировать предупреждение)
CI/CD тестирование
## В pipeline
sudo make test-cert
## Запустить тесты...
sudo make status
Staging окружение
sudo make test-cert # Или
sudo make obtain # Если есть домен
Production окружение
sudo make install
sudo make obtain
## Автоматическое обновление через cron/systemd
📚 Документация
- README.md - Полное руководство (1420+ строк)
- TESTING_GUIDE.md - Тестирование (370+ строк)
- PROJECT_STRUCTURE.md - Структура проекта
- CHEATSHEET.md - Эта шпаргалка
🆘 Быстрая помощь
## Показать все команды
make help
## Проверить установку
sudo make status
## Полная переустановка
sudo make uninstall
sudo make install
💡 Советы
- Всегда начинайте с тестовых сертификатов - избегайте лимитов
- Проверяйте конфигурацию -
make check-config - Мониторьте логи -
make logs - Автоматизируйте - systemd/cron уже настроены
- Храните бэкапы конфигурации
Версия: 2.1
Обновлено: 27.10.2025
Appendix (migrated from docs/MAKEFILE_COMMANDS.md)
Makefile Commands - Quick Reference
📋 Категории команд
🛠️ Установка и развертывание
make install # Полная установка приложения
make uninstall # Удаление приложения
make status # Проверка статуса установки
make check-config # Проверка конфигурации
🔨 Сборка исполняемых файлов
make build # Собрать для текущей ОС
make build-linux # Собрать для Linux
make build-windows # Собрать для Windows
make build-all # Собрать для всех платформ
📦 Создание пакетов
make package-linux # Создать tar.gz для Linux
make package-windows # Создать zip для Windows
make release # Полный цикл релиза
🧪 Тестирование
make test-run # Тестовый запуск скрипта
make test-cert # Создать тестовый сертификат
make test-build # Протестировать собранный файл
🚀 Запуск операций
make run # Автоматическая проверка и обновление
make obtain # Получить новый сертификат
make renew # Обновить существующий сертификат
📊 Мониторинг
make logs # Показать логи
make status # Статус служб
🧹 Очистка
make clean # Очистить временные файлы Python
make clean-build # Очистить артефакты сборки
ℹ️ Информация
make help # Показать справку
make build-info # Информация о среде сборки
🎯 Типовые сценарии
Первоначальная установка
sudo make install
sudo make check-config
sudo make test-run
Сборка релиза для GitHub
make clean-build
make release
## Файлы будут в dist/
Создание тестового окружения
sudo make install
sudo make test-cert
sudo make status
Обновление сертификата вручную
sudo make run
sudo make logs
Удаление приложения
sudo make uninstall
📝 Переменные окружения
Основные переменные определены в Makefile:
INSTALL_DIR = /opt/letsencrypt-regru
CONFIG_FILE = /etc/letsencrypt/regru_config.json
LOG_FILE = /var/log/letsencrypt_regru.log
SERVICE_NAME = letsencrypt-regru
PYTHON = python3
🔐 Требуемые права
Требуют sudo:
make installmake uninstallmake runmake obtainmake renewmake test-runmake test-cert
Не требуют sudo:
make build*make package*make clean*make helpmake build-info
💡 Полезные комбинации
## Полная переустановка
sudo make uninstall && sudo make install
## Сборка и тестирование
make build && make test-build
## Очистка и релиз
make clean-build && make release
## Проверка после установки
sudo make status && sudo make test-run && sudo make logs