Documentation sur le logiciel SYMPA

Ceci est une ancienne révision du document !


SYMPA : Avoir plusieurs robots

DNS

Déclarer le nom des robots dans le DNS

Création des virtuals hosts (robots)

Pour chaque <VIRTUAL HOST> :

Fichiers de configuration

# cd ~sympa/etc
# mkdir <VIRTUAL HOST>

Quand tous les fichiers de configurations sont créés :

# chown -R sympa:sympa <VIRTUAL HOST>

robot.conf

host  <VIRTUAL HOST>  
http_host  <VIRTUAL HOST>
wwsympa_url     http://<VIRTUAL HOST>/sympa
listmaster  toto@grenoble-inp.fr
title Listes pour ......
soap_url        https://<VIRTUAL HOST>/sympasoap

topics.conf

Définir les catégories de listes du menu Accueil

edit_list.conf

Définir les droits (listmaster, privileged owner, normal owner, abonné, usager )

Configuration des listes de diffusion

# cd ~sympa/liste-data
# mkdir <VIRTUAL HOST>
# chown -R sympa:sympa <VIRTUAL HOST>
# chmod 750 <VIRTUAL HOST>

Sites web

# mkdir /var/www/html/<VIRTUAL HOST>
# chown sympa:sympa /var/www/html/<VIRTUAL HOST>

Récupérer le logo de Grenoble INP

Dans le répertoire /var/www/html/<VIRTUAL HOST>

  • favicon.ico
  • créer un répertoire logos avec un fichier logo-inpg.gif

Modifier le ficher /etc/httpd/conf/httpd.conf

<VirtualHost xxx.xxx.xxx.xxx:443>
   DocumentRoot /var/www/html/<VIRTUAL HOST>
   ServerName <VIRTUAL HOST>
   ServerAdmin webmaster@xxxxxxxxxxxxxxx.fr
   ScriptAlias /sympa /home/sympa/bin/wwsympa-wrapper.fcgi
   ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server-wrapper.fcgi
   Alias /static-sympa /home/sympa/static_content
   Redirect  /index.html http://<VIRTUAL HOST>/sympa
   Redirect  /sympa&gateway=1 https://<VIRTUAL HOST>/sympa

   ErrorLog logs/<VIRTUAL HOST>-error_log
   CustomLog logs/<VIRTUAL HOST>_log common

   <Location /sympa>
        SetHandler fcgid-script
        Options ExecCGI
   </Location>

   <Location /sympasoap>
        SetHandler fcgid-script
        Options ExecCGI
   </Location>

</VirtualHost>

Messagerie

/etc/mail/transport_regexp

/^.*-owner\@listes-XXX\.grenoble-inp\.fr$/ sympabounce:
/^.*\@listes\-XXX.grenoble-inp\.fr$/       sympa:

# postmap /etc/mail/transport_regexp

/etc/mail/virtual_regexp

/^(.*)@listes-XXX.grenoble-inp.fr$/ listes-XXX.grenoble-inp.fr-$1

# postmap /etc/mail/virtual_regexp

Scripts

Ajouter le robot dans le script alias_verification.pl

Templates

<note importante> Si le robot et la variable domain dans /etc/sympa.conf ont le même nom, sympa prendra pour le robot les templates :

  • dans /etc/web_tt2 au lieu de /etc/<robot>/web_tt2
  • dans /etc/create_list_templates au lieu de /etc/<robot>/create_list_templates

</note>

Transfert des listes sur un autre robot

Fichiers de propriétaires

recopier les fichiers de propriétaires

# mkdir ~sympa/etc/listes-XXX.grenoble-inp.fr/data-sources  
# cp -p ~sympa/etc/listes.grenoble-inp.fr/data-sources/owner-XXX.incl ~sympa/etc/listes-XXX.grenoble-inp.fr/data-sources

Les scénarios

s'il en existe des spécifiques les recopier

  # mkdir ~sympa/etc/listes-XXX.grenoble-inp.fr/scenari
  # cp -p ~sympa/etc/listes.grenoble-inp.fr/   ....

Les familles

s'il en existe des spécifiques les recopier

# mkdir ~sympa/etc/listes-XXX.grenoble-inp.fr/families
# cp -p ~sympa/etc/listes.grenoble-inp.fr/ ....

Les modèles de création de liste

s'il en existe des spécifiques les recopier

# mkdir ~sympa/etc/listes-XXX.grenoble-inp.fr/create_list_templates
# cp -p ~sympa/etc/listes.grenoble-inp.fr/   ....

Transfert d'une liste sur un autre robot

Changement de host

Sur l'interface web pour la liste dans le menu “Configurer la liste” puis “Définition de la liste” : avoir dans “Domaine internet (host) listes.grenoble-inp.fr”
si ce n'est pas le cas cela il suffit de supprimer le contenu du champ host

Pour modifier 3 façons de faire

  • par le web
  • en ligne de commande
  • manuellement

Modification par le web

Menu Admin puis rename

Modification en ligne de commande

# ~sympa/bin/sympa.pl –rename_list=listname\@listes.grenoble-inp.fr 
                      –new_listname=listname –new_listrobot=listes-XXX.grenoble-inp.fr  

Script pour généraliser à plusieurs listes : list-change_robot.sh

Modification manuellement

Configuration de la liste

déplacement du répertoire concernant la configuration de la liste dans le nouveau robot

 # mv ~sympa/list-data/listes.grenoble-inp.fr/listname ~sympa/list-data/listes-XXX.grenoble-inp.fr

Aliases

Modification des alias dans /etc/mail/sympa_aliases au niveau de la liste

Remplacer

#------------------------------ listname : list alias created 22 May 2015 pour le robot listes.grenoble-inp.fr
listes.grenoble-inp.fr-listname: "| /home/sympa/bin/queue listname@listes.grenoble-inp.fr"
listes.grenoble-inp.fr-listname-request: "| /home/sympa/bin/queue vlistname-request@listes.grenoble-inp.fr"
listes.grenoble-inp.fr-listname-editor: "| /home/sympa/bin/queue listname-editor@listes.grenoble-inp.fr"
#listes.grenoble-inp.fr-listname-subscribe: "| /home/sympa/bin/queue listname-subscribe@listes.grenoble-inp.fr"
listes.grenoble-inp.fr-listname-unsubscribe: "| /home/sympa/bin/queue listname-unsubscribe@listes.grenoble-inp.fr"
listes.grenoble-inp.fr-listname-owner: "| /home/sympa/bin/bouncequeue listname@listes.grenoble-inp.fr"

Par

#------------------------------ listname : list alias created 22 May 2015 pour le robot listes-XXX.grenoble-inp.fr
listes-XXX.grenoble-inp.fr-listname: "| /home/sympa/bin/queue listname@listes-XXX.grenoble-inp.fr"
listes-XXX.grenoble-inp.fr-listname-request: "| /home/sympa/bin/queue vlistname-request@listes-XXX.grenoble-inp.fr"
listes-XXX.grenoble-inp.fr-listname-editor: "| /home/sympa/bin/queue listname-editor@listes-XXX.grenoble-inp.fr"
#listes-XXX.grenoble-inp.fr-listname-subscribe: "| /home/sympa/bin/queue listname-subscribe@listes-XXX.grenoble-inp.fr"
listes-XXX.grenoble-inp.fr-listname-unsubscribe: "| /home/sympa/bin/queue listname-unsubscribe@listes-XXX.grenoble-inp.fr"
listes-XXX.grenoble-inp.fr-listname-owner: "| /home/sympa/bin/bouncequeue listname@listes-XXX.grenoble-inp.fr"

Puis

# newaliases

Puis transférer les alias sur le serveur d'alias de grenoble-inp.fr

Transfert des archives

# cd /home/sympa/arc

 # mv listname@listes.grenoble-inp.fr listname@listes-XXX.grenoble-inp.fr

Vérification de la base

# select * from list_table where  name_list='listname' ;

Modèles interface web

Sous ~sympa/etc/web.tt2 : pour tous les robots et toutes les langues

main.tt2

  • Pour avoir la liste des robots

Après <div id=“Menus”><!– Start Menus –>&nbsp;

<ul>
  <li><a href="http://acacia.infra.grenoble-inp.fr/sympa">Grenoble INP</a></li>
  <li><a href="http://listes-gi.grenoble-inp.fr/sympa">Genie Industriel</a></li>
  <li><a href="http://listes-ense3.grenoble-inp.fr/sympa">ENSE3</a></li>
  <li><a href="http://listes-pagora.grenoble-inp.fr/sympa">PAGORA</a></li>
  <li><a href="http://listes-gscop.grenoble-inp.fr/sympa">G-SCOP</a></li>
</ul></br>
  • Pour ne pas avoir le <nom de la liste>@<nom du robot> mais <nom de la liste>@grenoble-inp.fr :

<note tip> Remplacer après <div id=“Stretcher”>

<div class="listTitle"><a href="[% path_cgi %]/info/[% list %]">[% list_protected_email %]</a>&nbsp;</div>

par

<div class="listTitle"><a href="[% path_cgi %]/info/[% list %]">[% list %]@grenoble-inp.fr</a>&nbsp;</div>

</note>

lists.tt2 et search_list.tt2

Pour ne pas afficher <nom de la liste>@<nom du robot> mais <nom de la liste>@grenoble-inp.fr :
Remplacer [% which.$listname.host %] par grenoble-inp.fr

Feuille de style

Les feuilles de style de chaque robot est sous ~sympa/static_content/css/<VIRTUAL_HOST>

style.css

Pour avoir le titre avec la couleur de l'école ajouter:

#Title {
       ..................
       color: #003f87;
       ..................

2. Modifier httpd.conf

<VirtualHost 195.xxx.xxx.xxx:80>
   DocumentRoot /var/www/html/<robot>
   ServerName <robot>.inpg.fr
   Redirect  /index.html http://<robot>.inpg.fr/sympa
# en attendant de resoudre le probleme de logout de l'authentification cas
   Redirect  /sympa&gateway=1 http://<robot>.inpg.fr/sympa
   ScriptAlias /sympa /home/sympa/bin/wwsympa_sudo_wrapper.pl
   ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server-wrapper.fcgi
   Alias /static-sympa /home/sympa/static_content
   ErrorLog logs/<robot>-error_log
   CustomLog logs/<robot>-access_log common

<Location /sympa>
    SetHandler fastcgi-script
</Location>:

<Location /sympasoap>
    SetHandler fastcgi-script
</Location>

</VirtualHost>

Créer le fichier ~sympa/etc/<robot>/robot.conf

http_host               <robot>.inpg.fr
wwsympa_url     http://<robot>.inpg.fr/sympa
title                   Serveur de Listes de diffusion ........
create_list     listmaster
listmaster      toto@inpg.fr,tutu@inpg.fr
default_home    home
color_1                #33ccff
color_3                #0099ff
color_4                #dee7f7
logo_html_definition <a href="http://www.inpg.fr"><img style="float : left; margin-top : 7px; margin-left:20px ;" src="/logos/logo-inpg.gif" with="92" height="50" alt="INPG" </a>
soap_url        http://<robot>.inpg.fr/sympasoap
host                   inpg.fr         # pour ne pas avoir le nom du robot comme adresse de la liste de diffusion 

Listmaster : obligatoire dans /etc/sympa/sympa.conf sinon le serveur sympa ne marche pas

Attention les problèmes sur un robot ne sont remontés qu'aux personnes dans listmaster du robot, pas à celles qui sont dans listmaster de sympa.conf