Identifiants personnels


Moi ... Moi ... et re Moi
« Codecs audio et videos   Informatique  [SPIP Plugin] SPIP trackbacks »

[SERVEUR] Sympa + Postfix + Ubuntu + VHCS

samedi 22 décembre 2007, modifié le 8 août 2008, par Quentin Drouet

 

Sympa is an open source (GNU GPL) mailing list software. Its name is an acronym for Systeme de Multi-Postage Automatique (i.e. Automatic Mailing System in French language).

Data is stored in a relational database such as MySQL, PostgreSQL, or Oracle.

This can be highly configurable with multiple list single subscription, Mail to List etc.

L’idée de base :

  • Dans notre service d’hébergement, permettre pour chaque domaine hébergé de disposer d’un gestionnaire de mailing lists.
  • Ce gestionnaire doit pouvoir être accessible facilement dans un sous domaine du type : lists.mondomaine.tld
  • Chaque propriétaire de nom de domaine doit être également propriétaire de son interface de gestion de liste et pouvoir créer des listes...

Rappel : L’environnement d’installation est celui-ci :

  • Système d’exploitation : Ubuntu 7.10 Gutsy Gibbon
  • Serveur Web : Apache version 2.2.4
  • PHP : 5.2.1
  • Mysql : 5.0.38
  • Perl : 5.8.8

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

  1. # Téléchargement des sources
  2. wget http://www.sympa.org/distribution/sympa-5.4.3.tar.gz
  3. # Décompression du paquet
  4. tar -xvzf sympa-5.3.4.tar.gz
  5. # On va dans le répertoire qui contient les sources
  6. cd sympa-5.3.4/
  7. # Il est nécessaire d ajouter un utilisateur "sympa" ce qui créera également un dossier "/home/sympa"
  8. sudo adduser sympa
  9. # Installation préalable de quelques paquets nécessaires
  10. sudo apt-get install gettext zip unzip lynx ncftp libintl-perl libfcgi-perl libxml2-dev libappconfig-perl perl-suid libapache2-mod-fastcgi
  11. # Configurer l installateur
  12. ./configure
  13. # Compiler sympa
  14. 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

  1. 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 trois domaines distincts : lx5.net, o-tra.net et arscenic.info

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.mondomaine.com 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.

Créer les répertoires nécessaires

NB : sympa est installé dans le répertoire home de sympa donc "/home/sympa"

su sympa -c ’mkdir /home/sympa/expl/your.virtual.domain’ chmod 750 /home/sympa/expl/your.virtual.domain

Configurer Postfix

Créez un fichier /etc/postfix/sympa_virtual

  1. /^(postmaster|root|abuse|sympa-request)@lists.lx5\.net$/   $1@lists.lx5.net
  2. /^(.*)-(request|editor|owner|subscribe|unsubscribe)@lists.lx5\.net$/  mydomain-$2+$1

Dans le ficher /etc/postfix/main.cf, rajoutez ces lignes :

  1. sympa_destination_recipient_limit = 1
  2. sympabounce_destination_recipient_limit = 1

Dans le fichier /etc/postfix/master.cf, rajoutez ces lignes :

  1. sympa     unix  -       n       n       -       -       pipe
  2.   flags=R user=sympa argv=/home/sympa/bin/queue ${recipient}
  3. sympabounce unix   -       n       n       -       -       pipe
  4.   flags=R user=sympa argv=/home/sympa/bin/bouncequeue ${user}

Modifier la conf Apache

Ajouter ceci :

  1. AddDefaultCharset utf-8

dans /etc/apache2/apache2.conf afin d’éviter tout problème d’accent dans l’interface graphique

  1. # Activer le module fastcgi de apache
  2. a2enmode fastcgi
  3. # Créer un fichier spécifique de définition des sites pour sympa
  4. nano /etc/apache2/sites-available/sympa.conf
  5. #Activer le virtualhost sympa
  6. a2ensite sympa.conf
  7. #redémarrer le serveur apache
  8. /etc/init.d/apache2 restart

Démarrer sympa

Sur Ubuntu les scripts de démarrage se trouvent dans

/etc/init.d/

. Sympa quand à lui place le script de démarrage dans

/etc/rc.d/init.d/

On y remédie en faisant :

  1. # Déplacement du script de démarrage
  2. mv /etc/rc.d/init.d/sympa /etc/init.d/sympa
  3. #On le rend exécutable des fois qu'il ne le soit pas
  4. chmod +x /etc/init.d/sympa
  5. #On le lance au démarrage du système s'il n'existe pas
  6. update-rc.d sympa defaults

Ensuite il est nécessaire de lancer ces quelques commandes

  1. # Ce répertoire où sympa dépose ses locks n existe pas sur ubuntu donc on le crée manuellement
  2. sudo mkdir /var/lock/subsys
  3. # On donne les droits à sympa sur ce dossier
  4. sudo chown sympa:sympa /var/lock/subsys/
  5. # On peut enfin démarrer le service sympa
  6. /etc/init.d/sympa start

Articles liés :

[SERVEUR] Des histoires de locales....

Répondre à cet article


Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

Lien hypertexte (optionnel)
  • (Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Qui êtes-vous ? (optionnel)
Connexion


Propulsé par : SPIP 2.0.0 dev SVN [12725]