Apache Setup
For servers running Apache.
1. Set Variables
bash
export ACME_SERVER="your Server URL"
export EAB_KID="your EAB MAC ID"
export EAB_HMAC_KEY="your EAB MAC key"
export EMAIL="admin@example.com"
export DOMAIN="example.com"
export WEBROOT="/var/www/example.com/public"2. Install acme.sh
bash
curl https://get.acme.sh | sh -s email="$EMAIL"3. Register the ACME Account
bash
~/.acme.sh/acme.sh --register-account \
--server "$ACME_SERVER" \
--eab-kid "$EAB_KID" \
--eab-hmac-key "$EAB_HMAC_KEY" \
-m "$EMAIL"4. Issue the Certificate
bash
~/.acme.sh/acme.sh --issue \
--server "$ACME_SERVER" \
-d "$DOMAIN" \
-w "$WEBROOT"5. Install the Certificate
bash
sudo mkdir -p "/etc/ssl/12ssl/$DOMAIN"
sudo ~/.acme.sh/acme.sh --install-cert -d "$DOMAIN" \
--key-file "/etc/ssl/12ssl/$DOMAIN/privkey.pem" \
--fullchain-file "/etc/ssl/12ssl/$DOMAIN/fullchain.pem" \
--reloadcmd "systemctl reload apache2 || systemctl reload httpd"6. Configure Apache
Ubuntu / Debian:
bash
sudo a2enmod ssl rewrite
sudo nano /etc/apache2/sites-available/example.com.confExample:
apache
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public
SSLEngine on
SSLCertificateFile /etc/ssl/12ssl/example.com/fullchain.pem
SSLCertificateKeyFile /etc/ssl/12ssl/example.com/privkey.pem
</VirtualHost>Enable and reload:
bash
sudo a2ensite example.com.conf
sudo apachectl configtest
sudo systemctl reload apache2CentOS / AlmaLinux / Rocky Linux:
bash
sudo apachectl configtest
sudo systemctl reload httpd7. Check
bash
curl -I "https://$DOMAIN"Open:
text
https://example.com