Se actualizeaza sursele:
apt update
Se instaleaza Certbot:
apt install -y python3-certbot-apache
Certbot genereaza certificatele localizate in /etc/letsencrypt/live/silviamarin.ro
a. HTTP Challenge validation
Se opreste serverul Apache apoi se genereaza certificatul:
systemctl stop apache2.service certbot certonly --standalone -d silviamarin.ro -d www.silviamarin.ro
b. Obtinerea certificatelor Let’s Encrypt cu wildcard
Se opreste serverul Apache apoi se genereaza certificatele:
systemctl stop apache2.service certbot certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d 'silviamarin.ro,*.silviamarin.ro'
Certbot furnizeaza instructiuni pentru inregistrarea TXT pentru domeniu:
Please deploy a DNS TXT record under the name _acme-challenge.silviamarin.ro with the following value:
667drNmQL3vX6bu8Yy0wKNBlCny8yrjF1lSaUndc
Once this is deployed,Press ENTER to continue
Se genereaza inregistrarea TXT cu datele furnizate de Certbot in DNS Zone Management a hosting-ului apoi Enter si se continua derularea scriptului.
Pentru freedns.afraid.org se introduce _acme-challenge la „Subdomain” iar inregistrarea TXT la „Destination” pusa intre ghilimele
c. DNS challenge validation
Se opreste serverul Apache apoi se genereaza certificatele:
certbot -d silviamarin.ro, -d www.silviamarin.ro --manual --preferred-challenges dns certonly
Certbot furnizeaza instructiuni pentru inregistrarea TXT pentru domeniu:
Please deploy a DNS TXT record under the name
_acme-challenge.silviamarin.ro with the following value:667drNmQL3vX6bu8YZlgy0wKNBlCny8yrjF1lSaUndcOnce this is deployed,
Press ENTER to continue
Se genereaza inregistrarea TXT cu datele furnizate de Certbot in DNS Zone a hosting-ului apoi Enter si se continua derularea scriptului.
Se deschide apoi fisierul /etc/apache2/sites-available/silviamarin.ro.conf:
nano /etc/apache2/sites-available/silviamarin.ro.conf
Se inlocuieste continutul cu urmatorul:
<VirtualHost *:80>
ServerName silviamarin.ro
ServerAlias www.silviamarin.ro
Redirect permanent / https://silviamarin.ro
DocumentRoot /var/www/silviamarin.ro/html
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName silviamarin.ro
DocumentRoot /var/www/silviamarin.ro/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/silviamarin.ro/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/silviamarin.ro/privkey.pem
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Se activeaza modulul SSL al serverului Apache si se reporneste
a2enmod ssl systemctl restart apache2
Se activeaza suportul pentru „perfect forward secrecy” in modulul ssl:
nano /etc/apache2/mods-available/ssl.conf
Se activeaza „SSLHonorCipherOrder on” si se inlocuieste „SSLCipherSuite HIGH:!aNULL” cu
SSLCipherSuite ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:AES128-SHA:RC4-SHA:HIGH:!aNULL:!MD5:!ADH
Se salveaza fisierul si se reporneste serverul Apache
systemctl restart apache2.service
Mai multe site-uri pe acelasi server Apache
În /etc/apache2/sites-available/ se creeaza fisierele de configurare pentru fiecare domeniu/subdomeniu suplimentar:
mkdir -p /var/www/silviamarin.ro/subdomeniu cp /var/www/html/index.html /var/www/silviamarin.ro/subdomeniu chown -R www-data:www-data /var/www nano /etc/apache2/sites-available/subdomeniu.silviamarin.ro.conf
Se introduc informatiile pentru fiecare site/subdomeniu în parte:
<VirtualHost *:80>
ServerName subdomeniu.silviamarin.ro
ServerAlias www.subdomeniu.silviamarin.ro
Redirect permanent / https://subdomeniu.silviamarin.ro
DocumentRoot /var/www/silviamarin.ro/subdomeniu
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName subdomeniu.silviamarin.ro
DocumentRoot /var/www/silviamarin.ro/subdomeniu
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/silviamarin.ro/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/silviamarin.ro/privkey.pem
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Se salveaza fisierele, se activeaza fiecare site în parte şi se reporneste Apache:
a2ensite subdomeniu.silviamarin.ro.conf
systemctl restart apache2.service
Certificatele Let’s Encrypt se reinnoiesc la fiecare 90 de zile. Pentru reinnoirea cu subdomenii se editeaza fisierul de configurare silviamarin.ro.conf din /etc/letsencrypt/renewal. La [renewalparams] se introduce randul:
allow_subset_of_names = True
Revocarea certificatelor se face cu comanda:
certbot revoke --cert-path /etc/letsencrypt/archive/silviamarin.ro/cert1.pem