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
Prochaine révisionLes deux révisions suivantes
admin:infrastructure:sympa [2018/07/17 17:54] – [relais -> guest] fpoulainadmin:infrastructure:sympa [2021/12/05 12:38] – [Postfix coté guest] fpoulain
Ligne 40: Ligne 40:
 </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 60:
  
 # 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 69:
 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>
-===== guest -> 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 101:
 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> </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>
 ====== Construction du fichier d'aliases sur le guest ====== ====== Construction du fichier d'aliases sur le guest ======
  
Ligne 115: Ligne 137:
  
 <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 125: Ligne 143:
  
 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 
 + 
 +git -C /etc add /etc/mail/sympa/ 
 +git -C /etc commit -m 'MaJ des alias des listes'</code> 
 +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>
-ainsi que la directive incron suivante : 
-<code conf /etc/incron.d/sympa > 
-/etc/mail/sympa/aliases IN_MODIFY,IN_NO_LOOP /usr/local/bin/alias_push.sh 
-</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 151: Ligne 198:
 #!/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.txt · Dernière modification : 2022/01/05 13:56 de fcouchet