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 [2017/06/24 15:20] – [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 4: Ligne 66:
  
 <note important>On est ici dans une documentation a posteriori d'un truc un peu touchy, donc il est possible que des erreurs subsistent.</note> <note important>On est ici dans une documentation a posteriori d'un truc un peu touchy, donc il est possible que des erreurs subsistent.</note>
-===== relais -> guest =====+===== Postfix coté relais =====
  
 Pour que le relais transmette les emails au bon guest, il faut installer les bons transports. Pour que le relais transmette les emails au bon guest, il faut installer les bons transports.
Ligne 18: Ligne 80:
 Examinons les définitions des transports : Examinons les définitions des transports :
   - ''slow_domains'' : pour limiter le débit de soumission des courrier à des domaine pauvres comme laposte.net qui n'ont pas les moyens d'encaisser plus de 1 courriel à la fois. Ce n'est pas à proprement parler essentiel à sympa, mais de fait le besoin s'en fait largement sentir lorsqu'un sympa est installé.<code conf /etc/postfix/transports/slow_domains.map >   - ''slow_domains'' : pour limiter le débit de soumission des courrier à des domaine pauvres comme laposte.net qui n'ont pas les moyens d'encaisser plus de 1 courriel à la fois. Ce n'est pas à proprement parler essentiel à sympa, mais de fait le besoin s'en fait largement sentir lorsqu'un sympa est installé.<code conf /etc/postfix/transports/slow_domains.map >
-orange.fr slow:+aliceadsl.fr slow: 
 +free.fr slow: 
 +hotmail.com slow: 
 +hotmail.fr slow: 
 +infonie.fr slow:
 laposte.net slow: laposte.net slow:
-wanadoo.fr slow: +libertysurf.fr slow: 
-yahoodns.net slow:+live.com slow:
 live.fr slow: live.fr slow:
 +orange.com slow:
 +orange.fr slow:
 +wanadoo.com slow:
 +wanadoo.fr slow:
 +yahoo.com slow:
 +yahoo.fr slow:
 </code> </code>
   - ''sympa-static'' : les adresses de services pour le sympa.<code conf /etc/postfix/transports/sympa-static.map >   - ''sympa-static'' : les adresses de services pour le sympa.<code conf /etc/postfix/transports/sympa-static.map >
 sympa@chapril.org            smtp:[sympa.cluster.chapril.org] sympa@chapril.org            smtp:[sympa.cluster.chapril.org]
 sympa-request@chapril.org    smtp:[sympa.cluster.chapril.org] sympa-request@chapril.org    smtp:[sympa.cluster.chapril.org]
 +sympa-owner@chapril.org      smtp:[sympa.cluster.chapril.org]
 </code> </code>
-  - ''sympa'' : c'est là que les choses sont. 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 39: Ligne 112:
 </code> </code>
  
-===== guest -> relais =====+===== Postfix coté guest =====
  
-C'est plus direct car basiquement on applique moins de contrôle. Une conf postfix satellite avec chapril.org en mailname et mail.cluster.chapril.org en relais suffit.+C'est plus direct car basiquement on applique moins de contrôle. Une conf postfix satellite avec chapril.org en mailname et mail.cluster.chapril.org en relais suffit plus quelques adaptations. Cf [[admin:procedures:installation_postfix_satellite|Installation d'un postfix en satellite]].
  
-===== guest -> sympa =====+Les adaptations : 
 +<code conf /etc/postfix/main.cf> 
 +# On sert localement le domaine chapril.org 
 +mydestination $myhostname, sympa.cluster.chapril.org, localhost.cluster.chapril.org, localhost, chapril.org
  
-Là on retrouve la configuration d'un sympa classiquenotamment :+# D'ailleurs on a plein d'utilisateurs locaux @chapril.orgregardez 
 +alias_maps =     hash:/etc/aliases hash:/etc/aliases.local 
 +alias_database = $alias_maps
  
-<code conf main.cf> +# Mais en cas de doute on renvoit au relais 
-alias_maps hash:/etc/aliases hash:/etc/aliases.local hash:/etc/mail/sympa/aliases+fallback_transport = smtp:[mail.cluster.chapril.org] 
 + 
 +# On accepte de recevoir du mail depuis le relais 
 +mynetworks 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.57 
 +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>
  
-Notre fichier d'aliases est ainsi fait : +<note important
-<code conf /etc/mail/sympa/aliases+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 
-## List aliases used for the sympa mailing-list manager +</note> 
-test"/usr/lib/sympa/bin/queue test@chapril.org+ 
-test-request: "/usr/lib/sympa/bin/queue test-request@chapril.org" +<code conf /etc/postfix/sympa-transports.regex> 
-test-editor: "/usr/lib/sympa/bin/queue test-editor@chapril.org" +/^.*\@sympaqueue$        sympaqueue: 
-#test-subscribe: "/usr/lib/sympa/bin/queue test-subscribe@chapril.org" +/^.*\@sympabouncequeue$  sympabouncequeue:
-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/postfix/master.cf> 
 +# Sympa mailing list manager transports 
 +sympaqueue       unix  -                               pipe 
 +  flags=RF user=sympa argv=/usr/lib/sympa/bin/queue ${user}@${extension} 
 +sympabouncequeue unix  -                               pipe 
 +  flags=RF user=sympa argv=/usr/lib/sympa/bin/bouncequeue ${user}@${extension} 
 +</code> 
 + 
 <code conf /etc/aliases.local> <code conf /etc/aliases.local>
 # default contact emails # default contact emails
Ligne 67: 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" 
- 
-listmaster:     smtp:[mail.cluster.chapril.org] 
 </code> </code>
  
-===== Construction du fichier d'aliases sur le guest =====+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> 
 +====== Construction du fichier d'aliases sur le guest ======
  
 En fait sympa fait ça tout seul comme un grand si on lui demande. En fait sympa fait ça tout seul comme un grand si on lui demande.
Ligne 83: 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>
  
 Maintenant il faut pousser cette conf proprement sur le relais. Maintenant il faut pousser cette conf proprement sur le relais.
  
-===== Création et installation du fichier d'aliases sur le relais =====+====== Création et installation du fichier d'aliases sur le relais ======
  
 <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>
  
-==== Sur la machine guest ====+===== Sur la machine guest =====
  
 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>
  
-Puis on redémarre incron : +<code ini /etc/systemd/system/sympa-transports.service > 
-  systemctl restart incron+[Unit] 
 +Description=Push sympa transports toward postfix
  
-==== Sur la machine relais ====+[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 =====
  
 On va installer le programme suivant : On va installer le programme suivant :
Ligne 124: 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>
  
-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.1498317615.txt.gz · Dernière modification : 2017/06/24 15:20 de fpoulain