MODRACX

← Archive & Insights

Building Webadmin: Single-Binary Apache2 & Nginx Management Suites in Go & React

Traditional web control panels like cPanel or Plesk consume significant RAM and install invasive background daemons. I built Webadmin as lightweight, standalone Go binaries embedding compiled React SPAs to manage Apache2 and Nginx virtual hosts, Let's Encrypt SSL certificates, UFW firewalls, and PHP-FPM pools safely.

By Kenneth D'SilvaReading Time: 15 min readCategory: Architecture & Cloud

1. The Problem with Heavy Control Panels

On lean cloud instances running Magento 2 or high-concurrency Node apps, installing heavy control panels adds memory overhead and security vulnerabilities. Configuring Nginx vhosts, Let's Encrypt SSL certbot renewals, PHP-FPM socket pools, and UFW firewall rules via command line can be error-prone during live maintenance.

2. Single Binary Architecture

I engineered `Apache-Webadmin` and `Nginx-Webadmin` in Go, utilizing `embed.FS` to embed compiled React SPAs directly into single static binaries. The system executes with a non-root daemon model using scoped sudo privileges for maximum security.

  • Virtual Host Management: Visual editor for site creation, activation, SSL configuration, and proxy upstreams.
  • Integrated Let's Encrypt: Automated Certbot SSL issuance and renewal workflows.
  • Security & Firewall: UFW firewall rule configuration with lockout protection mechanisms.
  • Audit Trail & Logs: Real-time log tailing and full configuration change audit trails.

3. Open Source Repository

Explore Webadmin on GitHub: github.com/Modracx/Webadmin.