v2.1 — Now with backup system & remote sync

Deploy sites
from your terminal.

One script to manage Nginx, WordPress, PHP, and reverse proxy sites. SSL, SFTP, backups, and multi-distro support built in.

>_ Quick Install View on GitHub
bash — webctl.sh
$ sudo bash webctl.sh

=================================================
WEB SETUP SCRIPT v2.1
Nginx * WordPress * PHP * Reverse Proxy
=================================================

ACTIONS

1 | Create a new site
2 | Edit a site
3 | List all sites
4 | Renew SSL certificates
5 | Setup SSL auto-renewal
6 | Backup Manager
7 | Delete a site
8 | Exit

> Choose an option [1-8]: _

Features

Everything you need.

From zero to production in minutes. Automated dependency installation, secure defaults, and smart configuration.

WP

WordPress Ready

Automated WordPress install with database creation, PHP-FPM pools, wp-config generation, security hardening, and ImageMagick for AVIF/WebP support.

S

SSL & Auto-Renewal

Let's Encrypt certificates via Certbot with automatic systemd timer renewal. Zero-downtime nginx reload on cert updates.

B

Backup & Restore

Full site + database backups with configurable retention. Scheduled via systemd timers. Remote sync to Backblaze B2, S3, or any rsync/rclone target.

F

SFTP Access

Chroot-jailed SFTP users per site. Secure file access without giving shell access. Works with FileZilla and any SFTP client.

A

Multi-Distro

Works on Debian, Ubuntu, Arch Linux, Manjaro, EndeavourOS, and more. Auto-detects package manager, paths, and service names.

R

Reverse Proxy

Proxy Node.js, Python, Go, or any backend through Nginx with WebSocket support, proper headers, and optional SSL termination.

Get started

Install in seconds.

Download the script, make it executable, and run it. That's it.

curl -O https://raw.githubusercontent.com/SeanGSR/webctl/main/webctl.sh copy
chmod +x webctl.sh && sudo bash webctl.sh copy

Requires: Linux (Debian/Ubuntu or Arch-based) • Root access