mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier curl https://haproxy.debian.net/bernat.debian.org.gpg \ | gpg --dearmor > /usr/share/keyrings/haproxy.debian.net.gpg rien de grave pour ton haproxy au pire tu peux installlés avec apt install haproxy mais tu auras une ancienne version pour avoir la derniere version il faut ajouté des dépots
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier voila ce qu'il faut faire qu'en tu es sous esxi et que tu veux faire des tests @jojo tu es sous esxi donc pas vraiment de besoin d'une machine de test pour cela tu crées un snapshots tu fais tes bidouilles et si cela merdouille tu restaures ton snapshot Cest simple et rapide
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier j'ai vu trop tard ta suggestion de faire un snapshot de ma VM. C'était une excellente idée (pour une prochaine fois ...)
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier il y a 13 minutes, mprinfo a dit : curl https://haproxy.debian.net/bernat.debian.org.gpg \ | gpg --dearmor > /usr/share/keyrings/haproxy.debian.net.gpg rien de grave pour ton haproxy au pire tu peux installlés avec apt install haproxy mais tu auras une ancienne version pour avoir la derniere version il faut ajouté des dépots j'en suis à cette instruction ... Mais elle me la met toujours sur 2 lignes (= 2 commandes). L'objectif de tout ce bazard, c'est quand-même d'avoir une version plus récente, donc pas simplement apt install haproxy qui serait le dernier recours
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier curl https://haproxy.debian.net/bernat.debian.org.gpg | gpg --dearmor > /usr/share/keyrings/haproxy.debian.net.gpg 1
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier ok, c'est passé ! peux-tu SVP me donner sous le même format l'instruction suivante ? (echo ...)
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier echo deb "[signed-by=/usr/share/keyrings/haproxy.debian.net.gpg]" \ http://haproxy.debian.net buster-backports-2.6 main \ > /etc/apt/sources.list.d/haproxy.list cette commande crée un fichier haproxy.list dans /etc/apt/sources.list.d si la commande ne passe pas du va dans le dossier /etc/apt/sources.list.d tu crées un nouveau fichier haproxy.list et tu y mets cela deb "[signed-by=/usr/share/keyrings/haproxy.debian.net.gpg]" \ http://haproxy.debian.net buster-backports-2.6 main \ > /etc/apt/sources.list.d/haproxy.list tu sauvegardes, t regardes si les propriétés du fichier sont a 0644 en faisant un clic droit sur le fichier puis tu fais un apt update
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier @jojo ca donne quoi ? pourrais tu me donnés le dernier chiffre de l'adresse ip de ton haproxy STP
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier j'étais entrain de manger (des sushis ....) j'essaye mais je vois déjà que ce n'est pas exactement la même commande (il y a un \ et un/ en plus) (et comme je n'y connais rien ...)
Kana-chan Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier (modifié) Bonjour, \ = retour à la ligne pour continuer la commande sur la ligne du dessous. Donc sur une seule ligne c'est : echo deb "[signed-by=/usr/share/keyrings/haproxy.debian.net.gpg]" http://haproxy.debian.net buster-backports-2.6 main > /etc/apt/sources.list.d/haproxy.list Tout simplement. Modifié le 6 janvier par Kana-chan 1 1
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier il y a une heure, mprinfo a dit : si la commande ne passe pas du va dans le dossier /etc/apt/sources.list.d tu crées un nouveau fichier haproxy.list et tu y mets cela la commande est passée et a créé le fichier haproxy.list (c'est le seul fichier dans ce dossier) qui contient deb [signed-by=/usr/share/keyrings/haproxy.debian.net.gpg] http://haproxy.debian.net buster-backports-2.6 main (ce n'est pas ce que tu m'as dit que j'aurais du rentré manuellement) ensuite j'ai fais apt update (mais pas un apt-get update comme dit initialement - quelle est la différence entre apt et apt-get ?) puis apt-get install haproxy=2.6.\* je suis bien en 2.6, mais mon fichier de config n'est plus compatible ... root@xxx:~# haproxy -c -V -f /etc/haproxy/haproxy.cfg [NOTICE] (10950) : haproxy version is 2.6.16-1~bpo10+1 [NOTICE] (10950) : path to executable is /usr/sbin/haproxy [ALERT] (10950) : config : parsing [/etc/haproxy/haproxy.cfg:84] : The 'reqadd' directive is not supported anymore since HAProxy 2.1. Use 'http-request add-header' instead. [ALERT] (10950) : config : parsing [/etc/haproxy/haproxy.cfg:133] : The 'reqadd' directive is not supported anymore since HAProxy 2.1. Use 'http-request add-header' instead. [ALERT] (10950) : config : parsing [/etc/haproxy/haproxy.cfg:236]: Missing LF on last line, file might have been truncated at position 23. [ALERT] (10950) : config : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg [ALERT] (10950) : config : Fatal errors found in configuration. j'ai mis en commentaire les lignes 84 & 133, pour la ligne 236, j'ai ajouté un CR et maintenant : root@xxx:~# haproxy -c -V -f /etc/haproxy/haproxy.cfg Configuration file is valid puis quand je démarre HAProxy, j'ai root@xxx:~# systemctl start haproxy.service Broadcast message from systemd-journald@haproxy (Sat 2024-01-06 15:35:30 CET): haproxy[10967]: backend NotExist has no server available! Broadcast message from systemd-journald@haproxy (Sat 2024-01-06 15:35:30 CET): haproxy[10967]: backend NotExist has no server available! mais mon HAProxy fonctionne voici la config de mon backend NotExist backend NotExist mode http option httpchk redirect scheme https if !{ ssl_fc } server www-1 127.0.0.1:8888 check il y a une heure, mprinfo a dit : pourrais tu me donnés le dernier chiffre de l'adresse ip de ton haproxy STP 2
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier backend NotExist mode http http-request deny ou backend NotExist redirect scheme https if !{ ssl_fc } server www-1 192.168.1.100:8080 check 1
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier j'ai pris la première option, car je la trouve moins spécifique (pas d'IP). Maintenant je n'ai plus qu'à mettre en place le script pour automatiser le renouvellement des certificats. Merci pour ton aide
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier Le 03/01/2024 à 17:02, mprinfo a dit : normal c'est @jojo qui a merdu je te donne le script que j'utilise il est trés simple ################################################################## # copier le fichier renew_certs.sh vers /usr/local/bin # # # # -- le rendre executable # # chmod -x renew_certs.sh # # # # -- execution automatique tout les lundi a 1h30 # # crontab -e # # 30 1 * * 1 /usr/local/bin/renew_certs.sh # # # # -- verification # # crontab -l # # # ################################################################## VERT="\\033[1;32m" NORMAL="\\033[0;39m" ROUGE="\\033[1;31m" ROSE="\\033[1;35m" BLEU="\\033[1;34m" BLANC="\\033[0;02m" BLANCLAIR="\\033[1;08m" JAUNE="\\033[1;33m" CYAN="\\033[1;36m" haproxy_pem_path="/etc/haproxy/certs" #renew des certificats /usr/bin/certbot renew #--force-renewal if [ $? -eq 0 ]; then echo -e "$CYAN ________________________________________________________________________________________ $NORMAL" echo "" echo -e "$(date +%c) $CYAN Certificates renewed ! Transfert certs vers HAPROXY .pem $NORMAL" echo -e "$CYAN ________________________________________________________________________________________ $NORMAL" else echo -e "$ROUGE ________________________________________________________________________________________ $NORMAL" echo -e "$(date +%c) $ROUGE Erreur lors du renouvellement des certificats avec code d'erreur $?, Fin du script... $NORMAL" echo -e "$ROUGE ________________________________________________________________________________________ $NORMAL" exit 1 fi #Then, create domain.pem containing fullchain et privkey for haproxy for domainconf in $(ls /etc/letsencrypt/renewal/); do domain=${domainconf%.conf} echo -e "$(date +%c)create $VERT ${domain}.pem $NORMAL" cat /etc/letsencrypt/live/${domain}/fullchain.pem /etc/letsencrypt/live/${domain}/privkey.pem > ${haproxy_pem_path}/${domain}.pem done echo -e "$CYAN ________________________________________________________________________________________ $NORMAL" echo "" echo -e "$JAUNE $(date +%c) Redemarrage de Haproxy $NORNAL" echo "" systemctl reload haproxy echo "" echo -e "$BLEU ============================================================== $NORMAL" echo -e "$BLEU = $NORMAL STATUS haproxy" echo -e "$BLEU ============================================================== $NORMAL" systemctl status haproxy.service copier le fichier renew_certs.sh vers /usr/local/bin - lien du fichier : renew_certs.sh -- le rendre executable chmod -x renew_certs.sh -- on test si cela fonctionne /usr/local/bin/renew_certs.sh -- execution automatique tout les lundi a 1h30 crontab -e 30 1 * * 1 /usr/local/bin/renew_certs.sh -- verification crontab -l voila tout les lundi a 1h30 du matin il y aura une vérifications de certificats, si ils ont moins de 30 jours de vailidité ils seront alors renouvelés et concaténés on peut oublier cette VM enfin presque de temps en temps on peut faire apt update && apt upgrade 1
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier j'avais vu que tu avais proposé qqch, mais je voulais reposer mon neurone ... et donc je viens de le parcourir, il est super générique : si on rajoute un sous-domaine, il fait automatiquement le taf (et peu importe quand on le rajoute puisqu'il vérifie tous les lundis). Une suggestion : comme je n'irai JAMAIS voir les logs de la machine, Pouurait-il envoyer un mail (adresse mail à mettre en variable au début du script) à la fin de son exécution avec la liste des domaines dont il à mis à jour le certificat (liste vide si pas de mise à jour, cela fera une sorte de keeep alive hebdomadaire) ?
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier @jojo j'y ai pensé mais pour le moment j'ai pas trouvé comment faire @lazer j'ai une débian "nue" c'est a dire avec le stricte minimum, comment faire pour pouvoir envoyer un mail via un script shell j'ai regarder comment tu faisais avec les backups mais cela ne fonctionne pas j'ai aussi essayé d'installer "mail" sans succés a priori il y a d'autres paquets a installer ?
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier Le 03/01/2024 à 17:02, mprinfo a dit : -- le rendre executable chmod -x renew_certs.sh j'ai du renseigner le chemin complet pour que ça fonctionne chmod -x /usr/local/bin/renew_certs.sh (je modifie la doc du script)
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier NormalSi tu n'étais pas dans le bon répertoireC'est logique Envoyé de mon BLA-L29 en utilisant Tapatalk
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier root@xxx:~# chmod -x /usr/local/bin/renew_certs.sh root@xxx:~# /usr/local/bin/renew_certs.sh -bash: /usr/local/bin/renew_certs.sh: Permission non accordée où est mon erreur ?
jojo Posté(e) le 6 janvier Signaler Posté(e) le 6 janvier il y a 41 minutes, mprinfo a dit : Normal Si tu n'étais pas dans le bon répertoire C'est logique Envoyé de mon BLA-L29 en utilisant Tapatalk du coup j'ai fait la manip directement dans le répertoire root@xxx:/usr/local/bin# chmod -x renew_certs.sh root@xxx:/usr/local/bin# renew_certs.sh -bash: /usr/local/bin/renew_certs.sh: Permission non accordée root@xxx:/usr/local/bin# ls renew_certs.sh mais avec le chemin complet, ça devrait fonctionner depuis n'importe où
mprinfo Posté(e) le 6 janvier Auteur Signaler Posté(e) le 6 janvier Tu as juste fait un copier coller du fichiers que je t'ai donné ? Ou tu as fais un copier coller du code dans notepad ? tu dois avoir cela si tu fais propiétés avec winscp Envoyé de mon BLA-L29 en utilisant Tapatalk
mprinfo Posté(e) le 7 janvier Auteur Signaler Posté(e) le 7 janvier maintenant que tu as bien galéré pour ton haproxy je viens de faire en -30mn une VM debian 12avec Haproxy 2.8et certbot toutes les commandes sont passées du premier coup le script et le crontab sont inclus Procédure pour mise en fonction importé la VM dans esxi lancé la VM elle aura l'ip xxx.xxx.xxx.2 tu te connectes en : root mot de passe : fibaro tu as justes y mettre ton fichier config ensuite soit tu refais la manipe pour la création de tes domaines ou tu les récupéres sur ton "ancien" haproxy dans let encrypts voici le lien pour téléchargement : https://drive.google.com/file/d/1vkZP4F0--hgawtk8yDeQFMfYvHfGpDrX/view?usp=drive_link 1
Kana-chan Posté(e) le 7 janvier Signaler Posté(e) le 7 janvier Il y a 17 heures, jojo a dit : root@xxx:~# chmod -x /usr/local/bin/renew_certs.sh root@xxx:~# /usr/local/bin/renew_certs.sh -bash: /usr/local/bin/renew_certs.sh: Permission non accordée où est mon erreur ? L'erreur est dans le texte initial : chmod -x ==> enlève le droit d'exécution pour tout le monde. chmod +x ==> ajoute le droit d'exécution pour tout le monde. Donc dans votre cas pour que cela fonctionne c'est : root@xxx:~# chmod +x /usr/local/bin/renew_certs.sh root@xxx:~# /usr/local/bin/renew_certs.sh Voilà ... 1 1
mprinfo Posté(e) le 7 janvier Auteur Signaler Posté(e) le 7 janvier merci j'avais pas fais gaffe tu as l'air de t'y connaitre en linux saurait tu me dire comment je pourrais faire pour envoyer un mail en shell j'ai essayer "mail" mais cela ne fonctionne pas j'ai une débian 12 avec le minimum
Messages recommandés