HTTPS Setup
This tutorial walks through the full process of enabling HTTPS using Let's Encrypt's ACME service.
Prerequisites
- A domain name (e.g.,
example.com) pointing to your server - Port 80 accessible (for HTTP challenge) or DNS control panel access (for DNS challenge)
zyveraweb.acme.usepermission
Method 1: HTTP Challenge (Easier)
Step 1: Configure Port 80
Edit config.yml:
host: "0.0.0.0"
port: 80
sites:
- domain: "example.com"
dir: "site/example"
Step 2: Restart
/zyveraweb server restart
Step 3: Start ACME
/zyveraweb acme start example.com http
The plugin will prompt you to accept the ToS.
Step 4: Accept ToS
/zyveraweb acme tos
The certificate is issued automatically.
Step 5: Enable SSL
Add the ssl block to your site config:
host: "0.0.0.0"
port: 443
sites:
- domain: "example.com"
dir: "site/example"
ssl:
cert: fullchain.pem
key: privkey.pem
Step 6: Restart
/zyveraweb server restart
Step 7: Verify
https://example.com
Method 2: DNS Challenge (No Port 80 Needed)
Step 1: Start ACME
/zyveraweb acme start example.com dns
Step 2: Accept ToS
/zyveraweb acme tos
The plugin displays the TXT record to create.
Step 3: Add DNS Record
Add this TXT record to your DNS zone:
_acme-challenge.example.com IN TXT <validation-string>
Step 4: Wait and Confirm
After the DNS record propagates:
/zyveraweb acme confirm
Step 5: Enable SSL
host: "0.0.0.0"
port: 443
sites:
- domain: "example.com"
dir: "site/example"
ssl:
cert: fullchain.pem
key: privkey.pem
Step 6: Restart
/zyveraweb server restart
Troubleshooting
| Problem | Solution |
|---|---|
| "SSL files not found" | Run the ACME workflow first, or place certificates manually |
| "You have to use port 80" | Switch to DNS challenge or change port to 80 |
| Certificate not trusted | Ensure you used fullchain.pem (not just cert.pem) |
| Browser shows "Not Secure" | Check that all page resources are loaded over HTTPS |
No comments to display
No comments to display