Скрипты для быстрой базовой настройки VPS/VDS (Debian/Ubuntu/RHEL).
deploy.sh— основной скрипт (поддерживает локальный и удаленный запуск).setup_nginx.sh— модуль настройки Nginx.setup_firewall.sh— модуль настройки Firewall.utils.sh— общие функции и валидация.configs— папка с конфигами:cheatsheets— папка с подсказками для cheat
- Модульность: Возможность пропустить базовую настройку и запустить только нужные этапы (Nginx, Firewall).
- Remote Deploy: Автоматическое копирование проекта и запуск на удаленном сервере одной командой.
- Security: Смена порта SSH, Fail2Ban, настройка Firewall (UFW/Firewalld) с поддержкой сокращений (
a/d). - System: Hostname, Timezone, IPv6 off, оптимизация
journald, интерактивный Swap. - Software: Установка Docker, Nginx, NVM, Certbot, подсказки с cheat
Если у вас установлен 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}} в шаблоне. Скрипт автоматически заменит её на введенный вами домен.
Скрипт позволяет добавить свои подсказки командам через (cheat)[https://github.com/cheat/cheat].
Чтобы добавить свои, кладите файлы в структуру:
cheatsheets/
└── ru/
├── docker
└── nginx
Файлы для cheat — plain-text без расширения. Имя файла совпадает с именем подсказки: cheat nginx
Для нового языка добавте каталог рядом с ru, например:
cheatsheets/en/nginx
Затем добавьте код языка в select_cheats_language() в deploy.sh.
При попытке запуска скрипта на хосте:
-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