Mailman – Liste de diffusion avec Postfix sous Debian

Installation de Mailman, serveur de liste de diffusion, avec Postfix comme MTA, sous chatdebian wheezy 7.
Il sera accessible via un virtualhost apache sur le sous-domaine : http://liste.mondomaine.org et les listes de diffusion seront de la forme ma_liste@liste.mondomaine.org
On suppose postfix et apache installés et fonctionnels.

Les commandes sont lancées depuis le compte root.

Mailman

Installation de Mailman :

apt-get install mailman

Modification des permissions pour Mailman :

check_perms -f

Contrôle des attributions :

check_perms

Il reste des corrections à effectuées :

chown -R list:list /var/lib/mailman

Modification du fichier de configuration de mailman :

vi /etc/postfix/master.cf

et modification des lignes comme suit :

DEFAULT_URL_PATTERN = ‘http://%s/’
DEFAULT_EMAIL_HOST = ‘liste.mondomaine.org’
DEFAULT_URL_HOST = ‘liste.mondomaine.org’
DEFAULT_SERVER_LANGUAGE = ‘fr’

Postfix

On vérifie que mailman est bien activé dans Postfix :

vi /etc/postfix/master.cf

par la présence des lignes (on les rajoute au besoin) :

mailman unix – n n – – pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

Configuration du transport dans Postfix :

postconf -e ‘transport_maps = hash:/etc/postfix/transport’

On crée ce fichier transport en le renseignant :

echo ‘liste.mon_domaine.org mailman:’ > /etc/postfix/transport

On génère la base transport.db :

postmap -v /etc/postfix/transport

On crée la première liste de diffusion :

newlist mailman

On ajoute les lignes générées ci-dessous au fichier /etc/aliases

mailman:              « |/var/lib/mailman/mail/mailman post mailman »
mailman-admin:        « |/var/lib/mailman/mail/mailman admin mailman »
mailman-bounces:      « |/var/lib/mailman/mail/mailman bounces mailman »
mailman-confirm:      « |/var/lib/mailman/mail/mailman confirm mailman »
mailman-join:         « |/var/lib/mailman/mail/mailman join mailman »
mailman-leave:        « |/var/lib/mailman/mail/mailman leave mailman »
mailman-owner:        « |/var/lib/mailman/mail/mailman owner mailman »
mailman-request:      « |/var/lib/mailman/mail/mailman request mailman »
mailman-subscribe:    « |/var/lib/mailman/mail/mailman subscribe mailman »
mailman-unsubscribe:  « |/var/lib/mailman/mail/mailman unsubscribe mailman »

On actualise le fichier d’alias :

newaliases

 

Configuration de apache :

On crée le dossier liste :

mkdir /var/www/liste

chown www-data:www-data /var/www/liste

On crée le fichier pour le virtualhost :

vi /etc/apache2/sites-enabled/mailman.conf

avec (en s’inspirant du fichier /etc/mailman/apache.conf) :


ServerName liste.mondomaine.org
DocumentRoot /var/www/liste
ErrorLog /var/log/apache2/liste-error.log
CustomLog /var/log/apache2/liste-access.log combined


Options FollowSymLinks
AllowOverride None

Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
ScriptAlias /create /usr/lib/cgi-bin/mailman/create
ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
ScriptAlias /options /usr/lib/cgi-bin/mailman/options
ScriptAlias /private /usr/lib/cgi-bin/mailman/private
ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo

Attention à la dernière ligne en gras, elle permet d’afficher la page d’accueil.

On active le virtualhost :

a2ensite mailman.conf

On redémarre les services :

service postfix reload ; service mailman restart ; service apache2 reload

On accède aux listes de diffusion :

http://liste.mondomaine.org

et voilou ! : )

Quelques pages ne sont pas francisées, si vous avez des pistes …. merci !

Partitions et installation debian via debootstrap sur dedibox SC

debianLe partitionnement du disque dur des dedibox SG d’online.net via l’interface d’administration est sévèrement buggé, impossible d’obtenir les partitions que l’on souhaite, beaucoup de sites mentionnent ce problème.

Le système de KVM IP qui permet de prendre contrôle de la machine dès le BIOS n’est pas disponible sur la gamme SC : ( apparemment on peut en faire la demande auprès d’Online pour une installation provisoire, mais je ne l’ai pas testé).

Il est par contre possible depuis le mode rescue (accessible depuis l’interface de gestion de son serveur) d’installer un distribution debian (par exemple) grâce à debootstrap

Je vous expose la manip que j’ai faite, à adapter selon vos besoins.
Durée : 10/15 mn environ
Inspiré de la page docs.solevis.net

Disque dur  : 500 Go

Passage en mode rescue depuis l’interface de gestion de la dedibox

Démarrage avec Ubuntu 12.04 LTS. L’interface de gestion d’Online vous donne un mot de passe provisoire.

On se connecte :

ssh mon_login@ip_de_ma_dedibox_SG

on passe en root (même mot de passe) :

sudo -s

Perso j’ai partitionné comme ceci avec fdisk, il y a aussi cfdisk … sfdisk …

/dev/sda1 pour /boot , primaire, 1Go
/dev/sda2 pour /, bootable, primaire, 20Go
/dev/sda3  pour le swap, primaire, 3Go
/dev/sda4 , partition étendue avec le reste du disque dans laquelle j’ai fais des partitions logiques :
/dev/sda5 pour /tmp, logique, 10Go
/dev/sda6 pour /var, logique, 30Go
/dev/sda7 pour /home, logique, 400Go env avec le reste du disque

Les partitions créés, on met à jour la table des partitions :

partprobe

Formatage des partitions :

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda5
mkfs.ext4 /dev/sda6
mkfs.ext4 /dev/sda7
mkswap /dev/sda3
swapon /dev/sda3

Installation de debootstrap :

wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.46ubuntu1.1_all.deb
dpkg –install debootstrap_1.0.46ubuntu1.1_all.deb

Montage des partitions :

mkdir /mnt/debian
mount /dev/sda2 /mnt/debian
cd /mnt/debian
mkdir boot tmp var home
mount /dev/sda1 /mnt/debian/boot
mount /dev/sda5 /mnt/debian/tmp
mount /dev/sda6 /mnt/debian/var
mount /dev/sda7 /mnt/debian/home

Installation de debian wheezy à proprement dit (2 mn environ) :

debootstrap wheezy /mnt/debian http://ftp2.fr.debian.org/debian/

Montage des partitions du système pour préparer le chroot :

mount -o bind /proc /mnt/debian/proc
mount -o bind /sys /mnt/debian/sys
mount -o bind /dev /mnt/debian/dev
mount -o bind /dev/pts /mnt/debian/dev/pts

Copie des configurations du réseau fonctionnel actuel :

cp /etc/hosts /mnt/debian/etc/hosts
cp /etc/resolv.conf /mnt/debian/etc/resolv.conf
cp /etc/network/interfaces /mnt/debian/etc/network/interfaces

On passe en chroot :

chroot /mnt/debian /bin/bash

On édite le fichier /etc/fstab avec vi :

vi /etc/fstab

Contenu du fichier chez moi :
On peut ici mettre les UUID, mais pour aller un peu plus vite je garde l’ancienne notation

/dev/sda2    /    ext4    errors=remount-ro    0    1
/dev/sda3    swap    swap    sw        0    0
/dev/sda1    /boot    ext4    defaults        0       2
/dev/sda5    /tmp    ext4    defaults        0       2
/dev/sda6    /var    ext4    defaults        0       2
/dev/sda7    /home    ext4    defaults        0       2

Sélection du fuseau horaire (Europe / Paris) :

dpkg-reconfigure tzdata

Installation de quelques paquets de base :

aptitude install vim less ssh sudo openssh-server

Installation du noyau :

aptitude install linux-image-amd64

Installation de GRUB, dans /dev/sda :

aptitude install grub-pc

Un mot de passe pour le root :

passwd root

Et ça devrait être bon. On sort du chroot :

exit

Et depuis l’interface de gestion de la dedibox on repasse en mode normal.

Si tout est ok, on peut se connecter en ssh sur notre serveur quelques instants après, le temps de rebooter :

ssh root@ip_du_serveur

Et voili ! : )

 N’hésitez pas si j’ai oublié des choses …