Скрипты для быстрой базовой настройки VPS/VDS (Debian/Ubuntu/RHEL).
deploy.sh— основной скрипт (поддерживает локальный и удаленный запуск).setup_nginx.sh— модуль настройки Nginx.setup_firewall.sh— модуль настройки Firewall.utils.sh— общие функции и валидация.configs— папка с конфигами:
- Модульность: Возможность пропустить базовую настройку и запустить только нужные этапы (Nginx, Firewall).
- Remote Deploy: Автоматическое копирование проекта и запуск на удаленном сервере одной командой.
- Security: Смена порта SSH, Fail2Ban, настройка Firewall (UFW/Firewalld) с поддержкой сокращений (
a/d). - System: Hostname, Timezone, IPv6 off, оптимизация
journald, интерактивный Swap. - Software: Установка Docker, Nginx, NVM, Certbot.
Если у вас установлен Git Bash (Windows) или Linux/macOS, не нужно вручную копировать файлы. Запустите:
chmod +x deploy.sh
./deploy.sh -remote
Скрипт запросит IP, порт и пользователя, сам создаст временную папку на сервере, скопирует структуру и запустит установку.
Если файлы уже на сервере:
chmod +x deploy.sh
sudo ./deploy.sh
Формат: действие|направление|порт/протокол.
Поддерживаются сокращения: allow (a), deny (d).
allow|in|80/tcp
a|in|443/tcp
Используйте переменную {{DOMAIN}} в шаблоне. Скрипт автоматически заменит её на введенный вами домен.
При попытке запуска скрипта на хосте:
-bash: ./deploy.sh: cannot execute: required file not foundПроверьте как сохранены переносы строк в файле (если правили скрипт на Windows машине, могли сохраниться в формате CRLF).
Для смены переносов строк на LF прямо на сервере запустите в папке куда копировали скрипт:
sed -i 's/\r$//' deploy.sh setup_firewall.sh setup_nginx.sh utils.sh