Add initial Ubuntu 24.04 server setup script

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-06 11:15:55 +03:00
commit 52c01f225b
3 files changed
+404

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
# vps_installer
Первоначальная настройка сервера Ubuntu 24.04 по [инструкции](https://wiki.hsrv.site/books/pervonacalnaia-nastroika-ubuntu/page/pervonacalnaia-nastroika-servera-ubuntu-2404).
## Запуск
Под root на свежем сервере:
```bash
curl -fsSL https://gitea.hsrv.site/mrleo1nid/vps_installer/raw/branch/main/setup.sh | sudo bash
```
Скрипт спросит логин и пароль нового пользователя, имя машины, домен для Caddy и т.д.
## Что делает
1. `apt upgrade`, включает unattended-upgrades
2. Создаёт пользователя с sudo без пароля (вход по SSH — по паролю)
3. Меняет hostname (+ `/etc/hosts`, cloud-init не перезапишет его при перезагрузке)
4. Переключает iptables на legacy
5. Ставит fail2ban (jail sshd, ваш текущий IP в ignoreip)
6. UFW: открыты SSH, 80, 443
7. Caddy (опционально — с reverse_proxy на домен)
8. Блокировка IP по внешнему списку через ipset + cron (`/etc/cron.d/ban-blacklist`)
9. Запрещает вход root по SSH и блокирует пароль root
10. Предлагает перезагрузку
Лог: `/var/log/vps-setup.log`.
## Без вопросов
Любой ответ можно передать переменной окружения:
```bash
curl -fsSL https://gitea.hsrv.site/mrleo1nid/vps_installer/raw/branch/main/setup.sh | sudo NEW_USER=admin NEW_HOSTNAME=vps1.example.com INSTALL_CADDY=y DOMAIN=example.com UPSTREAM=127.0.0.1:8080 INSTALL_BLOCKLIST=y HARDEN_SSH=y bash
```
Переменные: `NEW_USER`, `NEW_PASS`, `NEW_HOSTNAME`, `INSTALL_CADDY`, `DOMAIN`, `UPSTREAM`,
`INSTALL_BLOCKLIST`, `BLOCKLIST_URL`, `HARDEN_SSH`, `DO_REBOOT`.