Skip to main content

Automatic SSL

ZyveraWeb includes a built-in ACME v2 client that can obtain free SSL certificates from Let's Encrypt automatically.

Overview

The ACME (Automatic Certificate Management Environment) protocol allows automatic certificate issuance and renewal. ZyveraWeb supports:

  • HTTP-01 Challenge — Domain validation via HTTP (requires port 80)
  • DNS-01 Challenge — Domain validation via DNS TXT records (no port 80 needed)

Prerequisites

  • A domain name pointing to your server's IP address
  • For HTTP-01: Port 80 must be accessible from the internet
  • For DNS-01: Access to your DNS provider to add TXT records
  • Outbound HTTPS access to acme-v02.api.letsencrypt.org

Workflow

1. /zyveraweb acme start <domain> [http|dns]
         │
         ├── HTTP → Challenge files created, validated immediately
         │          Certificate issued and saved
         │
         └── DNS → TXT record details displayed
                    Run /zyveraweb acme confirm after DNS propagation
                    Certificate issued and saved

Commands Reference

Step Command Description
1 /zyveraweb acme start <domain> [http|dns] Begin the ACME process for a domain
2 /zyveraweb acme tos Accept Let's Encrypt Terms of Service
3 /zyveraweb acme confirm (DNS only) Confirm DNS propagation and finalize
4 (automatic) Certificate saved to ssl/<domain>/ folder

After Certificate Issuance

  1. The certificate and key are saved to plugins/ZyveraWeb/ssl/<domain>/.
  2. Add an ssl: block to the site config for that domain pointing to the certificate files.
  3. Restart the web server: /zyveraweb server restart.
  4. Your site is now available over HTTPS.

Example site config with SSL:

sites:
  - domain: "example.com"
    dir: "site/example"
    ssl:
      cert: fullchain.pem
      key: privkey.pem

Renewal

Let's Encrypt certificates are valid for 90 days. ZyveraWeb does not auto-renew. You should periodically re-run the ACME workflow (e.g., via a cron job every 60 days).