Ceci est une ancienne révision du document !
Table des matières
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
http_host <VIRTUAL HOST>
wwsympa_url http://<VIRTUAL HOST>/sympa
listmaster toto@grenoble-inp.fr
title Listes pour ......
soap_url https://<VIRTUAL HOST>/sympasoap
logo_html_definition <img style="float : left; margin-top : 7px; margin-left:20px ;"
src="/logos/logo.gif" with="92" height="50" alt="INPG">
soap_url http://listestest.grenoble-inp.fr/sympasoap
<note important>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</note>
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
SSLEngine on
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
SSLCertificateFile /etc/httpd/conf/ssl.crt/XXXXX_grenoble-inp_fr.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/XXXXX.grenoble-inp.fr.key
SSLCertificateChainFile /etc/httpd/conf/ssl.crt/DigiCertCA.crt
<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 v 6.1
- Pour avoir la liste des robots
Après <div id=“Menus”><!– Start Menus –>
<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> </div>
par
<div class="listTitle"><a href="[% path_cgi %]/info/[% list %]">[% list %]@grenoble-inp.fr</a> </div>
</note>
main.tt2 v 6.2
[% IF top_menu %]
<br><font color=red>Les serveurs de listes</font> : <b> – <a href=“http://acacia.infra.grenoble-inp.fr/sympa”>Grenoble INP</a> – <a href=“http://listes-gi.grenoble-inp.fr/sympa”>Genie Industriel</a> – <a href=“http://listes-ense3.grenoble-inp.fr/sympa”>ENSE3</a> – <a href=“http://listes-pagora.grenoble-inp.fr/sympa”>PAGORA</a></b> & <b><a href=“http://listes-pagora.grenoble-inp.fr/sympa”>LGP2</a> – <a href=“http://listes-gscop.grenoble-inp.fr/sympa”>G-SCOP</a> –</b></br>
[% PROCESS header.tt2 %]
lists.tt2 et search_list.tt2 V6.1
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
lists.tt2 et search_list.tt2 V6.2
# vi title.tt2
<!-- $Id: title.tt2 11846 2015-01-15 04:15:17Z sikeda $ --> <h1 style="padding-top: 10px;">[% list %]@grenoble-inp.fr</h1> <!-- end title.tt2 -->
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;
..................
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
