Ce tutoriel explique pas à pas comment installer un certificat SSL TrustSign, Sectigo ou Comodo via ACME en utilisant acme.sh. Il couvre l’ensemble de la procédure, depuis les prérequis et la configuration de l’environnement jusqu’à l’émission et l’installation du certificat. Les erreurs les plus courantes rencontrées lors du déploiement sont également présentées, accompagnées de leurs causes possibles et des correctifs recommandés.
Ce document s’adresse aux clients ayant souscrit à un certificat compatible ACME et disposant des identifiants nécessaires. Pour exécuter les commandes dans de bonnes conditions, il est nécessaire de disposer des privilèges administrateur, en étant connecté en root ou après élévation via sudo su.
Avant toute installation, assurez-vous que votre domaine pointe vers votre serveur.
Type : A
Nom : @
Valeur : IP du serveur
Sans cette configuration, la génération du certificat échouera.
1. Installation de acme.sh
Installer le client ACME sur le serveur.
curl https://get.acme.sh | sh && source ~/.bashrc
Erreurs possibles :
- Commande curl bloquée → vérifier connexion internet
- acme.sh non disponible → relancer l’installation en root
2. Installation de acme.sh
Enregistrer le compte avec les identifiants EAB qui vous sont fournis à l’achat de votre certificat :
acme.sh --register-account \
-m admin@votredomaine.tld \
--server <url fournie dans votre dashboard HTTPCS> \
--eab-kid VOTRE_KID \
--eab-hmac-key VOTRE_HMAC
Erreurs possibles :
- Mauvais EAB (kid/hmac) → vérifier copier/coller
- Mauvaise URL serveur → utiliser l’URL donné sur votre espace HTTPCS
3. Génération du certificat
Créer le certificat via validation HTTP (webroot) :
acme.sh --issue \
-d mondomaine.tld \
-w /var/www/html \
--server <url fournie dans votre dashboard HTTPCS>
Erreurs possibles :
- Port 80 fermé → ouvrir firewall
- Mauvais webroot → vérifier dans /var/www/*
- Domaine non pointé → vérifier DNS A record
* : Pour trouver votre dossier maître html, vous pouvez utiliser la commande ls /var/www/.
Dans le cadre de ce tutoriel, le dossier est nommé html mais cela ne sera pas forcément votre cas
4. Installation du certificat et déploiement système
Implémenter le certificat dans le système /etc/ssl et recharger Nginx.
acme.sh --install-cert -d mondomaine.tld
--key-file /etc/ssl/private/mondomaine-acme.key
--fullchain-file /etc/ssl/certs/mondomaine-acme.crt
--reloadcmd "systemctl reload nginx"
ls -l /etc/ssl/private/
ls -l /etc/ssl/certs/
Erreurs possibles :
- Permission refusée → exécuter en root
- Mauvais chemin → vérifier chemins ssl
5. Configuration Nginx
Configurer Nginx pour utiliser le certificat ACME.
ssl_certificate /etc/ssl/certs/mondomaine-acme.crt;
ssl_certificate_key /etc/ssl/private/mondomaine-acme.key;
ssl_trusted_certificate /etc/ssl/certs/mondomaine-ca.crt;
systemctl reload nginx
Erreurs possibles :
- Mauvais fichier chargé → vérifier sites-enabled
- Oubli reload nginx → systemctl reload nginx
6. Vérification SSL
Vérifier avec openssl et navigateur.
openssl s_client –connect mondomaine.tld :443 – servername mondomaine.tld
Erreurs possibles :
- Mauvais cert → vérifier chemin nginx
7. Vérification navigateur
Confirmer que le certificat est valide côté client.
Erreurs possibles :
- Certificat non sécurisé → problème chaîne CA
- Ancien certificat affiché → vider cache navigateuro
8. Renouvellement automatique
Vérifier la présence du cron pour renouvellement automatique.
crontab -l
Erreurs possibles :
- Pas de cron → relancer installation acme.sh
- Certificat expiré → tester acme.sh --cron
Points critiques à vérifier avant installation
- Le domaine pointe vers le serveur (DNS configuré)
- Le port 80 est accessible publiquement
- Nginx est actif
- Les chemins SSL sont cohérents
Bonnes pratiques
- Toujours tester avec openssl après installation
- Ne jamais supprimer les anciens certificats sans vérification
- Vérifier le cron régulièrement
Conclusion
L’installation est complète lorsque le certificat est actif, reconnu par le navigateur et renouvelé automatiquement.