Sympa

De OpenWikiBSD
Aller à : navigation, rechercher

Installation

Debian like

apt-get install sympa etc..

OpenBSD

 pkg_add sympa

  • Les scripts de démarrage sont désormais /etc/rc.d/sympa /etc/rc.d/wwsympa et la conf dans /var/sympa/etc
  • Installe également MHonArc; La doc : in /usr/local/share/doc/mhonarc, les exemples :/usr/local/share/examples/mhonarc
  • Installe également mod_fastcgi, qu'il faut activer :
/usr/local/sbin/mod_fastcgi-enable
apachectl stop
apachectl startssl
 echo "[XML::LibXML::SAX::Parser]
http://xml.org/sax/features/namespaces = 1" >> /usr/local/libdata/perl5/site_perl/XML/SAX/ParserDetails.ini
  • Il manque un module cpan
perl -MCPAN -e 'install FCGI'

Avec NginX

Pour éviter les soucis sur une même machine, on peut faire tourner l'interface web de sympa avec un autre serveur web.

Dans /etc/nginx/nginx.conf:

  • Modifier l'user
user _sympa;
  • Modifier le port
        listen       1080;
  • Modifier le FQDN
        server_name  listes.schwarz-fr.net;
  • Modifier le bloc location ainsi :
   root   /var/nginx/html;
   index  index.html index.htm;
   fastcgi_pass   127.0.0.1:1026;
   fastcgi_param  QUERY_STRING       $query_string;
   fastcgi_param  REQUEST_METHOD     $request_method;
   fastcgi_param  CONTENT_TYPE       $content_type;
   fastcgi_param  CONTENT_LENGTH     $content_length;
   fastcgi_param  PATH_INFO          $fastcgi_script_name;
   fastcgi_param  REQUEST_URI        $request_uri;
   fastcgi_param  REMOTE_ADDR        $remote_addr;
   fastcgi_param  SERVER_NAME        $server_name;
  • Ajouter le bloc suivant
  location /static-sympa {
           alias /var/nginx/sympa;
            }
mv /var/www/sympa /var/nginx
mv /var/www/wwsympa.fcgi /var/nginx/
chown -R _sympa._sympa /var/nginx/tmp

Configuration

Dans /var/sympa/etc/sympa.conf

  • Ajustez les paramètres liés à la bdd et au domaine:
perl -pi -e 's/domain.tld/DOMAINE/g' /var/sympa/etc/sympa.conf
  • Modifier le http_host, le domain
  • Modifier le chemin vers sympa
static_content_path     /var/nginx/sympa
  1. static_content_url
  • Le listmaster (important..)
  • Le lang
  • En particulier le socket mysql :
db_options  mysql_socket=/var/www/var/run/mysql/mysql.sock
  • L'interface web wwsympa_url
Dans /var/sympa/etc/wwsympa.conf
  • Commenter ##ldap_force_canonical_email


Configurer le postfix local

Ben c'est .

  • /etc/postfix/main.cf
alias_maps = hash:/etc/mail/aliases, hash:/var/sympa/sympa_aliases
relay_domains = $mydestination, listes.DOMAIN
sympa_destination_recipient_limit = 1
sympabounce_destination_recipient_limit = 1
recipient_delimiter = +
transport_maps = regexp:/var/sympa/etc/transport_regexp
virtual_alias_domains = listes.FQDN
virtual_alias_maps = hash:/etc/postfix/virtual

Voir aussi

  • /etc/postfix/virtual
@listes.FQDN  @FQDN


  • /etc/postfix/master.cf

TRES attention à celui-là.. C'est un pénible:

1. Que des tabulations pas d'espace

2. tabuler les lignes flags=... sous peine de plantage....

sympa unix - n n - - pipe
     flags=R user=_sympa argv=/usr/local/libexec/sympa/queue ${recipient}
sympabounce unix - n n - - pipe
    flags=R user=_sympa argv=/usr/local/libexec/sympa/bouncequeue ${recipient}
  • /var/sympa/etc/transport_regexp
/^.*-owner\@listes\.FQ\.DN$/ sympabounce:
/^.*\@listes\.FQ\.DN$/       sympa:

Démarrage

/etc/rc.d/sympa start
/etc/rc.d/wwsympa start

Créations de listes

  • Il faut d'abord générer le /var/sympa/sympa_aliases correct
sympa: "| /usr/local/libexec/sympa/queue sympa@listes.FQDN"
listmaster: "| /usr/local/libexec/sympa/queue listmaster@listes.FQDN"
bounce+*: "| /usr/local/libexec/sympa/bouncequeue sympa@listes.FQDN"
abuse-feedback-report: "| /usr/local/libexec/sympa/bouncequeue sympa@listes.FQDN"
sympa-request: postmaster@listes.FQDN
sympa-owner: postmaster@listes.FQDN
postalias /var/sympa/sympa_aliases
postmap /var/sympa/etc/transport_regexp
postfix  stop
postfix  start
/etc/rc.d/sympa restart

Commandes

Envoyer la commande dans le corps du message. Attention à ne pas utiliser de signature GnuPG qui bloquera l'analyse du mail par sympa

  • REMIND NOMDELISTE
  • REMIND *

Migration des archives Web

  • Ancien serveur sympa : Sympa 5.1.4

On récupère les archives de l'ancien en utilisant la fonction adaptée de l'interface web. on arrive à des fichiers NomDeListe_archives.zip

une fois dézippé, l'archive donne :

Liste_AAAA_MM/        1
                      2
                      3.....

Avec AAAA: année, MM, mois

et 1,2...tous les messages en HTML

  • Nouveau :Sympa 5.2.3

Le script qui fait la migration

#!/bin/bash
# Passage des archives Web d'un ancien serveur sympa au nouveau mode
# Usage : recopiearchive.sh ANNEE/4chiffres NOMDELISTE (sans le @domaine)
# PUIS NE PAS OUBLIER de reconstruire les archives par l'interface ouebe
# GPL
# Polyp@ ce domaine

# Variables globales

SRV=listes.lyceenobel.org
REPBASE=/root/sympa # Là où sont stockées les archives dézippées
ANNEE=$1
LIST=$2

for NUMERO in  01 02 03 04 05 06 07 08 09 10 11 12
do

#Variables 
MOIS=$ANNEE-$NUMERO
SREP=$REPBASE/$LIST\_$MOIS
DREP=/var/lib/sympa/wwsarchive/$LIST@$SRV
DREPARC=$DREP/$MOIS

echo""
if [ -e $SREP ]
        then
        if [ -d $DREPARC ]
        then
                echo "$DREPARC existe"
                else
                mkdir $DREPARC
                mkdir $DREPARC/arctxt
                cp $SREP/* $DREPARC/arctxt/
                chown -R sympa.sympa $DREPARC
                echo "$DREPARC cree, archives ajoutees"
        fi
        else
        echo "$SREP : Aucune archive"
fi

done

Vous n'avez plus qu'à lancer une reconstruction de toutes les archives par l'interface.

Changer le système de modération

for CONF in `rgrep -H privateoreditorkey /var/lib/sympa/expl/*/config | cut -d":" -f1 ` ; do perl -pi -e 's/privateoreditorkey/privateorpublickey/'  $CONF; done

Permet de valider la modération par l'expéditeur (privateorpublickey) et non plus par le modérateur (privateoreditorkey)