Aller au contenu
Tryphon

Tutoriel Xeams + Roundcube

Messages recommandés

Tryphon    0

Bonjour,

 

>>> 10/11/2014, plusieurs mises à jour <<<
>>> 7/12/2014, installation de Thunderbird <<<
>>> 21/12/2014, installation de Roundcube 1.04 <<<
>>> 3/8/2015, restauration des données de Xeams <<<

 

C'est chose faite, j'ai maintenant une connexion internet qui me permet d'utiliser un serveur de messagerie. J'ai choisi Xeams.

L'information ci-après est limitée à mes besoins et n'est pas destinée à gérer un gros volume de comptes utilisateurs et de messages : une configuration que je ne testerai pas! Après 10 mois d'utilisation, je ne déplore pas d'incident notable.

J'utilise le NAS TS-653 avec QTS 4.1 ou TS-559 QTS 4.2. Voici donc la démarche que j'ai appliquée.

 

Partie 1 : Procédure minimale

1. Les prérequis.

    Créez un nom de domaine ou de sous-domaine auprès d'un fournisseur de nom de domaines : il en existe plusieurs qui sont gratuits. Puis ajoutez un enregistrement de type A et un autre de type MX. Si vous ne créez pas d'enregistrement MX, vous pourrez tout de même envoyer des messages (mais pas en recevoir).

    Installez le QPKG phpMyAdmin (Xeams a besoin de créer une base de données xeamsroundcube) et activez le serveur MySQL dans l'administration du NAS.

    Ouvrez le port 80 de votre routeur pour l'adresse IP du NAS. La documentation indique que c'est nécessaire pour les mises à jour de Xeams. Notez que, à défaut, les mises à jours s'effectuent tout de même en se terminant par une erreur HTTP 504 ou 503.

2. Installez le QPKG Xeams et ouvrez son interface. Suivez les instructions en choisissant Stand-alone server comme type de serveur et indiquez votre nom de (sous-)domaine.

    N'essayez pas d'utiliser le serveur Xeams en l'état mais cliquez sur le menu Home. Cliquez ensuite sur le bouton Check for updates (à droite de la page) et procédez à la mise à jour.

    Le serveur Xeams redémarre ... attendez 30-40 secondes avant de vous reconnecter à l'interface (http://IPNAS:5272).

3. Allez dans le menu Server Configuration/Server Configuration, saisissez votre adresse de courrier (une que vous possédez déjà) et sauvegardez. Xeams enverra d'éventuels messages d'erreurs à cette adresse. Ne changez pas les autres paramètres (sauf si vous savez ce que vous faîtes).

4. Accédez aux paramètres de votre routeur et ouvrez le port 25.

    En 2e lecture, ouvrez les ports 465, 993 et 995. Vous pouvez aussi ouvrir les ports 110 et 143 mais c'est déconseillé sauf pour comprendre ce qui ne fonctionne pas. Sauvegardez.

    Ouvrez votre navigateur et cherchez un site bidule truc pour tester les ports. Testez le port 25 de votre adresse IP attribuée par votre fournisseur d'accès. Si le test échoue et que vous êtes sûr que votre matériel n'en est pas la cause (routeur, éventuel pare-feu correctement réglés et serveur Xeams démarré), c'est que votre fournisseur internet bloque ce port. Inutile d'aller plus loin, vous pouvez remballer vos affaires.

Explication : les serveurs de messageries communiquent entre eux, en standard, par le port 25. Si vous voulez communiquer avec ces serveurs sur la planète depuis votre serveur Xeams, vous devez utiliser ce port (quoique certains serveurs en active d'autres qui ne sont pas standards mais cela limite beaucoup l'espace de communication et c'est peu utilisable). La plupart des fournisseurs internet bloquent ce port pour lutter contre les spams. Mais parfois une formule d'abonnement ou un arrangement avec le fournisseur permet de débloquer ce port. Cela peut être par l'attribution d'une adresse IP fixe.

5. Allez dans le menu Server Configuration/SMTP Server Configuration. Normalement, tout est correctement configuré (SMTP sur le port 25).

    En 2e lecture, si vous souhaitez activer la sécurité SSL, cliquez sur le lien Configure SSL dans le paragraphe "IMPORTANT". Entrez un mot de passe dans le champs "Keystore password" et sauvegardez. Revenez au menu SMTP Server Configuration et saisissez 465 dans le champs "Secure SMTP Port".

6. Retournez dans le menu Home. Si tout va bien, les fenêtres SMTP, POP3 et IMAP server status indiquent l'état "RUNNING" (Si POP3 ou IMAP ne fonctionne pas, ce n'est pas critique du moment que l'un des deux fonctionne).

    En 2e lecture:

    A. Dans la fenêtre POP3 server status, cliquez sur le lien Configure et saisissez 995 dans le champs SSL, sauvegardez.

    B. Dans la fenêtre IMAP serveur status ... c'est 993.

7. Dans le menu Server Configuration / Diagnostic Check, les voyants qui s'affichent devraient être tous au vert.

8. Dans le menu Server Configuration / Manage Users, ajouter un utilisateur et saisissez une adresse courriel à activer de la forme : abc@votrenomdomaine.xyz

    Choisissez un mot de passe de préférence fort (le protocole IMAP sous Xeams ne semble pas s’accommoder des mots de passe courts). Les autres paramètres peuvent rester inchangés. Sauvegardez.

9. Pour recevoir et envoyer, il ne reste plus qu'à configurer ce compte utilisateur dans votre client de messagerie (Thunderbird, Outlook, ... sur un ordinateur du réseau) en utilisant votre nouvelle adresse de courrier. Le port du protocole SMTP est le 25. Choisissez d'utiliser le protocole POP3 ou IMAP. Le port POP3 sera le 995 et le port IMAP sera le 993. Dans le réseau local, vous pouvez aussi utiliser les ports 110 et 143 respectivement. Attention : en local, le nom d'hôte du serveur de messagerie (Xeams) est 192.168.x.y !!!

Attention! Sous Thunderbird, à l'étape de création d'un nouveau compte, le test des ports 993 ou 995 échoue (pourquoi? bonne question!), laisser 143 ou 110. Lorsque le compte est créé, éditer les réglages des serveurs SMTP et IMAP ou POP3 puis passer en SSL. Enregistrer.

10. Dans l'interface Xeams, les menus Server Configuration/Manage Alerts et Tools/View logs sont très utiles pour comprendre ce qui ne va pas.

11. Testez votre boîte de courrier personnalisée! En console SSH, netstat -l vous indiquera si les ports requis sont bien écoutés (extrait):

tcp        0      0 *:1025                  *:*                     LISTEN      
tcp        0      0 *:993                   *:*                     LISTEN      
tcp        0      0 *:995                   *:*                     LISTEN      
tcp        0      0 *:mysql                 *:*                     LISTEN      
tcp        0      0 *:pop-3                 *:*                     LISTEN      
tcp        0      0 *:imap2                 *:*                     LISTEN      
tcp        0      0 *:www                   *:*                     LISTEN      
tcp        0      0 *:465                   *:*                     LISTEN      
tcp        0      0 *:5272                  *:*                     LISTEN      
tcp        0      0 *:smtp                  *:*                     LISTEN     

(smtp : 25, pop-3 : 110, imap2 : 143, www : 80, mysql : 3306, 1025 voir partie 2)

Remarque : le protocole de sécurité SSL peut empêcher les serveurs SMTP, POP3 et IMAP de démarrer. Une situation irritante que je n'arrive pas à renverser lorsque cela se produit (après un arrêt puis démarrage de Xeams). En attendant que je trouve une solution, il suffit de mettre la valeur des champs SSL dans SMTP, POP3 et IMAP à -1 et les serveurs redémarrent normalement sans SSL. Comme je suis têtu, je supprime Xeams et je refais l'installation depuis le début jusqu'à ce que SSL fonctionne.

Quelques tests : depuis un client de messagerie local vers mon compte gmail et inversement (pas besoin d'acheter un certificat SSL). Test réussi avec un compte Yahoo ou Gmail, deux serveurs de messagerie universitaires et une messagerie d'entreprise. J'ai aussi installé Roundcube 1.04 (Partie 4) : je peux gérer toutes mes boîtes de courrier, celles de Xeams, Gmail, Yahoo. Plus lourd, mais intéressant : le client Thunderbird sous QPKG X-Desktop v2 de Philippe fonctionne à merveille (Partie 5).

Si je teste d'autres situations (en achetant un certificat SSL notamment), je mettrais à jour.

Xeams a plein d'options intéressantes (des filtres, des listes, ...) à explorer.

 

Partie 2 : Informations et réglages supplémentaires

- La procédure qui suit n'est pas recommandée et il faut préférer une connexion SMTP sur le port 465. Si vous souhaitez offrir des adresses de courrier à des personnes (de confiance de préférence), il y a de fortes probabilités qu'elles ne pourront pas interroger votre serveur Xeams avec leur client de messagerie si vous n'offrez que le port 25, qui n'est pas exploitable via la plupart des fournisseurs de service. Dans le menu Server Configuration/SMTP configuration vous pouvez définir un second port SMTP. Entrez une valeur supérieure à 1024 et disponible (non utilisée par un autre service de votre réseau). Toute chose égale par ailleurs, le port SMTP à définir dans le compte de ce client de messagerie sera cette valeur. Vous devrez penser à ouvrir ce port dans votre routeur pour l'IP de votre NAS.

- La documentation indique qu'il faut ouvrir le port 53 (udp) dans le routeur. Toutefois, à défaut, Xeams sait s'en passer.

- Le serveur envoie les alertes du serveur vers le courriel de l'administrateur. Une alerte récurrente et incessante : "You are running out of disk space". Il existe plusieurs fils de discussion sur ce problème qui normalement signale un manque d'espace disque critique et les solutions proposées ne fonctionnent plus dans la dernière mouture du QPKG; sauf peut-être celle qui consiste à modifier la valeur du champs Free disk dans le menu Server Configuration/Manage alerts. Pour le moment, la valeur 25 semble un bon compromis et je ne reçois plus d'alerte. Une valeur trop basse arrête le serveur SMTP.

- Dans le menu Tools/View Logs, le log Wrapper signale un Warning pour une librairie absente. Sur le site wrapper.tanukisoftware.com, téléchargez le fichier wrapper_linux_3.0.4.tar.gz et seulement celui-là. Dans cette archive copier uniquement la librairie libwrapper.so dans le répertoire .qpkg/xeams/lib.

- L'interface utilisateur ne propose pas de régler le fuseau horaire. Il faut le faire en console. Arrêtez le serveur Xeams. Aller dans .qpkg/Xeams/config, éditer wrapper.conf puis ajouter ce qui suit dans la section "# Java additional parameters" :
 

wrapper.java.additional.2=-Duser.timezone=GMT-0.00

remplacer -0.00 par votre décalage horaire, -1.00, +1.00, -2.00, +2.00, ... Vous pouvez aussi remplacer GMT-0.00 par une expression explicite donnée à cette adresse (timezone ID) :

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/ae/adrtzval.htm

Redémarrer Xeams (ou après le point suivant).

- La prise en charge des caractères accentués a longtemps été une faiblesse de Xeams (et c'est peut-être encore le cas). Aller dans .qpkg/Xeams/config, éditer wrapper.conf puis ajouter ce qui suit dans la section "# Java additional parameters" :

wrapper.java.additional.3=-Dfile.encoding=ISO-8859-1

Ce paramètre permet la prise en compte des caractères latins accentués. Redémarrez Xeams.

- En page d'acceuil de l'interface de Xeams, à droite, le bouton Intrusion Detection vous permettra de traquer les connexions suspectes; indispensable.

- Le QPKG de Xeams installe automatiquement une version de roundcube (0.5) accessible via http://IPNAS/xwebmail.

- Xeams classe les messages en trois catégories : good, possible junk et junk. Lorsque vous testez les entrées/sorties des messages, les filtres par défaut de Xeams peuvent intercepter des courriers en les retenant dans "possible junk" et "junk". Pensez à surveiller le menu Messages Repository. Xeams intrègre une fonction d'apprentissage qui améliore ce classement avec le temps (et la patience).

- Dans le client de messagerie, pour les comptes IMAP du serveur Xeams, les anciens messages semblent avoir disparus subitement. Il n'en est rien : il suffit de redémarrer le serveur Xeams et tout rentre dans l'ordre. J'ignore d'où cela provient et je ne sais pas comment mieux résoudre cet irritant.

Partie 3 : sauvegarde et restauration des données de Xeams
 

Je viens de tester une sauvegarde des données de Xeams, simplement en copiant le contenu du répertoire /share/VolumeNAS/.qpkg/Xeams sur un disque externe de sauvegarde (c'est assez long car il y a une très grande quantité de petits fichiers). Vous pouvez aussi sauvegarder la base de données xeamsroundcube dans phpMyAdmin ou copier les fichiers depuis /share/VolumeNAS/.@mysql/xeamsroundcube (.@qmariadb/data dans le nouveau QTS).

Si vous avez à (ré)installer Xeams, suivez la procédure de la partie 1 jusqu'au point 2 (pas plus). Dans le centre d'applications du NAS, arrêtez le serveur Xeams. Copiez le contenu de la sauvegarde Xeams dans /share/VolumeNAS/.qpkg/Xeams et éventuellement restaurer la base de données xeamsroundcube. J'ai omis de restaurer cette base. Démarrer le serveur Xeams dans le centre d'applications.

J'ai récupéré ainsi mes paramètres, mes messages et mes logs et tout semble fonctionner normalement.

 

Partie 4 : installation de Roundcube 1.04

Au moment où j'écris ces lignes, la version 1.04 vient de sortir. La version précédente, installée sur mon NAS, ne parvenait pas à supprimer ou déplacer un message. Cette nouvelle mouture permet de gérer correctement un compte de messagerie sous mon NAS de marque QNAP.

Télécharger la version 1.04 : http://roundcube.net/download/.
Vous trouverez le lien wiki pour les instructions d'installation.
Puisque vous avez déjà installé Xeams, la base de données roundcube est déjà configurée. Mais si vous installez Roundcube dans un autre NAS, vous devez créer une base de données (avec phpMyAdmin par exemple). Ayez en tête le login et le mot de passe de cette base de données.

Copiez le fichier téléchargé dans le répertoire Public de votre NAS.

En console SSH sur votre ordinateur :
 

# git clone git://github.com/elm/Roundcube-SMTP-per-Identity-Plugin.git identity_smtp

(ou téléchargez les fichiers selon votre méthode à cette adresse : https://github.com/elm/Roundcube-SMTP-per-Identity-Plugin/)

Déplacer le répertoire identity_smtp dans le répertoire Public de votre NAS.

En console SSH (remplacez RCubeName_version par le nom du fichier téléchargé) :
 

# tar -xzf /share/Public/RCubeName_version.tar.gz -C /share/Web/
# mv /share/Web/RCube_version /share/Web/roundcube
# cp -R /share/Public/identity_smtp /share/Web/roundcube/plugins
# chown -R httpdusr:administrators /share/Web/roundcube

Depuis votre navigateur : 192.168.1.xxx/roundcube/installer

Si vous utilisez MySQL ou un autre programme de base de données, la ligne correspondante devrait indiquer OK. Éventuellement, les lignes suivantes indiquent NOT AVAILABLE,
Intl:
PostgreSQL:
SQLite (v2):
SQL Server (SQLSRV):
SQL Server (DBLIB):
Cliquez sur NEXT.

Pour accroître la sécurité, vous pouvez cocher ip_check. Dans la section Database setup,
- choisissez votre type de base de données,
- saisissez le nom de la base de données (roundcubemail, roundcube, ...),
- renseignez le login et le mot de passe.

Section IMAP Settings,
- default_host : localhost ou 192.168.xxx (IP de Xeams) / ssl://localhost ou ssl://192.168.1.xxx
- default_port : 143 / 993 de préférence,
- username_domain : le nom de domaine ou sous-domaine que vous avez créé (Partie 1 1.),
- renseignez les champs xxx_mbox selon vos préférences.

Section SMTP Settings,
- smtp_server : localhost ou 192.168.xxx (IP de Xeams) / ssl://localhost ou ssl://192.168.1.xxx
- default_port : 25 / 465 de préférence.

Optionnellement, modifiez les paramètres de la dernière section.

Cliquez sur UPDATE CONFIG.

Si tout va bien, vous obtenez ce message : The config file was saved successfully into RCMAIL_CONFIG_DIR directory of your Roundcube installation.

Cliquez sur Continue. À la section Check DB config, cliquez sur INITIALIZE si ce bouton apparaît. Toutes les lignes devraient indiquer OK sauf la ligne Mimetype.

Téléchargez mime.types avec le lien proposé et copiez-le dans /share/Web/roundcube

Vous pouvez tester les serveurs SMTP et IMAP en indiquant l'adresse courriel complète dans Username.

En console SSH :

# vi /share/Web/roundcube/config/config.inc.php

Placez cette ligne à la fin du fichier : $config['mime_types'] = '/share/Web/roundcube/mime.types';

Si vous souhaitez accéder à plusieurs comptes IMAP, dans la section IMAP : remplacez la valeur de $config['default_host'] par (à titre d'exemple)
 

array(
  'ssl://localhost' => 'ServeurXeams',
  'ssl://imap.googlemail.com' => 'Gmail',
  'ssl://imap.mail.yahoo.com' => 'Yahoo!'
);

et dans la section SMTP, modifiez la variable $config['username_domain'] :

$config['username_domain'] = array(
  'ServeurXeams' => 'votre.nom.dedomaine',
  'Gmail' => 'gmail.com',
  'Yahoo!' => 'yahoo.com'
);

Dans la section PLUGINS, renseignez la variable $config['plugins'] :

$config['plugins'] = array('identity_smtp');

Sauvegardez.

Éventuellement, corrigez l'accentuation de votre fichier de langue,

# vi /share/Web/roundcube/plugins/identity_smtp/localization/fr_FR.inc

Renommez le répertoire "installer" :
 

# mv /share/Web/roundcube/installer /share/Web/roundcube/installer_old

Dans votre navigateur, allez à 192.168.1.xxx/roundcube et si tout se passe bien vous obtenez une invite de connexion.

Vous pouvez vous identifier sur un compte distant (Gmail, Yahoo!, ...) et il n'est pas nécessaire d'entrer l'adresse courriel complète pour le login mais choisissez bien le bon serveur. Cependant, pour se connecter au serveur Xeams, le nom d'utilisateur est l'adresse complète (oui, c'est dommage).

Lorsque vous êtes connecté à votre compte, vous pouvez gérer vos identités afin d'entrer les paramètres du serveur SMTP de vos comptes courriel distants :

- cliquez sur Paramètres,
- cliquez sur Identités,
- sélectionnez l'identité déjà présente,
- corrigez votre adresse courriel en la remplaçant par sa version courte (optionnel),
- décochez "Définir les paramètres par défaut",
- décochez "Utiliser le serveur SMTP par défaut",
- renseignez les 4 champs suivants (sans oublier ssl:// pour le champ courriel pour une connexion SSL, port 465),
- sauvegardez,
- testez!

Déconnectez-vous, reconnectez-vous sur un autre compte et configurez votre identité de la même façon.

Enfin, si tout fonctionne comme prévu, supprimez le répertoire /share/Web/roundcube/installer_old par sécurité.

 

Partie 5 : Mozilla Thunderbird

Avec les outils disponibles aujourd'hui, il est possible de gérer toutes ses boîtes de courrier dans le NAS. Thunderbird offre un environnement complet avec carnet d'adresses, filtres d'importation et archivage. Je l'ai finalement choisi pour gérer mes comptes de mon serveur Xeams.

Pour l'installer vous aurez besoin d'installer le QPKG de Philippe :

http://forum.qnapclub.fr/files/file/109-qpkg-x-desktop-x86-official-v2-aka-ubuntu-chr/

(pensez à changer le mot de passe vnc, en console ssh : u_bash puis vncpasswd)

Lorsque Ubuntu est installé,

- connectez-vous en ssh à votre NAS et entrez la commande u_bash,
- apt-get update
- apt-get install thunderbird
- exit

Créer un dossier pour stocker le profil Thunderbird :

- mkdir /share/homes/qnapfr (ou /share/homes/qnapen)
- mkdir /share/homes/qnapfr/nom_du_profil

afin qu'il soit accessible par le gestionnaire de sauvegardes notamment.

- u_bash
- chmod 777 /share/homes/qnapfr/nom_du_profil (on doit pouvoir raffiner ces permissions)

Avec votre navigateur allez à 192.168.1.xyz/xdesktop/ ou avec Remmina ou autre (mode VNC), connectez-vous à 192.168.1.xyz:5910 (ou 5920).

- ouvrez la console mate (sur le bureau)
- thunderbird -ProfileManager
- créez un profil qui pointe vers /share/homes/qnapfr/nom_du_profil
- supprimez le profil default
- ouvrez thunderbird (aussi accessible par les menus)
- créez vos comptes
- testez

Tout ce qui se trouve dans nom_du_profil peut-être transféré tel quel dans une machine possédant Thunderbird en créant un nouveau profil. C'est assez souple.

Les avantages :
- Thunderbird est complet, bien connu et familier,
- Ubuntu X-Desktop ne consomme pas de ressources CPU lorsqu'il est en sommeil,
- Ubuntu X-Desktop permet d'avoir LibreOffice sur le NAS (y compris la dernière version),
- Profil facile à sauvegarder et à transférer vers une autre installation de Thunderbird.

Les moins :
- Evidemment plus lourd à installer que Roundcube.
- Gourmand en mémoire.

Modifié par Tryphon
Mise à jour (restauration de Xeams)

Partager ce message


Lien à poster
Partager sur d’autres sites
Calmeraie    0

Bonjour,

Est-ce que tu tournes toujours avec Xeams ? Je n'arrive pas à valider la connexion SSL intégrée malgré l'ouverture des ports. Mon serveur indique SMTP "not running". J'ai réinstallé plusieurs fois le programme. Je bute ... Comme tu as eu ce problème comment t'en es-tu sorti ?

Merci en tout cas pour ce tuto.

Modifié par Calmeraie

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


×