« Ovh letsencrypt » : différence entre les versions
Aucun résumé des modifications |
|||
| Ligne 130 : | Ligne 130 : | ||
=== Conclusion === | === Conclusion === | ||
OVH prend en charge les certificats wildcard via son API, ce qui permet d'automatiser la validation DNS avec Let's Encrypt. En utilisant Certbot et le plugin DNS OVH, vous pouvez facilement obtenir et renouveler des certificats wildcard pour vos sous-domaines. | OVH prend en charge les certificats wildcard via son API, ce qui permet d'automatiser la validation DNS avec Let's Encrypt. En utilisant Certbot et le plugin DNS OVH, vous pouvez facilement obtenir et renouveler des certificats wildcard pour vos sous-domaines. | ||
Source: deepseek. | |||
=== Debian 13 pour Certbot + plugin OVH avec Docker === | |||
----- | |||
==== 1️⃣ Créer le Dockerfile ==== | |||
Dans un dossier <code>~/certbot-docker</code> : | |||
<syntaxhighlight lang="bash">mkdir -p ~/certbot-docker | |||
cd ~/certbot-docker | |||
nano Dockerfile</syntaxhighlight> | |||
Contenu du Dockerfile: | |||
<syntaxhighlight lang="dockerfile"># Dockerfile pour Certbot + plugin OVH | |||
FROM certbot/certbot:v2.9.0 | |||
# Installer le plugin OVH | |||
RUN pip install certbot-dns-ovh</syntaxhighlight> | |||
----- | |||
==== 2️⃣ Créer le docker-compose.yml ==== | |||
Toujours dans <code>~/certbot-docker</code> : | |||
<syntaxhighlight lang="yaml">version: "3.8" | |||
services: | |||
certbot: | |||
build: . | |||
container_name: certbot-ovh | |||
volumes: | |||
- "/etc/letsencrypt:/etc/letsencrypt" | |||
- "/var/lib/letsencrypt:/var/lib/letsencrypt" | |||
- "/etc/letsencrypt/.ovhsecrets:/secrets" | |||
entrypoint: > | |||
certbot certonly | |||
--dns-ovh | |||
--dns-ovh-credentials /secrets/ovh.ini | |||
--non-interactive | |||
--agree-tos | |||
-d example.com | |||
-d '*.example.com'</syntaxhighlight> | |||
<blockquote>Remplace <code>example.com</code> par ton domaine réel. Le volume <code>/secrets</code> pointe sur ton fichier OVH existant. | |||
</blockquote> | |||
----- | |||
==== 3️⃣ Construire l’image Docker ==== | |||
<syntaxhighlight lang="bash">cd ~/certbot-docker | |||
docker compose build</syntaxhighlight> | |||
* Cela crée une image <code>certbot-ovh</code> avec le plugin OVH inclus. | |||
----- | |||
==== 4️⃣ Lancer la génération du certificat ==== | |||
<syntaxhighlight lang="bash">docker compose up</syntaxhighlight> | |||
* Les certificats seront dans <code>/etc/letsencrypt/live/example.com/</code> | |||
* Une fois terminé : | |||
<syntaxhighlight lang="bash">docker compose down</syntaxhighlight> | |||
----- | |||
==== 5️⃣ Renouvellement automatique ==== | |||
Créer un script <code>renew.sh</code> à côté de <code>docker-compose.yml</code> : | |||
<syntaxhighlight lang="bash">#!/bin/bash | |||
docker compose run --rm certbot renew --deploy-hook "systemctl reload mariadb"</syntaxhighlight> | |||
* Rendre le script exécutable : | |||
<syntaxhighlight lang="bash">chmod +x renew.sh</syntaxhighlight> | |||
* Ajouter un cron quotidien : | |||
<syntaxhighlight lang="bash">sudo crontab -e</syntaxhighlight> | |||
<pre class="cron">0 3 * * * /home/debian/certbot-docker/renew.sh >> /var/log/certbot-renew.log 2>&1</pre> | |||
----- | |||
✅ '''Avantages :''' | |||
* Plugin OVH fonctionne immédiatement | |||
* Debian 13 reste intact → pas de pip system-wide ni Snap | |||
* Certificats wildcard Let’s Encrypt générés et renouvelables automatiquement | |||
* Compatible MariaDB, Nginx, Apache | |||
----- | |||
[[category:ovh]] | [[category:ovh]] | ||