On complète la doc
This commit is contained in:
parent
6342de8f8b
commit
f4336407ee
166
HowtoSympa.md
166
HowtoSympa.md
|
@ -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) {
|
||||
~~
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue