Installer un webmail sur son serveur

Récemment, j’ai eu la frustration de constater a mon école d’info, qu’un proxy satanique avait encore frappé et m’avais privé l’accès
à ma boite mail perso ovh, il était devenu impossible de me connecter au client mail web ovh rouncube.

Quelle frustration de se voir ainsi amputé de mon droit à la procrastination !!
Y a t’il pire  fléau que de se trouver bloquer dans un cours soporifique (PMI pour ceux qui connaissent), privé d’une distraction constructive telle que la consultation de vos mails et tout ceci
au profit d’un administrateur réseau sadique qui n’a rien trouvé de mieux pour justifier sa paye que de bloquer mes flux de communications.

J’accepte qu’on bloque Facebook, youtube, le pr0n, les trucs qui bouffent la bande passante de l’école, mais la boite mail, c’est carrément du vice !

Bref je me suis mis en tête d’installer mon propre client mail (comme Outlook, Thunderbird etc..), accessible depuis le web : donc un webmail(Gmail, Yahoo mail, Hotmail etc…)

L’intérêt étant :

Ne plus être dépendant du client mail ovh
Passer sous le radar des proxy grâce a mon nom de domaine perso qui n’est pas bloqué
Accéder à mes mails de partout, sur n’importe quelle plateforme sans installer de programme
Disposer d’un client gratuit, personnalisable et à jour

Il existe pas mal de solutions webmail gratuites comme l’excellent zimbra que j’utilise en entreprise ou le framework horde
J’ai sélectionné roundcube, et ce pour les raisons suivantes:

- Il est gratuit
- C’est celui que j’utilisait chez ovh
- Il utilise PHP et MySQL (ça tombe bien, mon serveur connait bien ces langages/SGBD)
- Pour un client mail, il est ultra facile à installer et à configurer (ça m’a pris 2 minutes)
- Le thème par défaut ne fait pas saigner les yeux (le thème Larry est même plutôt joli)
- Ce n’est pas une usine à gaz comme zimbra, c’est plus adapté aux particuliers qu’aux équipes
- Il est assez modulable, on peux y ajouter plugins, thèmes, calendrier, greffon owncloud etc..

L’objet de ce tuto est donc l’installation de roundcube sur votre serveur OU sur votre hébergement web

image

Avant de vous lancer dans le tuto, je préfère vous informer des désagréments que j’ai vu sur le logiciel
- Les thèmes natifs ne sont pas responsive (ne s’adaptent pas aux tablettes et Smartphone)
- On ne peux gérer qu’un seul compte mail(un plugin existe certainement pour résoudre ce problème)
- Très peu de thèmes gratuits et performants sont proposés ( qu’on ne me parle plus de mobileCube, je n’ai jamais vu un thème aussi bogué)
- Je n’en vois pas d’autres pour le moment

Installation

- Chopez la dernière version complète de roundcube ici : http://roundcube.net/download
- Décompressez dans le répertoire web de votre serveur (/var/www)
- Faites un chown www-data:www-data ou un chmod 777 sur les sous dossiers logs et temp du répertoire
- Créez un utilisateur MySQL “roundcubemail” avec les droits sur une base associée (disons “roundcubemail”)
- Rendez vous sur la page d’installation : http://votre.serveur/dossier.roundcube/installer/
- Suivez les étapes de l’installateur
- Pensez à supprimer le dossier installer a la fin de l’installation

Utilisation

Connectez vous à l’adresse du script :

http://votre.serveur/mail

Entrez votre login de boite (sans de @votre.domaine) ex: Idleman
Entrez votre mot de passe de boite

Tataaaaaa! *Musique de la marche impériale*

Plugins

Tous les plugins intéressants se trouvent ici : http://trac.roundcube.net/wiki/Plugin_Repository

Pour installer un plugin :

  • Télécharger le plugin
  • Décompresser le plugin dans le répertoire /plugins de roundcube
  • Dans le fichier config/main.inc.php trouver la ligne :
    $rcmail_config['plugins'] = array();
    et y ajouter les nom des dossiers de plugins que vous avez placés dans plugins :
    $rcmail_config['plugins'] = array(‘monplugin1′,’monplugin2′,’monplugin3′,’…’);

Les plugins intéressant selon moi :

Context Menu (http://www.tehinterweb.co.uk/roundcube/#picontextmenu) : ajoute un menu contextuel au clic droit pour changer l’état d’un mail(lu/non lu etc..)
HTML5 notifier (http://www.stremlau.net/html5_notifier/) : Utilise l’html5 pour notifier  sur le bureau (comme Outlook ou Thunderbird) l’arrivée d’un message, peux aussi produire des sons (ne fonctionne que sous certains navigateurs)
Jappix4roundcube : http://code.google.com/p/jappix4roundcube/ : ajoute un mini chat jappix
Persistent login (http://www.insanefactory.com/roundcube-persistent-login-plugin/) : Ajoute une case “se souvenir de moi” à la connexion
Fail2ban (http://mattrude.com/projects/roundcube-fail2ban-plugin/) : Bloque les adresses IP qui tentent de faire du bruteforce
Drag and drop (https://github.com/thomasysliu/Roundcube-Plugin-Drag-and-Upload) : permet d’uploader des fichiers d’un simple glisser/déposer (ne fonctionne que sous les navigateurs supportant cette fonction)
Attachment preview (https://github.com/thomasysliu/Roundcube-Plugin-Attachment-Preview) : Permet de visualiser le spièces jointes (images etc…) d’un mail reçu

Thèmes

Comme je le disais plus tôt, de ce côté la c’est un peu la misère :

Classic : Le thème originel, a l’avantage d’être simple,natif,stable et s’adapte jusqu’a a certain point au navigateur
Larry : Un thème natif un peu plus évolué, très joli et relativement stable, mais statique donc pas pratique lorsqu’on redimensionne ou qu’on consulte depuis autre chose qu’un PC
MobileCube : Joli (style MAC), gratuit et inclus un plugin de calendrier, mais horriblement bogué chez moi.
LiteCube : Gratuit et light, mais pas encore testé pour le moment :)

 

 

 

Article rédigé par Idleman

42 réflexions au sujet de « Installer un webmail sur son serveur »

  1. Gamoth

    Bonjour Idle,

    L’inconvénient de la gestion compte mail unique ne me semble pas en être un. En effet, il suffit de créer un serveur mail qui va récupérer et agréger tout tes comptes et les regrouper en un seul. Cela va te permettre de gagner en indépendance.

    Bonne continuation.

    Répondre
    1. Idleman Auteur de l’article

      Merci pour ce tuyau :), cela peut aider pas mal de gens

      Répondre
  2. ademcan

    Cool, merci pour ce tutoriel.
    J’ai déjà posté un commentaire sur ton blog il y’a quelques mois, mais je ne l’ai jamais vu apparaître :) Je re-essaye aujourd’hui.
    J’ai récemment installé Roudcube sur mon serveur. C’est vraiment très pratique et agréable à utiliser. Mon seul problème est, comme tu l’indique dans ton article, la possibilité de n’utiliser qu’un seul compte à la fois. L’idéal pour moi serait de pouvoir accéder à tous mes mails une fois connecté.
    Il y’a aparemment un plugin qui fait ça, mais je ne l’ai jamais trouvé.

    Répondre
    1. Idleman Auteur de l’article

      Je ne retrouve pas ton commentaire, il a du passer dans les spams, Akismet à tendance a fair eun peude zèle parfois, je regarderais :) (au pire reposte le)

      Gamoth à fournis une solution pour le multi compte, peut être que ça peux t’aider :

      Bonjour Idle,

      L’inconvénient de la gestion compte mail unique ne me semble pas en être un. En effet, il suffit de créer un serveur mail qui va récupérer et agréger tout tes comptes et les regrouper en un seul. Cela va te permettre de gagner en indépendance.

      Bonne continuation.

      Répondre
    2. mett

      hey guys chui pas sur keu tu ne puisses utiliser kun compte a la fois.
      kan tu le set, ts le choix entre imposer un domaine ou non.
      si timposes pas de domain je pense keu tu peux checker tous tes comptes;
      a moins keu tu veuilles dire une seule session et plein de mails accounts sur le mm domain?
      tas toujours l option a l arrache d ouvrir differents browser (ok si tas 15 mails va falloir aller de chrome a ie en passant par firefox et en allant juska lynx et www3-browser).
      jme demande si ce serait pas easier d ouvrir 15 instances de mutt ds ce genre de cas.
      kler keu de tout regrouper comme c dit en dessous c une solution plus efficace. timagines 15 accounts? autant tout regrouper ou bien un shell ki te mutt tout ssa ms meme, va falloir changer de window, ssa va prendre du temps…

      Répondre
  3. Yosko

    Un client dont je suis personnellement très satisfait. Il fait bien son boulot et peut même afficher les mails sous forme d’arborescence, comme dans Thunderbird (peut-être avec un plugin, je ne sais plus).
    Je m’y suis d’ailleurs mis pour les mêmes raisons que toi. La charte info de mon taff indique qu’il est interdit de consulter ses mails perso sur des grands hébergeurs (sous-entendu Gmail, Hotmail, etc…), et ils sont bloqués. Mais elle ne parle pas de ceux hébergés sur son serveur perso… :-P

    Répondre
  4. nerkdesign

    Salut idleman, dans les client mail que je trouve sympa (simple a installer et graphiquement épuré) j’ai celui la http://www.hastymail.org je te laisse le découvrir mais je le trouve plus sympa que roundcube qui me semble un peu lourd

    Répondre
    1. Idleman Auteur de l’article

      Pas mal, un peu moche mais peut être plus rapide, ce qui vaudrait le coup,je regarderais ça merci :)

      Répondre
  5. Majoux

    et

    tu n’y a pas pensé ?

    Répondre
    1. Idleman Auteur de l’article

      Comme je le spécifie dans mon tuto, ma méthode est applicable également aux simples hébergements (donc pas de ssh forcement dispo), mais pour les serveur c’est effectivement un bon ajout :)

      Répondre
  6. Matronix

    Quel est ton thème de la capture ?

    Comme tu le dis, le gros défaut selon moi est l’impossibilité d’avoir plusieurs comptes mails en même temps, et je ne connais aucun webmail à installer sur son serveur qui le propose…

    Tu parles de plugin, je vais regarder si ça existe, je ne savais même pas qu’on pouvait mettre des plugins à roundcube…

    Répondre
    1. Idleman Auteur de l’article

      Le thème est Larry, il est intégré en natif sur les dernières version de roundcube, perso je le trouve magnifique mais il a le gros inconvénient de n’être pas responsive. (le classique ne l’est pas non plus mais il s’adapte un peu mieux).

      Gamoth à fournis une solution pour le multi compte, peut être que ça peux t’aider :

      Bonjour Idle,

      L’inconvénient de la gestion compte mail unique ne me semble pas en être un. En effet, il suffit de créer un serveur mail qui va récupérer et agréger tout tes comptes et les regrouper en un seul. Cela va te permettre de gagner en indépendance.

      Bonne continuation.

      Répondre
    1. Idleman Auteur de l’article

      Yeah merci pour le tuyau, j’ajoute ça a l’article :)

      Répondre
  7. Phyks

    Une remarque sur la gestion de plusieurs comptes (si j’ai bien compris ce que tu souhaites faire) :

    c’est possible facilement en éditant les fichiers de configuration à la main. Je gère plusieurs comptes sur plusieurs serveurs comme ceci : (dans config/main.inc.php)

    (les alias sont pour afficher un nom plus sympa dans la liste déroulante proposée)

    En éditant la ligne $rcmail_config['username_domain'] suivant le même modèle (tableaux associatifs) on peut éviter de devoir ajouter le nom de domaine (@serveur.tld) au nom d’utilisateur (si requis par le webmail, ce qui est le cas chez OVH).

    Il me semble que c’est les seules modifications à effectuer.

    Répondre
    1. Idleman Auteur de l’article

      Effectivement, on se complique la tâche pour rien avec nos plugins, il faut que je teste ça avec mon imap yahoo :) merci pour le tuyau je vais voir ça

      Répondre
  8. Matronix

    Pour le multi comptes de boites mail, ce que je recherche c’est de pouvoir envoyer des mails avec plusieurs adresses, pas fusionner plusieurs boites en une seule…
    L’adresse en prénom@nom.fr, le mail internet, le mail professionnel, etc…

    Répondre
    1. Idleman Auteur de l’article

      Ya un plugin pour changer l’expediteur à la main, mais pour envoyer avec des boites différentes je ne sait pas, comme il y a une select liste j’imagine qu’on peux faire ça en natif mais il doit falloir ajouter les boites dans le main.inc.php

      Répondre
  9. Nicolas L

    Pourquoi faire un chmod 777 ? Ça veut quand même dire que tout le monde peut faire ce qu’il veut avec ces dossiers.
    Quelque chose de plus propre :
    chown www-data:www-data logs/ temp/
    chmod 755 logs/ temp/

    Répondre
    1. Idleman Auteur de l’article

      le chown j’en ai parlé, le chmod 775 ne fonctionne pas sur certains hébergements (j’ignore pourquoi)

      Répondre
  10. Arthur

    J’utilise RoundCube depuis cet été (et même un peu plus, puisque je gère aussi mon serveur mail). Et je dois dire que ça change la vie. C’est léger et ergonomique. Je galère moins qu’avec GMail.

    Par contre, parce qu’il y a toujours un mais, la recherche n’est pas géniale. Et surtout, elle ne porte que sur le dossier IMAP courant, et pas sur l’ensemble de la boîte mail. J’espère que ça viendra…

    Répondre
    1. Idleman Auteur de l’article

      J’ai pas encore testé mais je me mefierais du coup ^^ merci pour l’ajout :p

      Répondre
  11. Matronix

    C’est pénible qu’à chaque fois les commentaires sont en attente de validation, du coup certains commentaires font doublons.

    Ca m’a l’air quand même assez compliqué le multi-comptes, et assez bidouillage aussi… Pour l’instant je vais rester sur la solution Opera Mail + Roundcube ponctuel en cas de blocage.

    Sinon question de noob peut être, mais quels sont vraiment les risques d’un chmod 777 ? Il faut quand même avoir accès au serveur pour modifier les fichiers, non ?

    Répondre
    1. Idleman Auteur de l’article

      C’est un mal nécessaire :)

      chmo 777 autorisera n’importe quel user a faire un crud sur l’exe

      Répondre
        1. Idleman Auteur de l’article

          Etant donné que j’ai 20 spams pour 1 commentaire user, oui ^^.

          CUDE (create read update delete) en rgos n’importe quel user peux lire , ecrire, executer, modifier le fichier, le chmod 777 est donc effectivement très permissif, mais c’est souvent inévitable :)

          Répondre
          1. Matronix

            T’as essayé Project HoneyPot ? Ca marche pas mal ! Mieux que Askimet en tout cas. Sinon effectivement, t’es sacrément spammé :/

            Ha ok pour CUDE, j’avais jamais entendu ça. Disons qu’un chmod 777 est la solution de facilité il est vrai, on se pose plus de questions après, même si ça pose des “problèmes” de sécurité… Faudrait être poissard quand même.

  12. mett

    man jutilise roundcube depuis un peu plus d un an et c bien kewly.
    tu peux mme le gerer pour pas avoir a mettre ton domaine (si tu geres kun domaine style perso of course)
    login : juste ton nom. pas de @ a tapper
    passwd: et t in
    l interface est sleak, c trop easy a installer, tu peux customiser c grave kewll.

    Répondre
  13. darkvodka

    Salut :)

    Sinon pour faire plus simple : tunnel ssh sur ton propre openssh (tu peux le faire écouter sur le port 443).
    Avantages (liste non exaustive) par rapport à ta solution :
    - plus aucun site de bloqué
    - l’admin sys/réseau ne sait pas ce que tu visite
    - pas de mitm possible
    Inconvénient :
    - surf un peu plus long si tu n’as pas une bonne connexion sortante

    Répondre
    1. Idleman Auteur de l’article

      J’utilise les tunnels ssh depuis des années, c’est une bonne méthode, mais je l’ai volontairement écartée dans ce tuto.

      En effet les nouveau proxy (notamment celui de mon école) bloquent non seulement le port SSH (facile à éviter jusqu’ici en passant par le 443) mais aussi le “TYPE” de protocole, à savoir qu’il analyse les trames, détecte et bloque les paquets SSH.

      Il existe évidemment une contre attaque qui consiste a encapsuler les paquets ssh dans du http, mais ça devient du n’importe quoi : http–>ssh–>http–>passage du proxy–>http–>ssh–http

      Solution lourde a mettre en place côté serveur, qui ralentis grandement le débit et qui prends bien plus de temps que l’installation d’un petit script PHP :).

      Pour ceux qui ont la chance d’avoir des proxy peux évolués, je conseille effectivement proxifier portable + tunnel ssh putty, c’est un bon combo

      Bref,

      Répondre
  14. Ping : Nono’s Vrac 86 – Via Shaarli [Intro] « m0le'o'blog

  15. sniffer_l0as

    Salut Idleman ,
    Tout d’abord merci pour ce tuto . J’ai juste un probleme quand je vais sur la page d’installation de roundcube http://ip_rpi/roundcube/installer ils me disent qu’il me manque des plugins php et je sais pas comment les installer .0.O
    Serais-tu coment faire ?

    Merci .

    Répondre
    1. Idleman Auteur de l’article

      Tous les plugins intéressants se trouvent ici : http://trac.roundcube.net/wiki/Plugin_Repository

      Pour installer un plugin :

      Télécharger le plugin
      Décompresser le plugin dans le répertoire /plugins de roundcube
      Dans le fichier config/main.inc.php trouver la ligne :
      $rcmail_config['plugins'] = array();
      et y ajouter les nom des dossiers de plugins que vous avez placés dans plugins :
      $rcmail_config['plugins'] = array(‘monplugin1′,’monplugin2′,’monplugin3′,’…’);

      Répondre
      1. lep

        Merci Idleman , des quee j’ai le temps je v tester !!! Youpiii enfin la soluce !!!!!! :D :D :D

        Répondre
  16. msi79

    bonsoir .
    je ne comprend pas cette partie ou plutôt je ne sais pas comment m’y prendre .
    Créez un utilisateur MySQL “roundcubemail” avec les droits sur une base associée (disons “roundcubemail”)

    Répondre
    1. Idleman Auteur de l’article

      yop, mysql est une base de donnée, il te faut l’installer puis créer un utilisateur dessus (en ligne de commande ou via des interfaces comme phpmyadmin)

      Répondre
      1. msi79

        @Idleman . merci de bien vouloir me répondre.
        je m’explique . mon hébergeur est ovh . après avoir acheté un nom de domaine ils m’ont envoyé eux même les paramètre de création de base de donnée que je pourrait utiliser:
        MySQL:
        Serveur : mysqlxx-xx.perso
        Utilisateur : user
        Nom de la base : user
        Mot de passe : xxxxxxxxxx

        alors moi j’ai c’est ces paramétré que j’ai utilisé pour la configuration de rouncube
        et voici l’erreur que je reçois:
        DB Schema: NOT OK(Database schema differs)

        Missing table ‘session’
        Missing table ‘users’
        Missing table ‘cache’
        Missing table ‘cache_index’
        Missing table ‘cache_thread’
        Missing table ‘cache_messages’
        Missing table ‘contacts’
        Missing table ‘contactgroups’
        Missing table ‘contactgroupmembers’
        Missing table ‘identities’
        Missing table ‘dictionary’
        Missing table ‘searches’
        Missing table ‘system’

        comment régler ce problème.

        Répondre
        1. Idleman Auteur de l’article

          Dans ton panel ovh, vas dans phpmyadmin et supprime la base roundcube déjà existante (car visiblement c’est ça ton pb, il y a une base déjà installée qui diffère avec la nouvelle a installer) puis réinstalle le tout.

          Répondre
  17. 6michel

    Bonjour à tous, je trouve ce blog très instructif et serait bon d’être mis en avant vers d’autres lecteurs… :D
    Qu’en pensez vous ?
    Bien à vous
    Cordialement

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D more »