From 6d4d6c9e886824464318fb8c48da75ebe7f97e4c Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Wed, 27 Oct 2021 14:25:52 +0200 Subject: [PATCH] ajouts pour acme.sh --- HowtoAcme.sh.md | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/HowtoAcme.sh.md b/HowtoAcme.sh.md index 81c107c2..909e50ea 100644 --- a/HowtoAcme.sh.md +++ b/HowtoAcme.sh.md @@ -7,7 +7,7 @@ acme.sh est un client pour les autorités de certificats SSL/TLS qui utilisent l * Documentation : -## Installation +## Installation et configuration ### Installation initiale @@ -143,11 +143,45 @@ Pour générer un certificat simple pour "www.example.com" avec un challenge `ht _TODO_ -## Déploiement +## Mise en œuvre des certificats -Lors de la génération d’un certificat, les fichiers de base sont stockés dans une structure interne (susceptible de changer sans préavis). +Lors de la génération d’un certificat, les fichiers de base sont stockés dans une structure interne (susceptible de changer sans préavis). Il faut donc utiliser les fonctions de déploiements afin d’installer les fichiers nécessaires. -Il faut donc utiliser les fonctions de déploiements afin d’installer les fichiers nécessaires. +Acme.sh propose 2 approches complémentaires pour la mise en œuvre des certificats : installation et déploiement. + +### Installation locale + +C'est le meilleur moyen de copier les fichiers de certificats dont on a besoin à un emplacement prévu et de recharger le service associé. + +Exemple pour un serveur web Apache local (voir ): + +~~~ +# acme.sh --install-cert --domain www.example.com --key-file /etc/apache2/ssl/www.example.com/privkey.pem --fullchain-file /etc/apache2/ssl/www.example.com/fullchain.pem --reloadcmd "systemctl reload apache2" +~~~ + +Notez que la configuration des VHosts pour utiliser le certificat n'ets pas faite par acme.sh, il faut le faire soi-même. + +### Scripts de déploiement + +Acme.sh propose toute un catalogue de "hooks" qui peuvent être utilisés. Ils permettent d'exécuter des séquences d'actions beaucoup plus complexes. Voir . + +Les hooks sont installés dans le dossier `/usr/local/lib/acme.sh/deploy`. + +Il en existe un pour HAproxy qui se charge de concaténer les bons éléments et de les faire prendre en compte par HAProxy. + +Il en existe aussi un pour copier les fichiers sur un ou plusieurs serveurs distants par SSH. + +La configuration des hooks passe par des variables d'environnement. + +~~~ +# export DEPLOY_SSH_USER=me +# export DEPLOY_SSH_SERVER=1.2.3.4 +# export DEPLOY_SSH_KEYFILE=/path/to/privkey.pem +# export DEPLOY_SSH_FULLCHAIN=/path/to/fullchain.pem +# acme.sh --deploy --domain www.example.com --deploy-hook ssh +~~~ + +Les commandes sont à exécuter une seule fois à la mise en œuvre d'un certificat. Acme.sh se souvient des actions et les exécute toutes à nouveau lors des renouvelements, grace à la persistence de la configuration dans `/etc/acme.sh/www.example.com/www.example.com.conf`. ## Renouvellement d’un certificat