Bonjour à tous,
Je rencontre quelques difficultés à faire cohabiter l’application PiHole avec Yunohost, surtout lorsqu’il s’agit de générer un nouveau certificat Let’s Encrypt pour un nouveau domaine ou lorsque yunohost doit faire un renouvellement des certificats.
J’ai actuellement l’application PiHole installée, je m’en sers comme adblocker pour mon réseau local et résolveur DNS. Le problème est que lorsque je crée un nouveau domaine sur yunohost, je ne peux pas générer de certificat Let’s Encrypt, le bouton est désactivé et m’affiche le message:
Ce domaine ne semble pas prêt pour un certificat Let’s Encrypt. Veuillez vérifier votre configuration DNS et l’accessibilité de votre serveur HTTP.
J’ai remarqué qu’en arrêtant le service pihole-FTL le bouton pour générer le certificat Let’s Encrypt redevient cliquable, mais lorsque je clique dessus il ne va pas au bout de la génération du certificat et m’affiche cette erreur:
Registering account…
Parsing CSR...
Parsing account key...
Le fichier de configuration « /etc/dnsmasq.d/01-pihole.conf » devrait être supprimé par le service dnsmasq mais a été conservé.
Le fichier de configuration « /etc/dnsmasq.d/03-pihole-wilcard.conf » devrait être supprimé par le service dnsmasq mais a été conservé.
La configuration de SSOwat a été générée
Now attempting install of certificate for domain sous-domaine.domaine.tld!
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 405, in process
ret = self.actionsmap.process(arguments, timeout=30, route=_route)
File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 519, in process
return func(**arguments)
File "/usr/lib/moulinette/yunohost/domain.py", line 229, in domain_cert_install
return yunohost.certificate.certificate_install(auth, domain_list, force, no_checks, self_signed, staging)
File "/usr/lib/moulinette/yunohost/certificate.py", line 146, in certificate_install
auth, domain_list, force, no_checks, staging)
File "/usr/lib/moulinette/yunohost/certificate.py", line 302, in _certificate_install_letsencrypt
_display_debug_information(domain)
File "/usr/lib/moulinette/yunohost/certificate.py", line 883, in _display_debug_information
local_dns_ip = _get_local_dns_ip(domain)
File "/usr/lib/moulinette/yunohost/certificate.py", line 872, in _get_local_dns_ip
answers = resolver.query(domain, "A")
File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 1041, in query
timeout = self._compute_timeout(start)
File "/usr/lib/python2.7/dist-packages/dns/resolver.py", line 858, in _compute_timeout
raise Timeout(timeout=duration)
Timeout: The DNS operation timed out after 30.0012128353 seconds
Pour pouvoir installer le certificat, je me connecte en ssh a ma machine et je renomme les fichiers:
/etc/dnsmasq.d/01-pihole.conf
/etc/dnsmasq.d/03-pihole-wilcard.conf
… puis je change sur mon router l’addresse de mon résolveur DNS, je laisse les résolveurs DNS de mon FAI par défaut .
Puis je régénéré le certificat SSL Let’s Encrypt… et cela fonctionne.
Installation avec succès d’un certificat Let’s Encrypt pour le domaine sous-domaine.domaine.tld !
La configuration a été mise à jour pour le service « nginx »
Certificate signed!
Signing certificate...
sous-domaine.domaine.tld verified!
Verifying sous-domaine.domaine.tld ...
Already registered!
Registering account...
Parsing CSR...
Parsing account key...
dnsmasq.service is not active, cannot reload.
cp: cannot stat '/tmp/pi-hole.bck/01-pihole.conf': No such file or directory
Échec de l’exécution du script « /usr/share/yunohost/hooks/conf_regen/43-dnsmasq »
See "systemctl status dnsmasq.service" and "journalctl -xe" for details.
Job for dnsmasq.service failed because the control process exited with error code.
Le fichier de configuration « /etc/dnsmasq.d/a03-pihole-wilcard.conf » devrait être supprimé par le service dnsmasq mais a été conservé.
Le fichier de configuration « /etc/dnsmasq.d/a01-pihole.conf » devrait être supprimé par le service dnsmasq mais a été conservé.
sed: can't read /etc/dnsmasq.d/01-pihole.conf: No such file or directory
cp: cannot stat '/etc/dnsmasq.d/01-pihole.conf': No such file or directory
Now attempting install of certificate for domain sous-domaine.domaine.tld!
Je renomme ensuite les fichiers .conf comme avant
je relance le service pihole-FTL et re-configure l’adresse ip de mon pi-hole comme resolveur DNS sur mon routeur. Puis pour finir je vais dans les “settings” de PiHole et je restart le dnsmasq sinon pihole m’affiche “DNS service not running”
Tout fonctionne a nouveau mais c’est galère comme méthode ^^
Je me demandais s’il y a une solution plus simple. Si quelqu’un a une idée je suis preneur ^__<