MODRACXKENNETH D'SILVA

← Documentation Hub

Webadmin Linux Manager: Reference Manual

A single static Go binary with an embedded React SPA for administering Linux web servers. Manage Apache2 and Nginx virtual hosts, issue Let's Encrypt SSL certificates automatically, supervise PHP-FPM pools, and control UFW firewall rules without external dependencies.

1. Architectural Architecture & Binary Packaging

Heavyweight control panels like cPanel or Plesk consume hundreds of megabytes of RAM, install proprietary Perl/Python wrappers, and overwrite native Debian/Ubuntu configuration files with proprietary formats.

Webadmin is compiled into a single static Go binary with the React frontend embedded via Go's //go:embed directive. It speaks directly to standard Linux system daemons (systemd, nginx, apache2, ufw, certbot) by reading and generating native, human-readable configuration files in /etc/nginx/sites-available/ and /etc/apache2/sites-available/.

2. Quick Installation & Systemd Service

2.1. One-Liner Binary Download

# Download the latest Linux x86_64 binary
curl -sSL https://github.com/Modracx/Webadmin/releases/latest/download/webadmin-linux-amd64 -o /usr/local/bin/webadmin
chmod +x /usr/local/bin/webadmin

2.2. Configure Systemd Service

# /etc/systemd/system/webadmin.service
[Unit]
Description=Webadmin Linux Server Supervisor
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/webadmin --port=9090 --bind=127.0.0.1
Restart=always
RestartSec=5
Environment=WEBADMIN_JWT_SECRET=replace_with_secure_random_string_64char

[Install]
WantedBy=multi-user.target
# Enable and start Webadmin service
sudo systemctl daemon-reload
sudo systemctl enable --now webadmin
sudo systemctl status webadmin

3. Core Subsystem Management

3.1. Virtual Host (VHost) Provisioning

Create and toggle HTTP/HTTPS virtual hosts for Nginx and Apache2 with automatic reverse-proxy configurations, PHP-FPM socket bindings, Brotli/Gzip compression directives, and WebSocket upgrade headers.

3.2. Automated Let's Encrypt SSL Provisioning

Integrates natively with Certbot to issue, install, and configure auto-renewing TLS certificates (including HTTP-01 challenge verification and automated cron renewal checks).

3.3. UFW Firewall Management

Inspect active firewall status, toggle default incoming/outgoing policies, and open/close TCP/UDP ports or IP subnets via graphical toggles that execute native ufw commands safely.

3.4. PHP-FPM Pool Supervisor

Monitor active, idle, and max worker allocations across PHP 7.4, 8.1, 8.2, and 8.3 pools. Adjust pm.max_children, pm.start_servers, and pm.max_requests with live syntax validation.

4. Command-Line Options Reference

Flag / Option Default Description
--port 9090 HTTP port to listen on
--bind 127.0.0.1 IP interface binding (use 127.0.0.1 behind Nginx reverse proxy)
--config-dir /etc/webadmin Directory for Webadmin user accounts and persistent logs
--tls-cert / --tls-key (None) Optional direct HTTPS termination paths for standalone usage