Outils pour utilisateurs

Outils du site


admin:infrastructure:sympa

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:infrastructure:sympa [2018/07/17 17:55] – [guest -> sympa] fpoulainadmin:infrastructure:sympa [2022/01/05 13:56] (Version actuelle) – Ajout explication pour modifier d'un message de Sympa ticket #5736 fcouchet
Ligne 1: Ligne 1:
 +====== Création d'une liste ======
 +
 +Pour créer une liste il faut utiliser l'interface WWSympa https://listes.chapril.org/sympa/create_list_request
 +
 +Pour une liste de type support, il faut choisir le template « Template pour une liste de type support » qui contient notamment des éléments de configuration en lien avec la gestion des adresses en erreur. Voir le ticket https://agir.april.org/issues/5692 pour plus d'information.
 +
 +Il faut choisir un Objet pour la liste.
 +
 +L'interface demande aussi de choisir un « Public visé », ce qui est inutile dans notre cas. Choisir « Autre » (tout en cas de la liste).
 +
 +Ajouter une courte description.
 +
 +Puis cliquer sur « Envoyer votre demande de création ».
 +
 +La liste est créée. Il faut ensuite ajouter les adresses courriels des personnes qui recevront les courriels de support (dans l'onglet « Les utilisateurs -> Abonnés ». Mettre aussi ces adresses en Propriétaires de la liste, dans l'onglet « Les utilisateurs -> Propriétaires », en pensant à cocher la case « Gestionnaire privilégié ».
 +
 +Puis envoyer un courriel de test avec une adresse non inscrite à la liste, pour vérifier la bonne diffusion du message.
 +
 +Pour la création du template « Template pour une liste de type support », création du répertoire /etc/sympa/create_list_templates/liste-support/ puis copie des fichiers /usr/share/doc/sympa/examples/samples/intranet/create_list_templates/intranet_list/comment.tt2 et /usr/share/doc/sympa/examples/samples/intranet/create_list_templates/intranet_list/config.tt2 puis modification des fichiers.
 +
 +====== Modification d'un message envoyé par Sympa ======
 +
 +Il y a un mauvais message affiché lorsqu'une personne tente de s'inscrire à une liste qui demande une confirmation d'inscription par courriel (que ce soit via l'interface web ou par courriel). Celaa induit en erreur la personne qui du coup ne validera peut-être pas l'inscription.
 +
 +La personne reçoit deux courriel. Un courriel de Sympa pour valider son inscription mais elle reçoit un 2e courriel indiquant //La demande a été soumise au gestionnaire de la liste//.
 +
 +Le ticket https://agir.april.org/issues/5736
 +
 +C'est exactement le même souci qu'avec le Sympa de l'April, voir https://agir.april.org/issues/5736
 +
 +On applique la même résolution que pour le Sympa de l'April :
 +
 +  apt install gettext
 +  mkdir /root/sympa-ticket-5736
 +  cd /root/sympa-ticket-5736
 +  dpkg -s sympa |grep Version
 +  wget http://deb.debian.org/debian/pool/main/s/sympa/sympa_6.2.60~dfsg.orig.tar.xz
 +  tar Jxvf sympa_6.2.60~dfsg.orig.tar.xz
 +  cd sympa-6.2.60/po/sympa/
 +  msgfmt -c -o fr.mo -v fr.po
 +  -> 2810 messages traduits, 1 traduction approximative, 1 message non traduit.
 +  Diff avec le fichier qui est livré avec le paquet Debian :
 +  diff -u /usr/share/locale/fr/LC_MESSAGES/sympa.mo fr.mo
 +  fichier identique (parfait)
 +
 +On peut donc modifier le fichier fr.po pour remplacer la chaîne et avoir un nouveau fichier MO :
 +
 +  cp fr.po fr.po.orig
 +  vi fr.po
 +  diff -u fr.po.orig fr.po
 +  -msgstr "La demande a été soumise au gestionnaire de la liste (%1)" 
 +  +msgstr "Votre requête à été transmise à l'adresse (%1) pour une demande de confirmation. Le message envoyé contenant un lien de validation." 
 +  msgfmt -c -o fr.mo -v fr.po
 +
 +On met en prod :
 +
 +  cd /usr/share/locale/fr/LC_MESSAGES/
 +  cp sympa.mo sympa.mo.dpkg
 +  cp ~/sympa-ticket-5736/sympa-6.2.40/po/sympa/fr.mo sympa.mo
 +  systemctl restart sympa
 +  systemctl restart wwsympa
 +  
 ====== Interconnexion entre sympa et postfix ====== ====== Interconnexion entre sympa et postfix ======
  
Ligne 40: Ligne 102:
 </code> </code>
   - ''sympa'' : c'est là que les sont les transports spécifiques aux listes. On verra plus tard sa fabrication.<code conf /etc/postfix/transports/sympa.map>   - ''sympa'' : c'est là que les sont les transports spécifiques aux listes. On verra plus tard sa fabrication.<code conf /etc/postfix/transports/sympa.map>
-## Généré automatiquement sur sympa.cluster.april.org via incron+## Généré automatiquement sur sympa.cluster.april.org via systemd (sympa-transports.path)
 ## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/ ## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/
 ## List aliases used for the sympa mailing-list manager ## List aliases used for the sympa mailing-list manager
Ligne 60: Ligne 122:
  
 # D'ailleurs on a plein d'utilisateurs locaux @chapril.org, regardez # D'ailleurs on a plein d'utilisateurs locaux @chapril.org, regardez
-alias_maps =     hash:/etc/aliases hash:/etc/aliases.local hash:/etc/mail/sympa/aliases+alias_maps =     hash:/etc/aliases hash:/etc/aliases.local
 alias_database = $alias_maps alias_database = $alias_maps
  
Ligne 69: Ligne 131:
 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.57 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.57
 inet_interfaces = all inet_interfaces = all
 +
 +# Reglages Sympa 
 +virtual_alias_maps = hash:/etc/mail/sympa/sympa-transports.map
 +transport_maps = regexp:/etc/postfix/sympa-transports.regex
 +
 +sympaqueue_destination_recipient_limit = 1
 +sympabouncequeue_destination_recipient_limit = 1
 </code> </code>
-===== Connexion entre le postfix coté guest et sympa ===== 
  
-Là on retrouve la configuration d'un sympa classique, notamment :+<note important> 
 +On passe par des transports vers de nouveaux services et non par des alias car ça nous permet de contrôler l'uid du service dans ''master.cf''. Cf https://agir.april.org/issues/3149 
 +</note>
  
-<code conf main.cf+<code conf /etc/postfix/sympa-transports.regex
-alias_maps = hash:/etc/aliases hash:/etc/aliases.local hash:/etc/mail/sympa/aliases+/^.*\@sympaqueue$        sympaqueue: 
 +/^.*\@sympabouncequeue$  sympabouncequeue:
 </code> </code>
  
-Notre fichier d'aliases est ainsi fait (on voit sa construction juste après) : +<code conf /etc/postfix/master.cf
-<code conf /etc/mail/sympa/aliases+Sympa mailing list manager transports 
-## List aliases used for the sympa mailing-list manager +sympaqueue       unix        n                         pipe 
-test: "| /usr/lib/sympa/bin/queue test@chapril.org" +  flags=RF user=sympa argv=/usr/lib/sympa/bin/queue ${user}@${extension} 
-test-request: "| /usr/lib/sympa/bin/queue test-request@chapril.org" +sympabouncequeue unix        n                   -       pipe 
-test-editor: "/usr/lib/sympa/bin/queue test-editor@chapril.org" +  flags=RF user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${user}@${extension}
-#test-subscribe: "| /usr/lib/sympa/bin/queue test-subscribe@chapril.org" +
-test-unsubscribe: "| /usr/lib/sympa/bin/queue test-unsubscribe@chapril.org" +
-test-owner: "/usr/lib/sympa/bin/bouncequeue test@chapril.org"+
 </code> </code>
-et+ 
 <code conf /etc/aliases.local> <code conf /etc/aliases.local>
 # default contact emails # default contact emails
Ligne 94: Ligne 163:
 sympa-owner:    listmaster@chapril.org sympa-owner:    listmaster@chapril.org
 sympa-request:  listmaster@chapril.org sympa-request:  listmaster@chapril.org
-sympa         "/usr/lib/sympa/bin/queue sympa@chapril.org"+</code> 
 + 
 +Enfin, notre fichier de transports est ainsi fait (on voit sa construction juste après) : 
 + 
 +<code conf /etc/mail/sympa/sympa-transports.map> 
 +## Généré automatiquement sur sympa.cluster.april.org via systemd (sympa-transports.path) 
 +## Destiné à sympa.cluster.chapril.org:/etc/postfix/transports/ 
 + 
 +sympa@chapril.org sympa+chapril.org@sympaqueue. 
 + 
 +## List aliases used for the sympa mailing-list manager 
 +test@chapril.org test+chapril.org@sympaqueue. 
 +test-request@chapril.org test-request+chapril.org@sympaqueue. 
 +test-editor@chapril.org test-editor+chapril.org@sympaqueue. 
 +#test-subscribe@chapril.org test-subscribe+chapril.org@sympaqueue. 
 +test-unsubscribe@chapril.org test-unsubscribe+chapril.org@sympaqueue. 
 +test-owner@chapril.org test+chapril.org@sympabouncequeue.
 </code> </code>
 ====== Construction du fichier d'aliases sur le guest ====== ====== Construction du fichier d'aliases sur le guest ======
Ligne 107: Ligne 192:
  
 <note tip>Si d'aventure le format de ce qui est généré ne vous satisfait pas, le template à modifier c'est ''/usr/share/sympa/default/list_aliases.tt2'' <note tip>Si d'aventure le format de ce qui est généré ne vous satisfait pas, le template à modifier c'est ''/usr/share/sympa/default/list_aliases.tt2''
 +
 +Ce fichier par défaut a les alias de type nomdelaliste-subscribe@ en commentaires. Or ce type d'alias est utile. Donc, copie du fichier ''/usr/share/sympa/default/list_aliases.tt2'' dans ''/etc/sympa/list_aliases.tt2''. Modifier du fichier pour avoir les alias subscribe. La régénération du fichier /etc/mail/sympa/aliases est faite à chaque création de nouvelle liste. Mais pour les listes déjà existantes les entrées dans le fichier ne sont pas modifiées. Il faut donc modifier manuellement ce fichier.
 </note> </note>
  
Ligne 114: Ligne 201:
  
 <note tip> <note tip>
-On va se faire aider de incron, qu'on va installer sur les deux machines. Incron permet de surveiller un évènement sur un fichier et de déclencher une action. +On va se faire aider de ''systemd'' à l'aide d'une unit de type ''path''. Cf https://www.redhat.com/sysadmin/introduction-path-units
- +
-Pour l'installer : +
-  apt install incron +
-puis simplement ajouter 'rootdans ''/etc/incron.allow''.+
 </note> </note>
  
Ligne 124: Ligne 207:
  
 On va installer le programme suivant : On va installer le programme suivant :
-<code bash /usr/local/bin/alias_push.sh>+<code bash cat /usr/local/bin/alias_push.sh >
 #!/bin/bash #!/bin/bash
-echo '## Généré automatiquement sur sympa.cluster.april.org via incron' > /etc/mail/sympa/sympa.map+echo '## Généré automatiquement sur sympa.cluster.april.org via systemd (sympa-transports.path)' > /etc/mail/sympa/sympa.map
 echo '## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/' >> /etc/mail/sympa/sympa.map echo '## À copier dans mail.cluster.chapril.org:/etc/postfix/transports/' >> /etc/mail/sympa/sympa.map
 awk -F ':' '$1 !~ "#" && $1 !~ "^ *$" {print $1 "@chapril.org\t smtp:[sympa.cluster.chapril.org]"} $1 ~ "#[-#]"{ print $0}' /etc/mail/sympa/aliases | column -t -s $'\t' >> /etc/mail/sympa/sympa.map awk -F ':' '$1 !~ "#" && $1 !~ "^ *$" {print $1 "@chapril.org\t smtp:[sympa.cluster.chapril.org]"} $1 ~ "#[-#]"{ print $0}' /etc/mail/sympa/aliases | column -t -s $'\t' >> /etc/mail/sympa/sympa.map
 +
 +echo '## Généré automatiquement sur sympa.cluster.april.org via systemd (sympa-transports.path)' > /etc/mail/sympa/sympa-transports.map
 +echo '## Destiné à sympa.cluster.chapril.org:/etc/postfix/transports/' >> /etc/mail/sympa/sympa-transports.map
 +
 +echo 'sympa@chapril.org sympa+chapril.org@sympaqueue.' >> /etc/mail/sympa/sympa-transports.map
 +sed -e 's/:/@chapril.org/' -e 's!"| /usr/lib/sympa/bin/\([^ ]\+\) \([^ @]\+\)@\([^" ]\+\)"!\2+\3@sympa\1.!' /etc/mail/sympa/aliases >> /etc/mail/sympa/sympa-transports.map
 +
 +postmap /etc/mail/sympa/sympa-transports.map
 +
 scp /etc/mail/sympa/sympa.map mail.cluster.chapril.org:/etc/postfix/transports/sympa.map scp /etc/mail/sympa/sympa.map mail.cluster.chapril.org:/etc/postfix/transports/sympa.map
-cd /etc + 
-git add /etc/mail/sympa/sympa.map /etc/mail/sympa/aliases /etc/mail/sympa/aliases.db +export GIT_AUTHOR_EMAIL=sympa@chapril.org 
-git commit -m 'MaJ des alias des listes' +export GIT_AUTHOR_NAME=Sympa 
-</code> + 
-ainsi que la directive incron suivante +git -C /etc add /etc/mail/sympa/ 
-<code conf /etc/incron.d/sympa > +git -C /etc commit -m 'MaJ des alias des listes'</code> 
-/etc/mail/sympa/aliases IN_MODIFY,IN_NO_LOOP /usr/local/bin/alias_push.sh+ainsi que les units systemd suivantes 
 +<code ini /etc/systemd/system/sympa-transports.path 
 +[Unit] 
 +Description=Wait for new sympa transports 
 + 
 +[Path] 
 +PathChanged=/etc/mail/sympa/aliases 
 +Unit=sympa-transports.service 
 + 
 +[Install] 
 +WantedBy=multi-user.target
 </code> </code>
-qu'on va penser à rendre exécutable : 
-  chown a+x /usr/local/bin/alias_push.sh 
  
-Puis on redémarre incron : +<code ini /etc/systemd/system/sympa-transports.service > 
-  systemctl restart incron+[Unit] 
 +Description=Push sympa transports toward postfix
  
 +[Service]
 +Type=simple
 +ExecStart=/usr/local/bin/alias_push.sh
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +qu'on va penser à activer :
 +  systemctl enable sympa-transports.path sympa-transports.service
 +  systemctl start sympa-transports.path sympa-transports.service
 ===== Sur la machine relais ===== ===== Sur la machine relais =====
  
Ligne 150: Ligne 262:
 #!/bin/bash #!/bin/bash
 cd /etc/postfix && make && postfix reload cd /etc/postfix && make && postfix reload
 +
 +export GIT_AUTHOR_EMAIL=sympa@chapril.org
 +export GIT_AUTHOR_NAME=Sympa
 +
 git add transports/sympa.map transports/sympa.db git add transports/sympa.map transports/sympa.db
 git commit -m 'MaJ des alias des listes' git commit -m 'MaJ des alias des listes'
 </code> </code>
-ainsi que la directive incron suivante +ainsi que les units systemd suivantes 
-<code conf /etc/incron.d/sympa > +<code ini /etc/systemd/system/sympa-transports.path 
-/etc/postfix/transports/sympa.map IN_MODIFY,IN_NO_LOOP /usr/local/bin/alias_update.sh+[Unit] 
 +Description=Wait for new sympa transports 
 + 
 +[Path] 
 +PathChanged=/etc/postfix/transports/sympa.map 
 +Unit=sympa-transports.service 
 + 
 +[Install] 
 +WantedBy=multi-user.target
 </code> </code>
-qu'on va penser à rendre exécutable : 
-  chown a+x /usr/local/bin/alias_update.sh 
  
-Puis on redémarre incron : +<code ini /etc/systemd/system/sympa-transports.service > 
-  systemctl restart incron+[Unit] 
 +Description=Push sympa transports toward postfix 
 + 
 +[Service] 
 +Type=simple 
 +ExecStart=/usr/local/bin/alias_update.sh 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 +</code>
  
 +qu'on va penser à activer :
 +  systemctl enable sympa-transports.path sympa-transports.service
 +  systemctl start sympa-transports.path sympa-transports.service
admin/infrastructure/sympa.1531850139.txt.gz · Dernière modification : 2018/07/17 17:55 de fpoulain