On complète la doc

This commit is contained in:
Gregory Colpart 2018-11-08 02:57:23 +01:00
parent 6342de8f8b
commit f4336407ee

View file

@ -5,7 +5,8 @@ title: Howto Sympa
* Documentation : <http://www.sympa.org/doc/>
[Sympa](http://www.sympa.org/) est un logiciel de gestion de listes de diffusion.
[Sympa](http://www.sympa.org/) est un logiciel libre de gestion de listes de diffusion. Il est développé en Perl depuis plus de 20 ans par des développeurs français.
Il s'utilise avec une base de données [MySQL](HowtoMySQL) ou [PostgreSQL](HowtoPostgreSQL), et peut aller lire des données dans un annuaire [LDAP](HowtoOpenLDAP).
## Installation
@ -34,40 +35,63 @@ Nov 05 20:34:36 sympa_msg[18009]: notice main:: Sympa/msg 6.2.16 Started
Nov 05 20:34:36 systemd[1]: Started SYMPA mailing list manager.
~~~
`/etc/sympa/sympa/sympa.conf` :
Il faut ensuite ajuster le paramètre suivant dans `/etc/sympa/sympa/sympa.conf` :
~~~
use_fast_cgi 1
~~~
`/etc/postfix/main.cf` :
Et ajouter la gestion des alias Sympa dans `/etc/postfix/main.cf` :
~~~
alias_maps = hash:/etc/aliases hash:/etc/mail/sympa/aliases
alias_database = hash:/etc/aliases hash:/etc/mail/sympa/aliases
~~~
Et s'assurer d'avoir les alias de base dans `/etc/mail/sympa/aliases` :
~~~
## List aliases used for the sympa mailing-list manager
#-- SYMPA begin
## Aliases used for the sympa mailing-list manager
sympa: "|/usr/lib/sympa/bin/queue sympa"
sympa-request: "|/usr/lib/sympa/bin/queue sympa"
sympa-owner: "|/usr/lib/sympa/bin/bouncequeue sympa"
listmaster: root
#-- SYMPA end
~~~
## Configuration
### Apache
VirtalHost :
Fichiers de configuration :
~~~
<VirtualHost *:80 *:443>
ServerName lists.example.com
RedirectMatch ^/$ /wws/
#Include /etc/apache2/ssl/sympa.conf
</VirtualHost>
/etc/sympa/
├── auth.conf
├── cookie
├── cookies.history
├── create_list_templates
├── custom_actions
├── custom_conditions
├── data_sources
├── data_structure.version
├── facility
├── families
├── global_task_models
├── list_task_models
├── mail_tt2
├── scenari
├── search_filters
├── sympa
│   ├── sympa.conf
│   └── sympa.conf.bin
├── sympa.conf-smime.in
├── topics.conf
└── web_tt2
~~~
Let's Encrypt
### Sympa
La configuration principale se trouve dans le fichier `/etc/sympa/sympa/sympa.conf`.
Voici la configuration minimum à ajuster :
~~~
domain lists.example.com
@ -77,11 +101,37 @@ wwsympa_url http://lists.example.com/wws
lang fr
~~~
redémarrer sympa **et** apache !
> *Note* : en cas de changement de configuration de Sympa, il faut redémarrer Sympa **et** Apache (à cause des process FastCGI).
### Apache
Vous devez créer un VirtualHost du type après avoir désactivé la configuration Sympa globale via `a2disconf sympa` :
~~~
<VirtualHost *:80 *:443>
ServerName lists.example.com
RedirectMatch ^/$ /wws/
#Include /etc/apache2/ssl/sympa.conf
<IfModule mod_fcgid.c>
Alias /static-sympa /var/lib/sympa/static_content
<Directory /var/lib/sympa/static_content>
Require all granted
</Directory>
ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa-wrapper.fcgi
<Directory /usr/lib/cgi-bin/sympa>
Require all granted
</Directory>
</IfModule>
</VirtualHost>
~~~
On conseille bien sûr de l'activer en [HTTPS](HowtoSSL), par exemple avec [Let's Encrypt](HowtoLetsEncrypt).
### DKIM
Génération clés DKIM :
Génération des clés DKIM :
~~~
# opendkim-genkey -D /etc/ssl/private/ -d lists.example.com -s sympa2018 -v
@ -89,7 +139,7 @@ Génération clés DKIM :
# chown sympa:sympa /etc/ssl/private/foo_lists.example.com.key
~~~
`sympa.conf` :
On active ensuite dans `/etc/sympa/sympa/sympa.conf` :
~~~
dkim_feature on
@ -98,19 +148,48 @@ dkim_signer_domain lists.example.com
dkim_selector sympa2018
~~~
## Plomberie
Les emails d'administration (changement de mot de passe, modération, etc.) sont envoyés à `sympa@lists.example.com`,
grâce à un alias Postfix, ils sont *pipés* vers le programme `/usr/lib/sympa/bin/queue sympa`
Les emails pour une liste de diffusion *foo* sont envoyés à `foo@lists.example.com`.
Les alias Postfix suivants les redirigent vers différents programmes :
~~~
foo: "| /usr/lib/sympa/bin/queue foo"
foo-request: "| /usr/lib/sympa/bin/queue foo-request"
foo-editor: "| /usr/lib/sympa/bin/queue foo-editor"
foo-subscribe: "| /usr/lib/sympa/bin/queue foo-subscribe"
foo-unsubscribe: "| /usr/lib/sympa/bin/queue foo-unsubscribe"
foo-owner: "| /usr/lib/sympa/bin/bouncequeue foo"
~~~
Le message passe ensuite par différentes files d'attente suivant la configuration (modération, etc.).
Voici les répertoires importants pour Sympa :
* `/var/spool/sympa/` : files d'attente (modération etc.)
* `/var/lib/sympa/arc/` : archives des listes de diffusion générées avec [MHonArc](https://www.mhonarc.org/)
* `/var/lib/sympa/list_data/` : données de configuration des listes de diffusion
* `/usr/share/sympa/bin/` et `/usr/lib/sympa/bin/` : scripts Perl et binaires
* `/usr/share/sympa/lib/` et : bibliothèques Perl
* `/usr/share/sympa/default/` : templates
## FAQ
### List::load() No such robot
J'ai des messages de ce type alors que example.com n'est pas/plus du tout domaine :
J'ai des messages de ce type alors que *example.com* n'est pas/plus du tout domaine :
~~~
Nov 9 18:35:18 serveur task_manager[7285]: List::load() No such robot (virtual domain) example.com
~~~
Cela pourrait venir de tâches à nettoyer dans /var/spool/sympa/task/
Au passage, vérifier en base de données qu'il n'y a pas/plus rien relatif à example.com dans subscriber_table, session_table, logs_table.
Cela pourrait venir de tâches à nettoyer dans `/var/spool/sympa/task/`.
Au passage, vérifier en base de données qu'il n'y a pas/plus rien relatif à *example.com* dans subscriber_table, session_table, logs_table.
### Installation sous Debian 6
@ -133,4 +212,43 @@ Si vous avez des erreurs Apache du type :
[Assurez-vous](https://bugs.debian.org/682562) d'avoir activé `use_fast_cgi`.
### Prise en compte des changements de configuration
En cas de changement de configuration de Sympa, il faut redémarrer Sympa **et** Apache (à cause des process FastCGI).
### Données dans LDAP
Après avoir créé une liste, on peut configurer un annuaire LDAP en allant dans `Configurer la liste` puis `Définition des sources de données`.
Il pourra être nécessaire de cliquer sur `Mise à jour` pour mettre à jour les données LDAP.
### Unable run newaliases / Failed to remove aliases
Lors de l'ajout / suppression de listes, si vous obtenez des erreurs du type :
~~~
wwsympa[19038]: [robot lists.example.com] [user listmaster@lists.example.com] [list test] Unable run newaliases
wwsympa[19027]: Failed to remove aliases ; status 6 : Ioctl() inappropré pour un périphérique
~~~
Un contournement peut être d'utiliser directement `/usr/lib/sympa/bin/alias_manager.pl` :
~~~
# /usr/lib/sympa/bin/alias_manager.pl -h
Usage:
alias_manager.pl add | del listname domain
~~~
### Une liste vers une autre non archivée ?
C'est probablement à cause de la présence de l'entête `X-No-Archive: yes` !
### mails non reçus par une liste ?
Voir dans `sympa.pl`, certains filtres basiques sont effectués, notamment :
~~~
if ($sender =~ /^(mailer-daemon|sympa|listserv|mailman|majordomo|smartlist|$conf_email)(\@|$)/mio) {
~~