Comme ces plugins nécessitent une des dernières versions de Certbot et qu’ils ne sont pas inclus par défaut, commençons par installer nos dépendances. Nous utiliserons pip afin de s’assurer d’obtenir une version récente, car les gestionaires de paquets des distributions livrent la plupart du temps des versions un peu datées…
Si vous avez déjà une version installée par votre ppa préféré et que vous souhaitez la supprimer avant d’installer la version pip, assurez-vous de faire un petit backup de /etc/letsencrypt. En effet apt purge certbot effacera ce répertoire et vos certificats avec.
apt install python3-pip pip3 install certbot pip3 install certbot-dns-ovh
Nous installons pip de python3. C’est en effet la version de python la plus récente et elle est installée par défaut sur la plupart des systèmes. En outre, l’installation via python2.x pose des problèmes au niveau des dépendances.
Dernier point de cette étape d’installation, la gestion des logs. Certbot log le résultat de chaque commande dans /var/log/letsencrypt. Cependant, pip ne configure aucune politique de rotation des logs. Afin que ces derniers ne s’ammassent pas indéfiniement, on va configurer logrotate pour qu’il les compresse puis qu’il les efface après 6 mois – comme un certificat a une durée de validité de 3 mois, ça semble être un bon compromis.
On place donc un nouveau fichier de config /etc/logrotate.d/certbot avec le contenu suivant :
/var/log/letsencrypt/*.log { monthly rotate 6 compress delaycompress notifempty missingok create 640 root adm }
Deuxième étape, nous allons créer un accès à l’API d’OVH afin que le plugin puisse modifier des enregistrements pour vérifier que le domaine est bien à nous. Pour cela, rendez-vous sur la page de création de Token API
Assurez-vous de bien définir le token avec une validité illimitée et renseignez les droits comme ceci :
Après validation, il va falloir créer un fichier de configuration pour que Certbot puisse accéder aux identifiants de l’API. Vous pouvez enregistrer ce fichier où bon vous semble et le nommer comme il vous plaît. Pour ma part, c’est /root/.ovhapi et voici son contenu :
dns_ovh_endpoint = ovh-eu dns_ovh_application_key = xxx dns_ovh_application_secret = xxx dns_ovh_consumer_key = xxx
Vous remplacez évidemment les xxx par les informations obtenues lors de la création du token.
Enfin, assurez-vous de paramétrer les droits d’accès de ce fichier en 600, sans quoi Certbot émettra des warnings. chmod 600 /root/.ovhapi.
Une fois tout cela en place, nous pouvons générer nos certificats. Nous allons prendre buzut.fr en exemple, mais bien entendu, seulement les domaines gérés sur votre compte OVH pourront fonctionner.
# génération du certificat pour buzut.fr et *.buzut.fr # ce sont deux certificats distincts mais ils seront groupés en un seul fichier certbot certonly --rsa-key-size 4096 --dns-ovh --dns-ovh-credentials ~/.ovhapi -d buzut.fr -d *.buzut.fr