nuage de tags sur la liste, suppression dropdown navbar, rôles/droits sur le profil
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,142 @@
|
||||

|
||||
|
||||
**Certbot** est un binaire qui permet de mettre en œuvre un certificat SSL pour un domaine d'un site Internet.
|
||||
|
||||
Voici les actions a effectuer sur **Linux** **Debian 10**.
|
||||
|
||||
Depuis 2020, **certbot** est installé depuis **snapcraft**.
|
||||
|
||||
## - Installer snap
|
||||
Si vous n'avez pas encore installé **snap**, il faut executer les commandes suivantes dans un **terminal**. Les commandes doivent avoir une élevation des droits.
|
||||
|
||||
sudo apt update
|
||||
sudo apt install snapd
|
||||
sudo snap install core
|
||||
|
||||
Si **snap** est déjà installé, assurez-vous d'être à jour :
|
||||
|
||||
sudo snap refresh core
|
||||
|
||||
|
||||
## - Installer certbot
|
||||
Exécutez la commande suivante oour installer **cerbot** sur votre machine. Ceci est a exéctuer dans un terminal.
|
||||
|
||||
sudo snap install --classic certbot
|
||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||
|
||||
## - Générer un certificat - gestion manuelle
|
||||
Si vous suivez ce guide, je vous conseille une gestion manuelle de vos certificats.
|
||||
|
||||
Il y a deux variables :
|
||||
| dirWeb | Dossier des données du site. Pour habitude, c'est quelque chose du genre `/var/www/html/` | |
|
||||
| ---------------------------------------------------------------------------------------------------- |
|
||||
| siteName | Nom du site Internet. Par exemple `abonnel.fr` | |
|
||||
|
||||
```BASH
|
||||
read -p "Quel est votre nom de domaine ? " siteName
|
||||
read -p "Dossier Web du site ? " dirWeb
|
||||
sudo certbot certonly --webroot -w $dirWeb -d $siteName --register-unsafely-without-email
|
||||
```
|
||||
|
||||
L'avantage de ce script :
|
||||
- pas d'arrêt d'Apache 2
|
||||
- pas de mail à saisir
|
||||
- autonomie sur la configuration Apache 2
|
||||
|
||||
Quelques **chemins** à retenir :
|
||||
|
||||
| fichier de configuration | /etc/letsencrypt/renewal/$siteName.conf | |
|
||||
| ---------------------------------------------------------------------- |
|
||||
| dossier archive | /etc/letsencrypt/archive/$siteName | |
|
||||
| fichier cert | /etc/letsencrypt/live/$siteName/cert.pem | |
|
||||
| fichier privkey | /etc/letsencrypt/live/$siteName/privkey.pem | |
|
||||
| fichier chain | /etc/letsencrypt/live/$siteName/chain.pem | |
|
||||
| fichier fullchain | /etc/letsencrypt/live/$siteName/fullchain.pem | |
|
||||
|
||||
Pour enregistrer un domaine principal avec et sans les **www**, il faut utiliser le script suivant :
|
||||
```BASH
|
||||
echo "Quel nom de domaine (avec www) ?"
|
||||
read siteNameWww
|
||||
echo "Quel nom de domaine (sans les www) ?"
|
||||
read siteName
|
||||
sudo certbot certonly --webroot -w /var/www/html/ -d $siteName -d $siteNameWww --register-unsafely-without-email
|
||||
```
|
||||
|
||||
## - Générer un certificat - gestion automatique
|
||||
Si vous avez effectué le paragraphe précédent , il est inutile de suivre les recommandations de ce chapitre.
|
||||
|
||||
Exécutez le commande suivant pour générer un certificat et édité votre configuration Apache de manière automatique. Le protocole **https** s'active de manière automatique, en une seule étape.
|
||||
|
||||
sudo certbot --apache
|
||||
|
||||
|
||||
|
||||
## - Renouveler les certificats automatiquement
|
||||
Éditer la tâche des tâches Linux du compte `root`, *crontab* :
|
||||
```
|
||||
sudo crontab -e
|
||||
```
|
||||
|
||||
La tâche doit exécutée le programme `certbot` avec l'option de renouvellement, `renew`. L'option `post-hook` permet d'indiquer la commande à exécuter après le traitement de `certbot`. Dans notre cas, on demande à `systemctl` de recharger la configuration `Apache 2`.
|
||||
|
||||
```
|
||||
0 23 1-7 */2 4 python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/bin/certbot renew --post-hook "systemctl reload apache2" >> /var/log/letsencrypt/renew.log
|
||||
```
|
||||
|
||||
Explications :
|
||||
<html><pre>
|
||||
Tous les deux mois ( 0 23 1-7 <strong>*/2</strong> 4 )
|
||||
à 23 heures ( <strong>0 23</strong> 1-7 */2 4 ),
|
||||
le premier jeudi ( 0 0 <strong>1-7</strong> */2 <strong>4</strong> ),
|
||||
lancement d'un script Python, qui retarde 1 heure au maximum (random.random() * 3600),
|
||||
l’exécution de la mise à jour de certbot.
|
||||
</pre></html>
|
||||
|
||||
Vous pouvez trouver d'autres informations sur la page <https://crontab.guru/#0_23_1-7_*/2_4>
|
||||
|
||||
## - Afficher les dates du certificats
|
||||
Pour afficher les dates de génération et d'expiration d'un certificat en local sur un serveur :
|
||||
|
||||
```
|
||||
sudo ls /etc/letsencrypt/live/
|
||||
read -p "Quel est votre nom de domaine ?" siteName
|
||||
sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/$siteName/fullchain.pem
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Pour afficher les dates de génération et d'expiration d'un certificat d'un site distant :
|
||||
|
||||
```
|
||||
openssl s_client -connect www.w3.org:443| openssl x509 -noout -dates
|
||||
```
|
||||
|
||||
Exemple de résultat :
|
||||
|
||||

|
||||
## - Réinitialiser la configuration Let's Encrypt
|
||||
Façon documentée :
|
||||
|
||||
```BASH
|
||||
echo Affichage des noms possibles :
|
||||
sudo ls /etc/letsencrypt/live
|
||||
echo .
|
||||
echo "Quel nom de domaine ?"
|
||||
read siteName
|
||||
certbot delete --cert-name $siteName
|
||||
```
|
||||
|
||||
Façon brutale :
|
||||
|
||||
```BASH
|
||||
#!/bin/bash
|
||||
# réinitialiser let's encrypt pour un domaine precis
|
||||
echo Affichage des noms possibles :
|
||||
sudo ls /etc/letsencrypt/live
|
||||
echo .
|
||||
echo "Quel nom de domaine ?"
|
||||
read siteName
|
||||
sudo rm -fr /etc/letsencrypt/live/$siteName/
|
||||
sudo rm /etc/letsencrypt/renewal/$siteName.conf
|
||||
sudo rm -fr /etc/letsencrypt/archive/$siteName/
|
||||
```
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"uuid": "c5c1ae75-bf4e-4526-ab1e-a5583292aad9",
|
||||
"slug": "ssl-let-s-encrypt-certbot",
|
||||
"title": "certbot pour Let's Encrypt",
|
||||
"author": "cedric.abonnel@gmail.com",
|
||||
"published": true,
|
||||
"published_at": "2023-02-10 22:48:33",
|
||||
"created_at": "2023-02-10 22:48:33",
|
||||
"updated_at": "2023-02-10 22:48:33",
|
||||
"revisions": [],
|
||||
"cover": "",
|
||||
"files_meta": [],
|
||||
"external_links": [],
|
||||
"seo_title": "",
|
||||
"seo_description": "",
|
||||
"og_image": "",
|
||||
"category": "Informatique"
|
||||
}
|
||||
Reference in New Issue
Block a user