Grenode a un serveur sympa, installé sur la machine outils.

Les membres de Grenode peuvent donc utiliser ce serveur sympa, soit pour se créer des listes dans le robot de Grenode listes.grenode.net, soit en se créant leur propre robot sympa.

Créer une liste sur le robot de Grenode

Se connecter sur le serveur de listes (se créer un compte si nécessaire), puis demander la création d'une liste. Les administrateurs sympa pourront alors la valider.

Créer un robot sympa pour un membre

L'exemple pris est celui de la création du robot de listes pour Rézine.

Premièrement, il faut que le domaine (enregistrement MX pour les listes) soit configuré dans le dns du membre :

# dig MX listes.membre.tld +short 
20 mx1.grenode.net.
10 listes.grenode.net.

Configuration de sympa

Sur outils :

sudo -u sympa mkdir /etc/sympa/listes.membre.tld
sudo chmod o-rwx /etc/sympa/listes.membre.tld
sudo -u sympa mkdir /var/lib/sympa/expl/listes.membre.tld
sudo chmod o-rwx /var/lib/sympa/expl/listes.membre.tld
sudo -u sympa cp /etc/sympa/listes.grenode.net/robot.conf /etc/sympa/listes.membre.tld/.

Modifier ensuite le fichier /etc/sympa/listes.membre.tld/robot.conf, en particulier les variables :

  • http_host
  • title
  • listmaster
  • wwsympa_url

Configuration pour l'interface web

Certificat

Il faut que le membre pose le certificat et la clef correspondant sur outils. Si le membre n'a pas de certificat, on peut en générer un auto-signé avec la commande :

sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf mykeycert.pem

Il faut alors placer le certificat dans /etc/ssl/private et/ou dans /etc/ssl/certs.

Apache

Dans /etc/apache2/sites-available/, éditer le fichier sympa, copier la section concernant Grenode, puis éditer les variables (cf. fichier ci-dessous) :

  • ServerAdmin
  • ServerName
  • ServerAlias
  • RewriteCond et RewriteRule
  • CustomLog
  • SSL*

Configuration :

<VirtualHost *:443>
    ServerAdmin root@membre.tld
    ServerName  listes.membre.tld
    ServerAlias listes.membre.tld2

    RewriteEngine on    
    RewriteCond %{SERVER_NAME}   !^listes\.membre\.tld$
    RewriteRule ^(.*)$           https://listes.membre.tld$1  [R=permanent,L]

    DocumentRoot /var/lib/sympa/static_content
    CustomLog /var/log/apache2/listes.membre.tld-access.log combined

    SSLEngine on
    SSLCertificateFile    /etc/ssl/certs/membre.self
    SSLCertificateKeyFile /etc/ssl/private/membre.key

    Alias /static-sympa /var/lib/sympa/static_content
    Alias /wwsicons /usr/share/sympa/icons
    ScriptAlias /wws /usr/lib/cgi-bin/sympa/wwsympa.fcgi

    AssignUserId    sympa sympa

    <Location />
        DirectoryIndex /wws
    </Location>
</VirtualHost>

Dans /etc/apache2/conf.d/switch-to-https, rajouter une règle de redirection HTTP → HTTPS pour le nouveau virtualhost.

Puis recharger la configuration d'apache :

sudo apache2ctl reload

Configuration du serveur mail

Il faut ajouter le domaine de liste du membre aux domaines relayés. Ça se passe sur tous les MX de Grenode ; actuellement outils, gaffe et ?radeau.

Dans le fichier /etc/postfix/main.cf, ajouter les domaines relayés :

relay_domains = $mydestination, […] listes.membre.tld, listes.membre.tld

Dans le fichier /etc/postfix/transport-sympa, ajouter les 2 lignes suivantes :

/^.*\+owner\@listes\.membre\.org$/      sympabounce:
/^.*\@listes\.membre\.org$/             sympa:

Dans /etc/postfix/virtual-sympa, ajouter la ligne :

/^(.*)-owner\@listes\.membre\.org$/         $1+owner@listes.membre.tld

Dans /etc/postfix/virtual, ajouter les lignes permettant de rediriger les adresses de service de sympa vers des adresses mail existantes :

sympa-request@listes.membre.tld  listmaster@membre.tld
sympa-owner@listes.membre.tld    listmaster@membre.tld

Il faut alors « compiler » les fichiers pour postfix avec postmap :

postmap /etc/postfix/transport-sympa
postmap /etc/postfix/virtual-sympa
postmap /etc/postfix/virtual

Redémarrage des services

Une fois toute la configuration faite, on peut redémarrer les 3 services :

sudo service apache2 restart
sudo service postfix restart
sudo service sympa restart