Migrer un serveur webmail Raq550 vers une Debian

Posted by on Fév 12, 2009 in Blog, Planet-Libre, Tutoriaux | 7 Comments
Il y a quelques temps j’ai été confronté à un problème : comment faire pour migrer un gros paquet de comptes webmail hebergés sur un Raq550 au format inbox sur une Debian avec postfix et squirrelmail le tout au format Maildir ? Certes c’est faisable à la main… Mais l’informaticien est partisant du moindre effort surtout quant il peut faire travailler une machine à sa place 😀 Sur ce allons pourfendre ce Raq 550 !!!

Nous aurons besoin d’un petit programme qui nous permettra de migrer du format Mbox (bouh pas bien) vers le format MailDir (c’est biauuu) donc

#apt-get install mb2md

    ensuite il suffit de copier ce petit script sur le nouveau serveur de l’appeler migration.sh ensuite vous le rendez executable

    chmod +x migration.sh


      #!/bin/bash

      CHEMIN= »/home/users »;
      FTPMP= »MotDePasseFTP »;
      FTPUSER= »UtilisateurFTP »;
      FTPSERVER= »IPDUSERVEURFTP »;

      #Création du répertoire des utilisateurs du mail
      mkdir $CHEMIN

      #récupération de la liste des utilisateurs fichier passwd ancien serveur
      for utilisateur in `cut -d: -f1 ./passwd.txt` ; do

      #création du répertoire des utilisateurs
      mkdir $CHEMIN/$utilisateur

      #création manuelle de l’utilisateur et changement du bash
      #on remplace (awk) l’ancien bash /bin/usersh par /bin/false car on veut que les
      #utilisateurs ne puissent utiliser que le Webmail et ensuite on ajoute #>> dans le fichier /etc/passwd
      grep $utilisateur passwd.txt | awk ‘{sub (« /bin/usersh », »/bin/false »);print}’ >> /etc/passwd

      #copie du mot de passe afin que la migration soit transparente
      #on a récupérer l’ancien fichier shadow sur le Raq550
      #cat /etc/shadow > shadow.txt
      grep $utilisateur shadow.txt >> /etc/shadow

      #Création du répertoire Maildir au format maildir grâce à l’utilitaire maildirmake
      #qui fait partit du paquet debian : courier-imap
      maildirmake $CHEMIN/$utilisateur/Maildir

      #Copie du fichier .procmailrc copié préalablement dans le répertoire /etc/skel
      cp /etc/skel/.procmailrc $CHEMIN/$utilisateur

      #Récupération du fichier mbox via ftp avec wget et copie dans le nouveau réperoire
      #attention le Mot de Passe transit en clair
      wget –ftp-user=$FTPUSER –ftp-password=$FTPMP ftp://$FTPSERVER/$CHEMIN/$utilisateur/mbox -O $CHEMIN/$utilisateur/mbox

      #conversion du format de boîte mails mbox –> mdir
      #-s=fichier source
      #-d=répertoire destination
      mb2md -s $CHEMIN/$utilisateur/mbox -d $CHEMIN/$utilisateur/Maildir

      #suppression de l’ancien fichier mbox qui a été transféré
      rm $CHEMIN/$utilisateur/mbox

      #changement des droits de root –> utilisateur
      chown -R $utilisateur:users $CHEMIN/$utilisateur

      done

      Astuce :

      L’avantage de créer le .procmailrc dans /etc/skel est qu’à chaque ajout d’utilisateur le .procmailrc sera copié directement dans le home de l’utilisateur, de là on peut déduire que cela est peut être bon de faire un :

      • #maildirmake /etc/skel/Maildir

      voilà 😀

      twitterlinkedin

      7 Comments

      1. crash
        12 avril 2009

        Bon tuto, mais je rencontre actuellement un souci que je n’arrive pas à résoudre.

        En effet, j’ai créer un dossier maildirmake dans le dossier crash avec cette commande maildirmake Maildir

        En étant dans le /home/crash/

        Cependant j’ai beau supprimer ce dossier pour que ce compte mail n’existe plus mais il revient.

        J’ai essayé de le supprimer et de taper ensuite maildirmake Maildir –del

        Mais il revient toujours.

        Aurais-tu une solution stp ?

        Merci.

      2. admin
        14 avril 2009

        Bonjour

        Pfiouh la la, ça fait beaucoup de choses ça … pour ton problème tu es bien sur une debian ??
        Quel est le compte que tu utilises : crash ?
        pourquoi créer un dossier maildirmake ?
        quelle commande tapes-tu ?

        bonne chance

      3. crash
        14 avril 2009

        Merci de ta réponse.

        Oui je suis bien sur une debian « etch » plus précisément.

        Oui c’est bien le compte crash que j’utilise.

        La commande maildirmake permet de créer des dossiers Maildir pour envoyer et recevoir du courier.

        La commande que je tape est toute simple, je vais dans le /home de l’utilisateur voulu et je tape maildirmake Maildir .

        Cependant même si je rm -rf Maildir quand je reçois un mail le dossier Maildir réapparait et je souhaiterais savoir comment enlever définitivement le compte mail donc le dossier Maildir.

        merci.

      4. admin
        14 avril 2009

        Ok donc c’est à la réception d’un mail sur l’utilisateur crash que le dossier maildir se crée à nouveau, si j’ai bien compris …

        peux tu supprimer l’utilisateur crash ?
        Quel serveur de messagerie utilises-tu ? car tu peux aussi bannir les mails à destination de l’utilisateur crash.

      5. crash
        14 avril 2009

        Oui en effet c’est à la réception d’un nouveau mail que le dossier Maildir se créer à nouveau.

        Non, je ne souhaite pas supprimer l’utilisateur crash justement 🙂

        J’utilise postfix comme serveur de mail.

      6. admin
        14 avril 2009

        et dans ce cas pourquoi ne pas dire à postfix de ne pas délivrer les messages à destination de crash ?

      7. crash
        25 avril 2009

        Hum … ya t’il une directive à utiliser pour empêcher de délivrer les mails à destination d’un utilisateur ?

        Merci.

      Leave a Reply

      You must be logged in to post a comment.