Installing a wildcard SSL certificate depends on your server environment (e.g., Apache, Nginx, IIS) and where you got the certificate from (e.g., Let's Encrypt, DigiCert, GoDaddy). Here's a general guide using Let's Encrypt with Certbot, which is free and widely used.
๐ Installing a Wildcard SSL with Let's Encrypt + Certbot
โ
Prerequisites
A registered domain (e.g., example.com)
DNS access to add TXT records
A server with shell access (Linux-based)
Certbot installed
๐ Step-by-Step Instructions
1. Install Certbot
If Certbot isnโt installed yet:
bash
sudo apt update
sudo apt install certbot
2. Install DNS Plugin (for DNS-01 challenge)
Choose the plugin based on your DNS provider. Example for Cloudflare:
bash
sudo apt install python3-certbot-dns-cloudflare
Other plugins include:
certbot-dns-route53 (AWS)
certbot-dns-google
certbot-dns-digitalocean
3. Create API Credentials File
For Cloudflare, create a file like cloudflare.ini:
ini
dns_cloudflare_email = your-email@example.com
dns_cloudflare_api_key = your-global-api-key
Secure it:
bash
chmod 600 cloudflare.ini
4. Request Wildcard Certificate
bash
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /path/to/cloudflare.ini \
-d "*.example.com" -d example.com
This uses the DNS-01 challenge to verify domain ownership.
5. Configure Your Web Server
Point your server to the generated certificate files:
Certificate: /etc/letsencrypt/live/example.com/fullchain.pem
Private Key: /etc/letsencrypt/live/example.com/privkey.pem
For Nginx:
nginx
server {
listen 443 ssl;
server_name *.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
For Apache:
apache
<VirtualHost *:443>
ServerName *.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
๐ Auto-Renewal
Letโs Encrypt certificates expire every 90 days. To auto-renew:
bash
sudo crontab -e
Add:
bash
0 0 * * * certbot renew --quiet
Would you like the steps tailored to a specific DNS provider or server type (e.g., IIS, cPanel, Nginx)?