Installer Let's Encrypt Wildcard SSL pour CentOS et le panneau de contrôle VestaCP

Guide d'installation d'un certificat SSL

Let's Encrypt est une autorité de certification à but non lucratif qui fournit des certificats X.509 gratuits pour le chiffrement TLS via un processus automatisé, conçu pour remplacer la procédure manuelle complexe de création, vérification, signature, installation et renouvellement des certificats pour les sites web sécurisés. Let's Encrypt a récemment introduit un certificat Wildcard pour votre domaine : vous pouvez désormais utiliser SSL sans wildcard pour votre domaine et pour plusieurs sous-domaines avec un seul certificat SSL.

Ce guide est compatible avec les distributions Linux telles que CentOS, Ubuntu et Debian. L'installation est présentée ici avec CentOS. Pour installer git sur Ubuntu ou Debian, utilisez le gestionnaire de paquets apt-get à la place de yum.

  • Installer le script acme.sh :
cd /root
yum -y install socat git
git clone https://github.com/Neilpang/acme.sh.git
cd ./acme.sh
./acme.sh --install

Après l'installation, une tâche cron sera créée pour renouveler automatiquement le certificat.

  • Soumettre une demande d'émission :
bash acme.sh --issue -d mecmep.site -d *.mecmep.site --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

Remplacez mecmep.site par votre propre nom de domaine.

  • Le script génère 2 enregistrements TXT à ajouter dans le panneau DNS :
[Mon Apr 13 14:06:52 MSK 2020] Domain: '_acme-challenge.mecmep.site'
[Mon Apr 13 14:06:52 MSK 2020] TXT value: 'lGcZEqos8Ki_4Yl_MvTC8OF54Ixjkp_SHKLqZ7ba7G8'
...
[Mon Apr 13 14:06:52 MSK 2020] Domain: '_acme-challenge.mecmep.site'
[Mon Apr 13 14:06:52 MSK 2020] TXT value: 'GfIz0ovmKkHmHmwN1BV57Vc2IwZeBXPCY5s2M24VWQN3I'

Lors de l'ajout d'un enregistrement, pensez à faire suivre le nom de l'enregistrement d'un point. Par exemple :

TXT record _acme-challenge.mecmep.site.
value : "lGcZEqos8Ki_4Yl_MvTC8OF54Ixjkp_SHKLqZ7ba7G8"
TXT record _acme-challenge.mecmep.site.
value : "GfIz0ovmKkHmwN1BV57Vc2IwZeBXPCY5s2M24VWQN3I"

file

  • Vérifier que les enregistrements DNS ont bien été mis à jour :
dig txt +short _acme-challenge.mecmep.site
"GfIz0ovmKkHmwN1BV57Vc2IwZeBXPCY5s2M24VWQN3I"
"lGcZEqos8Ki_4Yl_MvTC8OF54Ixjkp_SHKLqZ7ba7G8"
  • Une fois le DNS mis à jour, reprendre l'émission du certificat :
bash acme.sh --renew -d mecmep.site -d *.mecmep.site --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please  
[Mon Apr 13 14:16:47 MSK 2020] Renew: 'mecmep.site'
[Mon Apr 13 14:16:48 MSK 2020] Multi domain='DNS:mecmep.site,DNS:*.mecmep.site'
[Mon Apr 13 14:16:49 MSK 2020] Getting domain auth token for each domain
[Mon Apr 13 14:16:49 MSK 2020] Verifying: mecmep.site
[Mon Apr 13 14:16:53 MSK 2020] Success
[Mon Apr 13 14:16:53 MSK 2020] Verifying: *.mecmep.site
[Mon Apr 13 14:16:57 MSK 2020] Success
[Mon Apr 13 14:16:57 MSK 2020] Verify finished, start to sign.
[Mon Apr 13 14:16:57 MSK 2020] Lets finalize the order, Le_OrderFinalize: https://acme-v02.api.letsencrypt.org/acme/finalize/83278451/2986784558
[Mon Apr 13 14:16:58 MSK 2020] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/04445ffc3799e6e4ab158437a6730fb44031
[Mon Apr 13 14:16:59 MSK 2020] Cert success.
-----BEGIN CERTIFICATE-----
MIIFXTCCBEWgAwIBAgISBERf/DeZ5uSrFYQ3pnMPtEAxMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA0MTMxMDE2NThaFw0y
MDA3MTIxMDE2NThaMBYxFDASBgNVBAMTC21lY21lcC5zaXRlMIIBIjANBgqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnF3K+VKC1F1/UBYKdjzzE0QRNa0Du7HzOcuZ
nMOT1TTpsiKIMmwHJMJ9rk1cjn+gWdy+kRxWpFz1giX/tO98GGOU5BvHHEsVW4vN
8JWkWfIA0YYJAEC0vk4iOrUv+HUfjmeHQNKawqKOsnMAAAAFxc0G0qAABAMASDBG
AiEAslEjKLDqUWZ6kX/QDAkFsZ6zbS/qg2zh3QT6duingACIQDY8LijAUZ+Yvfz
olc1F1Y08u3mhbKv1ykI4wMJ5X3dxAB1ALIeBcyLos2KIE6HZvkruYolIGdr2vpw
57JJUy3vi5BeAAABcXNBtpYAAAQDAEYwRAIgJEGmMpNk7pRcLcLwhcmGWIlkJODATc
LDKll/pQ7URhMikCIBo2BVWheYL2XgAuHKNgPic4j5gAmVqBWF9riNKGyH1MA0G
CSqGSIb3DQEBCBCwUAA4IBAQAUwvSV8tNLzrO1/ghDU26y5CNszRouyv8RpMOq1zmO
h6p9UzZlmWULtBQiObTcZAqb3CVsm6F3fU9CbX80uB3yAE1vqjMCkcadIuyAGL+R
EfBG2fQ8WGTRfTylljqz0ctfet/2kWQvWjAtS8P+DeZVbcbO6ubKtHw8SF1bw/v9
s3D13jnxnNJn979+bTQUtVZ8eCcctJfJNHKoe54gC5lF2UlHJTy2SXHtQlG5kw9i
7z/Ag01qItgUBqdKeBZc+tLwfZhXlR46sHn3PTMlPwzuDiEu8TFQKcx6zewzOz1U
tIs5N7XCrdnZsJy0FLG6wJSyszDTldeCLwdWgxPOAEcn
-----END CERTIFICATE-----
[Mon Apr 13 14:16:59 MSK 2020] Your cert is in /root/.acme.sh/mecmep.site/mecmep.site.cer 
[Mon Apr 13 14:16:59 MSK 2020] Your cert key is in /root/.acme.sh/mecmep.site/mecmep.site.key 
[Mon Apr 13 14:16:59 MSK 2020] The intermediate CA cert is in /root/.acme.sh/mecmep.site/ca.cer 
[Mon Apr 13 14:16:59 MSK 2020] And the full chain certs is there: /root/.acme.sh/mecmep.site/fullchain.cer 

Vous obtiendrez ainsi le certificat, la clé et la chaîne à intégrer dans les fichiers de configuration d'Apache et de Nginx, en remplaçant les entrées existantes :

Apache :

/home/admin/conf/web/mecmep.site.apache2.ssl.conf, où mecmep.site est le nom de domaine
    SSLCertificateFile /root/.acme.sh/mecmep.site/mecmep.site.cer
    SSLCertificateKeyFile /root/.acme.sh/mecmep.site/mecmep.site.key
    SSLCertificateChainFile /root/.acme.sh/mecmep.site/fullchain.cer

Nginx :

/home/admin/conf/web/mecmep.site.nginx.ssl.conf, où mecmep.site est le nom de domaine
    ssl_certificate /root/.acme.sh/mecmep.site/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/mecmep.site/mecmep.site.key;
  • Redémarrer Apache et Nginx :
# systemctl restart apache2
# systemctl restart nginx

Pour renouveler les certificats, exécutez cette commande après 90 jours et mettez à jour l'enregistrement TXT DNS comme indiqué ci-dessous :

acme.sh --issue -d mecmep.site -d *.mecmep.site --dns --force --yes-I-know-dns-manual-mode-enough-go-ahead-please

Où mecmep.site est le nom de votre domaine.

file


Renouvellement automatique des certificats Let's Encrypt via une tâche Cron — ajoutez ce cron quotidien pour activer la vérification du renouvellement automatique :

0 0 * * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

Vous pouvez vérifier que le certificat est correctement installé à l'aide de ce service.

file


Si vous rencontrez des difficultés de configuration ou avez des questions supplémentaires, vous pouvez contacter notre équipe d'assistance à tout moment via le système de tickets.

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter