ajouts pour acme.sh

This commit is contained in:
Jérémy Lecour 2021-10-27 14:25:52 +02:00 committed by Jérémy Lecour
parent bcab39650c
commit 6d4d6c9e88

View file

@ -7,7 +7,7 @@ acme.sh est un client pour les autorités de certificats SSL/TLS qui utilisent l
* Documentation: <https://wiki.acme.sh>
## 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 dun certificat, les fichiers de base sont stockés dans une structure interne (susceptible de changer sans préavis).
Lors de la génération dun 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 dinstaller les fichiers nécessaires.
Il faut donc utiliser les fonctions de déploiements afin dinstaller 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 <https://github.com/acmesh-official/acme.sh/wiki/Deploy-ssl-certs-to-apache-server>):
~~~
# 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 <https://github.com/acmesh-official/acme.sh/wiki/deployhooks>.
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 dun certificat