1 / 151

Administration d’un service de listes de diffusion avec

Administration d’un service de listes de diffusion avec. Serge Aumont & Olivier Salaün September 2004. Pourquoi Sympa par le CRU ?. Les listes de diffusions sont un service de base des universités et établissements d’enseignement supérieur.

lavonn
Download Presentation

Administration d’un service de listes de diffusion avec

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

  2. Pourquoi Sympa par le CRU ? • Les listes de diffusions sont un service de base des universités et établissements d’enseignement supérieur. • Première génération de serveur de listes de diffusion pour accompagner la migration de EARN. (Serveur de listes du CRU = 8 millions de messages diffusés en Octobre 2004) • Toujours un déficit de l’offre par rapport aux besoins • La logique du libre n’est pas seulement d’utiliser les réalisations des autres • Notre tutelle est maintenant convaincue des retombées favorables de cet effort en particulier en terme d’image • Sympa est notre matériel d’expérimentation favori (pages dynamiques, cgi/MySQL, LDAP, S/MIME, antivirus, SSO, SOAP, XML …)

  3. Les inscrits • 300 inscrits dont : • Majorité : universités • 30 Recherche (CNRS, INRA, INRIA) • 26 Rectorats • 16 IUFM • 14 xx.gouv.fr • Collectivités locales • Entreprises privées

  4. Les utilisateurs • 4 000 sites connus • Education : • 90% des universités françaises +IUFM + Rectorats • Universités étrangères (Europe, USA, Amérique du sud, Asie du sud est) • Ministères et agences gouvernementales • Fournisseurs de service & SSII • Associations • Entreprises privées

  5. Le support(http://www.sympa.org) • Manuel de référence • FAQ • Archives des listes • Google site:sympa.org « mon problème » • Articles et présentations • Listes de discussion (sympa-fr, sympa-dev) • Support commercial • Sympa-authors@cru.fr

  6. Disponibilité, versions • Architecture générale et organisation de Sympa • Interaction avec le système, structure de la base • robots virtuels • Authentification • Autorisation • Shibboleth • Protection des données individuelles • Listes dynamiques • Familles de listes • Les templates • Le serveur soap • En cas de problème • Perspectives

  7. Ce qui ne sera PAS abordé aujourd’hui... • Présentation exhaustive des fonctionnalités utilisateur • Installation « pas à pas » de Sympa • Fonctionnalités S/MIME

  8. 3.4.4 2.7.3 4.1.2 Evolution des versions Mars 2004 SOAP Auth. CAS, Shibboleth Gestion auto. Bounces HTML Area Juillet 2000 WWSympa inclus S/MIME 4.1 3.4 HEAD Fin 2004/début 2005 TT2 Familles de listes Include owners Modération documents Canal RSS Upload zip Octobre 2002 Include 2 AuthN LDAP Virtual robots Task manager Documents partagés Antivirus

  9. Distribution de Sympa • sympa-xx.tar.gz • Préserve les personnalisations • Gestion automatique des dépendances CPAN • Maj automatique des structures de données • Paquets : • Debian : sympa 4.1.2 dans unstable • Mandrake : maintenu par le rectorat de Nantes • RedHat : pas maintenu !! • CVS : ne pas installer une version « anonyme » !!

  10. Mise à jour de votre installation • Incompatibilités : • indiquées dans le fichier NEWS (lignes *****) • affiché au début du make install • Installation/Maj des modules CPAN : • Géré automatiquement au make install • Modification de la structure de la base : • Pour MySQL mise à jour auto, au démarrage de sympa.pl • Préservation de vos personnalisations : • Seul le répertoire /home/sympa/bin/ est écrasé

  11. Disponibilité, versions • Architecture générale et organisation de Sympa • Interaction avec le système, structure de la base • Les robots virtuels • Authentification • Autorisation • Shibboleth • Protection des données individuelles • Listes dynamiques • Familles de listes • Les templates • Le serveur soap • En cas de problème • Perspectives

  12. Organisation d’un serveur Sympa super listmaster listes.cru.fr Serveur Robots virtuels recherche.gouv.fr jres.org cru.fr listmaster Familles owner Listes sympa-dev@cru.fr pki-fr@cru.fr editor

  13. Une organisation hiérarchique • Mecanisme d’héritage s’applicant aux : • Fichiers de configuration et aux paramètres • Fichiers d’authorisation (scenarios) • Templates web • Messages de service (templates) • Il est souhaitable de définir les défauts au niveau le plus haut • Le niveau le plus haut est la distribution de Sympa (/home/sympa/bin/etc/)

  14. Un robot par défaut ou pas… • Le robot par défaut peut : • Contenir les listes du service principal • Servir uniquement pour définir des défauts communs à tous les robots virtuel (dans ce cas il faut définir un paramètre host jamais utilisé) • La solution (2) offre plus de souplesse

  15. Les rôles dans Sympaau niveau global • Listmaster du site : • défini dans sympa.conf • Gère le service au niveau système (personnalisation, création de robots virtuel, familles,…) • Listmaster d’un robot virtuel : • Défini dans robot.conf • Valide les créations de listes, assure le support auprès des propriétaires de listes

  16. Les rôles dans Sympaau niveau d’une liste • Propriétaire : • Gère la population des abonnés (ajout, suppression, bounces) • Configure la liste (paramètres, templates, scenarios) • Propriétaire privilégié : • Gère les propriétaires • Accès à des paramètres de configuration sensibles (send,…) • Modérateur : • Gère les contenus de la liste (messages, documents partagés)

  17. Organisation des données • Des fichiers pour : • La configuration (globale, des listes) • Les templates • Les « spools » • Les archives • Une base de données pour : • Les préférences utilisateurs • Les membres des listes (nombreux attributs) • Les « gérants » des listes (cache uniquement ; référence = fichier de configuration de la liste)

  18. Organisation / les répertoires /home/sympa/bin/ # Exécutables /home/sympa/bin/etc/ # Configurations par défaut /home/sympa/etc/ # Configurations du site /home/sympa/etc/scenari/ # Scenarios d’autorisation /home/sympa/etc/mail_tt2/ # Messages de service /home/sympa/etc/web_tt2/ # Templates web /home/sympa/etc/family/ # Répertoire des modèles de familles /home/sympa/etc/mon-robot/ # Configurations robot virtuel /home/sympa/expl/ # Répertoire des listes /home/sympa/expl/maliste/ # Répretoire d’une liste /home/sympa/expl/X509r-certs/ # Certificats utilisateurs /home/sympa/spool/ # Les “spools” /home/sympa/src/ # Pour stoquer vos tar.gz… /var/bounce/ # Stockage des bounces /home/httpd/html/arc/ # Les archives web

  19. Organisation / les fichiers de configuration /etc/sympa.conf # Configuration du site /etc/wwsympa.conf # Configuration relative à l’interf. web /home/sympa/etc/topics.conf # Les catégories de listes /home/sympa/etc/edit_list.conf # Qui peut éditer quel paramètre /home/sympa/etc/auth.conf # Configuration de l’authentification /home/sympa/etc/mon-robot/robot.conf # Configuration d’un robot virtuel /home/sympa/etc/family/ma-famille/edit_list.conf /home/sympa/etc/family/ma-famille/param_constraint.conf # Contraintes param. listes /home/sympa/expl/maliste/config # Fichier de configuration d’une liste

  20. Disponibilité, versions • Architecture générale et organisation de Sympa • Interaction avec le système, structure de la base • Les robots virtuels • Authentification • Autorisation • Shibboleth • Protection des données individuelles • Listes dynamiques • Familles de listes • Les templates • Le serveur soap • En cas de problème • Perspectives

  21. Les démons sympa.pl wwsympa.fcgi Internal database spool task_manager.pl archived.pl config bounced.pl templates sympasoap.fcgi

  22. message message message message Circuit d’un complexe mail valid confirm message List config Sendmail root.bin sympa.pl uid sympa mysql msg auth mod outgoing message confirm valid message message message

  23. Interactions avec la messagerie • exim, postfix, qmail, sendmail • sendmail  sympa.pl via spool msg ma-liste: “| /etc/smrsh/queue ma-liste” -rwsr-xr-x 1 sympa sympa 23971 Oct 13 14:55 /etc/smrsh/queue* • sendmail  bounced.pl : idem, bouncequeue

  24. Interactions avec la messagerie • sympa.pl et wwsympa.pl  /usr/bin/sendmail • wwsympa.pl et sympa.pl  newaliases -rwxr-xr-x 1 sympa sympa 5933 Oct 15 12:24 alias_manager.pl* -rwsr-x--- 1 root sympa 22820 Oct 13 14:55 aliaswrapper* sendmail.mc : define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/sympa_aliases')dnl • maxsmtp pour contrôler la charge du serveur • nrcpt pour optimser le groupage. Attention à ne pas passer pour un spammeur

  25. Interactions avec Syslogd • serveur de log unix • Voir : • syslog.conf • log_socket_typedans sympa.conf • log_level dans sympa.conf et wwsympa.conf • option –d pour chaque démon (sauf fastcgi) • Attention à la charge induite

  26. Interaction avec le systeme MySQL ou autre SGBD pour le backend : • Le backend de type fichier (user_data_source file) est abandonné : perfs déplorables, manque fonctionnel, plus de support. • Le SGBD de référence est MySQL : • versions beta testées uniquement avec MySQL • Création et mise à jour automatique de la structure des tables (au lancement de sympa.pl)

  27. Apache • Un uid/gid unique pour wwsympa.fcgi, archived.pl, bounced.pl and sympa.pl. • wwsympa.fcgi : sympa.sympa + bit s • Serveur apache dédié avec uid sympa • Virtual host + directive User dans httpd.conf • attention borne sup pour uid/gid) http://httpd.apache.org/docs/suexec.html#install • attention directive User et Goup avant FastCgiServer • wrapper en C

  28. Apache fastcgi • Fastcgi est requis FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 2 <Location /wws> SetHandler fastcgi-script </Location> ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi

  29. OpenSSL • openssl : binaire de OpenSSL, • cafile capath : bundle des certificats d’AC (fichier et répertoire). Partage avec la config https recommandée

  30. OpenSSL • key_password :mot de passe pour protéger les clés privées de chaque liste quand celle-ci dispose de certificat pour le chiffrement • Installation d’un certificat de liste : p12topem.pl --pkcs12 cert.p12 –listname foo --robot cru.fr

  31. Antivirus • Pour ne pas traiter les bounces • mailhost et listhost différents • Produit supportés : uvscan, avp, fsav, sophos, clamav • Sympa.conf antivirus_path /usr/local/bin/uvscan antivirus_args --summary --secure antivirus_notify nobody

  32. MhOnarc • Le moteur de conversion utilisé par archived et le module de modération par le web • Archives stokées dans un répertoire séparé (partition recommandée), voir arc_path • Config de liste web_archive Access private quota 10000

  33. MhOnarc …/spool/outgoing sympa.pl archived.pl mhonarc_ressources remove rebuild wwsympa.fcgi tt2 …/list@dom/msgxx.html …/list@dom/arctxt/xx

  34. htmlarea • Compatible IE 5.5 et + et Mozilla 1.4 et + (Gecko) • Installer htmlarea quelque part sur le même host • http://sf.net/projects/itools-htmlarea/ • Renseigner htmlarea_url (wwsympa.conf)

  35. Structure de la base Tables : user_table, subscriber_table, admin_table

  36. Structure de la base

  37. Structure de la base / subscriber

  38. Structure de la base

  39. Structure de la base

  40. En fonctionnement normal select_priv insert_priv update_priv delete_priv Initialisation ou mis à jour create_priv drop_priv index_priv alter_priv MySQL : les droits Créer un usager avec les droits suivants :

  41. Disponibilité, versions • Architecture générale et organisation de Sympa • Interaction avec le système, structure de la base • Les robots virtuels • Authentification • Autorisation • Shibboleth • Protection des données individuelles • Listes dynamiques • Familles de listes • Les templates • Le serveur soap • En cas de problème • Perspectives

  42. Robots virtuels • Equivalent Sympa des domaines virtuels de sendmail et des hosts virtuels d’Apache • Une seule installation de Sympa • Les démons servent indistinctement tout les robots • Pas de création en ligne du robot

  43. Installation messagerie • Créer le domaine dans le DNS • Installer un domaine virtuel sendmail virtual-domains:virtual.org virtusertable:@virtual.org virtual.org-%1%3 • Créer les alias virtual.org-sympa: "| ../bin/queue sympa@virtual.org" virtual.org-listmaster: "| ../bin/queue listmaster@virtual.org" • template list_alias.tt2 a perrsonnaliser selon la forme de vos alias

  44. Installation apache FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 3 <VirtualHost 190.213.92.1> ServerAdmin webmaster@virtual.org DocumentRoot /var/www/virtual.org ServerName listes.virtual.org <Location /wws> SetHandler fastcgi-script </Location> ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi </VirtualHost>

  45. Installation robot virtuel /home/sympa/etc/virtual.org/robot.conf • http_host : comparé à $ENV{‘SERVER_NAME’} pour déterminer quel robot solliciter. Exemple : http_host listes.virtual.org • wwsympa_urlbase URL Exemple wwsympa_url http://listes.virtual.org/wws

  46. Installation robot virtuel • Les variables suivantes peuvent être positionnée pour un virtual robot , elles remplacent les valeures par défaut spécifiées dans sympa.conf : • soap_url • cookie_domain • email • title • default_home • create_list • lang • log_smtp • listmaster • max_size • dark_color, light_color, text_color, bg_color, error_color, selected_color, shaded_color

  47. Exemple de robot.conf http_host demo.sympa.org wwsympa_url http://demo.sympa.org/wws title A demo mailing list service listmaster bid@cru.fr,dule@cru.fr create_list public_listmaster default_home lists lang us default_shared_quota 5000 soap_url http://demo.sympa.org/soap

  48. Personnaliser les robots • /home/sympa/etc/virtual.org/web_tt2/, • /home/sympa/etc/virtual.org/wws_templates/, • /home/sympa/etc/virtual.org/mail_tt2/, • /home/sympa/etc/virtual.org/templates/, • /home/sympa/etc/virtual.org/scenari/ • /home/sympa/etc/virtual.org/edit_list.conf • /home/sympa/etc/virtual.org/topics.conf

  49. Disponibilité, versions • Architecture générale et organisation de Sympa • Interaction avec le système, structure de la base • Les robots virtuels • Authentification • Autorisation • Shibboleth • Protection des données individuelles • Listes dynamiques • Familles de listes • Les templates • Le serveur soap • En cas de problème • Perspectives

More Related