Rappel : L’environnement d’installation est celui-ci :
- Système d’exploitation : Ubuntu 8.10 Intrepid Ibex
- Serveur Web : Apache version 2.2.9
- PHP : 5.2.6
- Mysql : 5.0.67
- Perl : 5.10.0
Il se peut donc que certaines commandes Unix utilisées ne soient pas compatibles avec d’autres distributions. Vous pouvez laisser un message en bas de cet article pour toutes questions.
Installation de sympa
- # Téléchargement des sources
- wget http://www.sympa.org/distribution/sympa-5.4.6.tar.gz
- # Décompression du paquet
- tar -xvzf sympa-5.4.6.tar.gz
- # On va dans le répertoire qui contient les sources
- cd sympa-5.4.6/
- # Il est nécessaire d ajouter un utilisateur "sympa" ce qui créera également un dossier "/home/sympa"
- sudo adduser sympa
- # Installation préalable de quelques paquets nécessaires
- sudo apt-get install gettext zip unzip lynx ncftp libintl-perl libfcgi-perl libxml2-dev libappconfig-perl perl-suid libapache2-mod-fastcgi
- # Configurer l installateur
- ./configure
- # Compiler sympa
- sudo make
Normalement, sympa va vous demander d’installer les modules perl par cpan... Laissez les options par défaut et validez jusqu’à la fin.
A la fin de cette compilation il se peut que sympa vous dise qu’il manque des locales d’installées sur votre système. Pour régler les problèmes de locales vous pouvez suivre cet article puis relancer la compilation par "make"
Finir l’installation
- sudo make install
Le programme d’installation va vous poser plusieurs questions...
Laissez les valeurs par défaut en général.
A la question : Sympa will associate listmaster privileges to these email addresses (mail and web interfaces). Some error reports may also be sent to these addresses. listmaster : Listmasters email list comma separated, indiquez le mail de la personne qui sera listmaster général.
Configuration de sympa pour la gestion d’un sous domaine pour les différents sous domaines
Sympa gère le multidomaine grace aux fichiers "robot.conf"
Prenons le cas de deux domaines distincts : lists.arscenic.org et lists.reflet-web.net (Toute référence à ces domaines devra être modifié en conséquence pour vos configurations).
lists.arscenic.org est le domaine principal du serveur de listes... reflet-web.net sera un robot secondaire.
Faire pointer les dns vers le serveur
Les zones DNS du nom de domaine doivent être configurées de la sorte :
- Chaque sous domaine lists.arscenic.org et lists.reflet-web.net doit être défini par un MX (Mail Exchanger record) afin de router les messages vers le serveur.
- Ces mêmes sous domaines doivent être définis comme "Hote" (A record) ou "alias" (CNAME) pour rediriger correctement vers les serveur mail.
Configurer Apache et créer les virtualhosts nécessaires
Ajouter ceci :
- AddDefaultCharset utf-8
dans /etc/apache2/apache2.conf afin d’éviter tout problème d’accent dans l’interface graphique
Activer le module fastcgi d’Apache :
- a2enmode fastcgi
- # Créer un fichier spécifique de définition des sites pour sympa
- nano /etc/apache2/sites-available/sympa.conf
- #Activer le virtualhost sympa
- a2ensite sympa.conf
- #redémarrer le serveur apache
- /etc/init.d/apache2 restart
On a décidé de mettre l’ensemble des configurations des virtualhosts de sympa dans le même fichier (/etc/apache2/sites-available/sympa). Il ressemble à ceci :
- <VirtualHost 88.191.25.106:80>
- ServerName lists.arscenic.org
- ServerAdmin listes@arscenic.org
- ScriptAlias /sympa /home/sympa/bin/wwsympa-wrapper.fcgi
- DirectoryIndex sympa/
- DocumentRoot /var/www/virtual/arscenic.org/sympa/
- <Location /sympa>
- SetHandler fastcgi-script
- </Location>
- Alias /wwsicons /usr/share/sympa/icons
- Alias /static-sympa /home/sympa/static_content
- </VirtualHost>
- <VirtualHost 88.191.25.106:80>
- ServerName lists.reflet-web.net
- ServerAdmin quentin@arscenic.org
- ScriptAlias /sympa /home/sympa/bin/wwsympa-wrapper.fcgi
- DirectoryIndex sympa/
- DocumentRoot /var/www/virtual/lists.reflet-web.net/htdocs/
- <Location /sympa>
- SetHandler fastcgi-script
- </Location>
- Alias /wwsicons /usr/share/sympa/icons
- Alias /static-sympa /home/sympa/static_content
- </VirtualHost>
Pour activer les virtualhosts il suffit alors de faire :
- a2ensite sympa
- /etc/init.d/apache2 force-reload
Créer les répertoires et fichiers de configuration nécessaires
NB : sympa est installé dans le répertoire home de sympa donc "/home/sympa"
Pour chaque robot, il est nécessaire de créer ses propres répertoires et fichiers de configuration.
- su sympa -c 'mkdir /home/sympa/expl/lists.reflet-web.net'
- chmod 750 /home/sympa/expl/lists.reflet-web.net
Ce répertoire contiendra l’ensemble des mailing lists liées à ce domaine.
Puis :
- su sympa -c 'mkdir /home/sympa/etc/lists.reflet-web.net'
- chmod 750 /home/sympa/etc/lists.reflet-web.net
Ce répertoire contiendra le fichier de configuration spécifique à ce domaine.
Dans ce répertoire, on crée donc un fichier robot.conf qui ressemble au fichier de configuration sympa.conf.
- nano /home/sympa/etc/lists.reflet-web.net/robot.conf
On remplit ce nouveau fichier comme suit :
- http_host lists.reflet-web.net
- host lists.reflet-web.net
- wwsympa_url http://lists.reflet-web.net/sympa
- cookie_domain localhost
- listmaster quentin@arscenic.org
- create_list listmaster
- default_home home
- title Reflet Mailing lists
On lui donne les bons droits :
- chown -R sympa:sympa /home/sympa/etc/lists.reflet-web.net/robot.conf
Ces opérations doivent être répétées pour chaque robot et à chaque fois qu’un nouveau robot sera ajouté.
Configurer Postfix
Dorénavant, on a besoin de régler le fait que les mails destinés aux mailing lists soient redirigés vers le robot de sympa.
Dans le fichier /etc/aliases, vous devez ajouter ces lignes :
- listmaster: "| /home/sympa/bin/queue listmaster@lists.arscenic.org"
- bounce+*: "| /home/sympa/bin/bouncequeue sympa@lists.arscenic.org"
- abuse-feedback-report: "| /home/sympa/bin/bouncequeue sympa@lists.arscenic.org"
- sympa: "| /home/sympa/bin/queue sympa@lists.arscenic.org"
Note : lists.arscenic.org a été configuré comme robot par défaut dans la configuration de sympa.
Créer un fichier /etc/mail/sympa_transport_regexp contenant pour chaque robot ces deux lignes :
en les modifiant en fonction des robots bien entendu.
Dans le ficher /etc/postfix/main.cf, rajoutez ces lignes :
- relay_domains = $mydestination, lists.reflet-web.net, lists.arscenic.org
- recipient_delimiter = +
- sympa_destination_recipient_limit = 1
- sympabounce_destination_recipient_limit = 1
- transport_maps = regexp:/etc/mail/sympa_transport_regexp
NB : Si la ligne relay_domains existe déjà dans votre configuration, il vous suffit de rajouter les robots séparés par des vigules.
et modifier la ligne qui doit être :
- alias_maps = hash:/etc/aliases
en :
- alias_maps = hash:/etc/aliases,hash:/etc/mail/sympa_aliases
À chaque création de liste, sympa ajoutera automatiquement dans le fichier /etc/mail/sympa_aliases les différents alias de mails pour chaque liste.
Dans le fichier /etc/postfix/master.cf, rajoutez ces lignes :
- sympa unix - n n - - pipe
- flags=R user=sympa argv=/home/sympa/bin/queue ${recipient}
- sympabounce unix - n n - - pipe
- flags=R user=sympa argv=/home/sympa/bin/bouncequeue ${recipient}
Puis exécutez ces quatre commandes :
- sudo postmap /etc/mail/sympa_transport_regexp
- sudo postalias /etc/aliases
- sudo postalias /etc/mail/sympa_aliases
- /etc/init.d/postfix restart
Démarrer sympa
Sur Ubuntu les scripts de démarrage se trouvent dans
puis sont disponible pour chaque runlevel dans /etc/rcX.d/ où X est le numero du runlevel dans lequel on est. Sympa quand à lui place le script de démarrage dans
On y remédie en faisant :
- # Déplacement du script de démarrage
- mv /etc/rc.d/init.d/sympa /etc/init.d/sympa
- #On le rend exécutable des fois qu'il ne le soit pas
- chmod +x /etc/init.d/sympa
- #On l'ajoute dans chaque runlevel pour le lancer au démarrage du système
- update-rc.d sympa defaults
Il est nécessaire que sympa soit lancé après Apache au démarrage... Pour en être sur il faut d’abord savoir dans quel runlevel on est... Pour ce faire il suffit de lancer la commande :
- runlevel
.
Ensuit il faut vérifier si le script de sympa qui se situe dans /etc/rcX.d/ (il commence par un S puis deux chffres puis sympa) soit lancé après apache, c’est à dire que son nombre soit supérieur à celui du script d’Apache.
Enfin il est nécessaire de lancer ces quelques commandes
- # Ce répertoire où sympa dépose ses locks n'existe pas sur ubuntu donc on le crée manuellement
- sudo mkdir /var/lock/subsys
- # On donne les droits à sympa sur ce dossier
- sudo chown sympa:sympa /var/lock/subsys/
- # On peut enfin démarrer le service sympa
- /etc/init.d/sympa start
Sympa sera ensuite démarré à chaque redémarrage du serveur.
Ajout d’un simple robot à une configuration existante
Lorsque vous souhaiterez ensuite rajouter un robot, il faudra refaire les parties :
- Création des répertoires pour le robot dans le /home/ de sympa
- Copier et modifier un des fichiers robot.conf
- Ajouter le virtualhost dans le fichier /etc/apache2/sites-available/sympa
- Ajouter deux lignes dans le fichier /etc/mail/sympa_transport_regexp
- Ajouter le nouveau domaine dans la ligne relay_domains du fichier /etc/postfix/main.cf
- Redémarrer les trois serveurs : Apache / Postfix / Sympa
Articles liés :
- [Ubuntu Server] Installation et configuration de spamassassin
- [SERVEUR] Des histoires de locales....