# Инструкция по публикации сайта через SFTP ## Описание Этот документ описывает процесс публикации сгенерированного сайта (папка `public`) на хостинге через SFTP. Решение кроссплатформенное и работает как на Unix-подобных системах (Linux/macOS), так и на Windows. > **ВАЖНО: деплой сайта выполняется ТОЛЬКО через `make deploy`.** Аккаунт Jino — > SFTP-only: удалённый запуск команд (rsync, ssh-exec) запрещён сервером > (ошибка `exec request failed on channel 0`). Прямой rsync на этот аккаунт > НЕ РАБОТАЕТ. ## Учетные данные и параметры подключения - **Хост**: kpa39l.myjino.ru - **Порт SFTP**: 2222 - **Пользователь**: kpa39l_dedinit - **Пароль**: -Zp4ep747t25 - **Целевой путь**: /dedinit.ru (относительно корня аккаунта) ## Установка зависимостей ### Для Linux/macOS - **Python 3** (с venv/pip) - **Make** — для выполнения команд из Makefile - Пакет `paramiko` ставится автоматически в `.venv/` при первом `make deploy` (таргет `venv`), либо вручную: `pip install paramiko` ### Для Windows - **WinSCP** — установите с официального сайта () - **Make** — можно установить через Chocolatey, MinGW или Git for Windows ## Использование Makefile ### Сборка сайта ```bash make build ``` Команда генерирует сайт в папку `public/`. ### Деплой сайта ```bash # один раз экспортируем пароль SFTP (каждый раз в новой сессии) export SSHPASS='-Zp4ep747t25' make deploy ``` ЕДИНСТВЕННЫЙ способ публикации. Сначала собирает сайт, затем зеркалирует `public/` на сервер (`/dedinit.ru`) с удалением устаревших файлов (аналог `rsync --delete`): - **Unix**: `tools/deploy_sftp.py` (paramiko, SFTP + рекурсивный mirror) - **Windows**: WinSCP.com (скрипт `winscp_script.txt`) Если `SSHPASS` не задана — `make deploy` завершится с ошибкой и подсказкой. ### Симуляция деплоя ```bash export SSHPASS='-Zp4ep747t25' make deploy-dry-run ``` Собирает сайт и показывает, какие файлы будут загружены/удалены, без заливки. ### Очистка ```bash make clean ``` Команда удаляет папку `public/`. ### Полная пересборка ```bash make rebuild ``` Команда удаляет папку `public/`, затем заново собирает и деплоит сайт. ### Справка ```bash make help ``` Показывает список доступных команд. ## Конфигурация Параметры подключения для Unix находятся в `tools/deploy_sftp.py` (переменные `DEDINIT_HOST`, `DEDINIT_PORT`, `DEDINIT_USER`, `DEDINIT_REMOTE`, по умолчанию — kpa39l.myjino.ru:2222 / kpa39l_dedinit / /dedinit.ru). На Windows — в `Makefile` и `winscp_script.txt`. При необходимости вы можете изменить эти параметры. ## Настройка для Windows 1. Убедиться, что WinSCP установлен в стандартную директорию `C:\Program Files (x86)\WinSCP\` 2. Файл `winscp_script.txt` содержит команды для подключения и синхронизации файлов