README

LEMP Stack Installer


Automated Bash script to provision a production-ready LEMP web server on Ubuntu. One command install, per-site isolation, FastCGI cache, and WordPress auto-setup.

Requirements


Stack Components


NGINX (nginx.org) PHP 8.4 FPM MariaDB 11.4 Redis (Socket + TCP) phpMyAdmin Filebrowser WP-CLI ionCube Loader Fail2Ban iptables (v4+v6) Bad Bot Blocker TCP BBR Sysctl Tuning Let's Encrypt Swap (2 GB)

Features


Site Types


Install


bash <(curl -fsSL https://vps.fio.link/install.sh)

Add Site


SSL options: le (Let's Encrypt), self (Self-signed), none (HTTP only)

WordPress

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -php 8.4 -app wordpress -ssl le

General PHP App

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -php 8.4 -app general -ssl le

Static Site

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -static -ssl le

Reverse Proxy — Single Backend

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -backends '127.0.0.1:3000' -ssl le

Reverse Proxy — SSL Backend

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -backends 'https://127.0.0.1:3000' -ssl le

Reverse Proxy — Load Balancer

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -backends '127.0.0.1:3000,127.0.0.1:3001' -ssl le

Reverse Proxy — Path-based Routing

bash <(curl -fsSL https://vps.fio.link/add-site.sh) -d domain.com -routes '/api=http://127.0.0.1:3000,/admin=http://127.0.0.1:4000' -ssl le

Remove Site


bash <(curl -fsSL https://vps.fio.link/rm-site.sh) -d domain.com

Uninstall


bash <(curl -fsSL https://vps.fio.link/uninstall.sh)

Post-Install Info


Directory Structure


/home/<user>/
├── domain.com/
│   └── public_html/      # Document root
├── logs/
│   ├── nginx/            # Access & error logs
│   └── php/              # PHP-FPM slow log
├── tmp/php_sessions/     # PHP sessions (isolated)
└── .summary.md           # Site credentials