kb:crypto:letsencrypt
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| kb:crypto:letsencrypt [2018/04/07 00:28] – beu | kb:crypto:letsencrypt [2022/10/14 09:30] (Version actuelle) – [Signature du certificat] beu | ||
|---|---|---|---|
| Ligne 23: | Ligne 23: | ||
| Pour chaque domaines, nous allons créer les dossiers où seront stocké les certificats et les clés: | Pour chaque domaines, nous allons créer les dossiers où seront stocké les certificats et les clés: | ||
| - | < | + | < |
| - | # mkdir -p /etc/letsencrypt/wiki.virtit.fr/live | + | # mkdir -p /etc/ssl/custom-certbot/{live,archive}/ |
| - | # mkdir -p / | + | |
| </ | </ | ||
| - | puis on génère | + | puis on génère |
| - | < | + | < |
| - | # openssl ecparam -name prime256v1 -genkey -out /etc/letsencrypt/wiki.virtit.fr/ | + | # openssl ecparam -name prime256v1 -genkey -out /etc/ssl/custom-certbot/ |
| - | # openssl req -new -key / | + | |
| </ | </ | ||
| - | Ces certificats seront unique mais pensez à les renouveler | + | Puis le certificat publique |
| + | |||
| + | <code bash> | ||
| + | # openssl req -new -subj "/ | ||
| + | </ | ||
| + | |||
| + | Ces certificats seront unique mais pensez à les renouveler | ||
| ====Signature du certificat==== | ====Signature du certificat==== | ||
| Ligne 41: | Ligne 45: | ||
| Pour signer votre certificat, il faut lancer la commande suivante : | Pour signer votre certificat, il faut lancer la commande suivante : | ||
| - | < | + | < |
| - | # certbot certonly --webroot -w / | + | # certbot certonly --webroot -w / |
| </ | </ | ||
| ====Renouvellement du certificat==== | ====Renouvellement du certificat==== | ||
| - | Pour renouveler le certificat, | + | Pour renouveler le certificat, |
| Je vous conseil d' | Je vous conseil d' | ||
| - | < | + | < |
| - | 0 2 1 * * root /bin/mv / | + | 0 2 * * * root /opt/renew-cert.sh |
| </ | </ | ||
| - | Il faudra adapter la dite commande avec le bon domaine. | + | et créer |
| + | |||
| + | <code bash / | ||
| + | # | ||
| + | |||
| + | PATH="/ | ||
| + | cd / | ||
| + | TEMP=`mktemp -d` | ||
| + | NOW_SECONDS=`date ' | ||
| + | NEEDTORELOAD=0 | ||
| + | |||
| + | for i in * ; do | ||
| + | END_DATE=`openssl x509 -dates -noout -in ${i}/ | ||
| + | END_DATE_SECONDS=`date ' | ||
| + | REMAINING_DAYS=`echo " | ||
| + | if [ " | ||
| + | NEEDTORELOAD=1 | ||
| + | echo " | ||
| + | mkdir ${TEMP}/ | ||
| + | / | ||
| + | EXITCODE=$? | ||
| + | if [ " | ||
| + | if [ ! -d "/ | ||
| + | mkdir / | ||
| + | fi | ||
| + | mv ${i}/ | ||
| + | mv ${i}/ | ||
| + | mv ${i}/ | ||
| + | mv ${TEMP}/ | ||
| + | fi | ||
| + | else | ||
| + | if [ -t 1 ] ; then | ||
| + | echo " | ||
| + | fi | ||
| + | fi | ||
| + | |||
| + | done | ||
| + | |||
| + | if [ " | ||
| + | echo " | ||
| + | systemctl reload nginx | ||
| + | fi | ||
| + | rm -r $TEMP | ||
| + | </ | ||
| - | La fonction post-hook ne fonctionne pas par cette méthode, rajoutez une tache cron quelques minutes plus tard pour reload | + | Il faudra le rendre exécutable, et ajouter les commandes nécessaires au rechargement des services dans le script. |
kb/crypto/letsencrypt.1523060912.txt.gz · Dernière modification : de beu
