HAUT

Ajout du service XMPP aux comptes Mail avec Prosody

Cet article vient en complément à l’article précédent et il permet d’apprendre à configurer un service XMPP associé aux comptes des utilisateurs de mail. Pour cela nous allons utiliser le serveur XMPP Prosody.\r\nLe serveur XMPP Prosody est disponible sous Gnu/Linux Debian Wheezy 7.0 en version >=0.8. Pour l’installer avec les dépendances nécessaires à notre configuration, rien de plus simple avec notre habituelle commande :

\r\n\r\n

apt-get install prosody libluacyrus

\r\n\r\n

Nous allons donc utiliser SASL pour authentifier les comptes, cette authentification sera faite sur la base de données gérer par le PostfixAdmin que nous avons mis en place pour gérer nos comptes mails.\r\n\r\nLa particularité des cette authentification est qu’elle ne permet pas d’enregistrer via le protocole XMMP des nouveaux utilisateurs, ni même de faire modifier son mot de passe. Cela n’est possible que dans le cadre de la gestion des comptes Mails. le service XMPP est considéré comme un service annexe à nos comptes utilisateurs.

\r\n\r\nLes informations complémentaires, qui servent à la gestion du compte XMPP, sont maintenues dans la base de Prosody située dans /var/lib/prosody.\r\n\r\nPour des raisons technique, nous somme dans l’obligation d’avoir les mots de passe en clair dans la base de données (ceci est notre cas) en attendant que l’authentification avec SCRAM-SHA-1 soit généralisée et supportée par nos applications.\r\n\r\nPour configurer, cette configuration sera appliquée à tous les hôtes virutels, nous devons modifier ou ajouter les options suivantes :\r\n/etc/prosody/prosody.cfg.lua\r\n

\r\nadmins = { "LECOMPTEQUISERALADMINDEPROSODY" }; // exemple: admins = { "admin@exemple.com" }\r\nuse_libevent = true; //meilleures performances.\r\nc2s_require_encryption = true;\r\nanonymous_login = false;\r\nallow_unencrypted_plain_auth = false;  // sauf connection en TLS/SSL.\r\nauthentication = "cyrus";\r\nstorage = "internal";

\r\n\r\nIl faut ajouter un répertoire /etc/sasl pour y mettre le fichier qui permettra l’authentification avec les informations situées dans la base postgresql que nous avons crée lors de l’article précédent avec PostfixAdmin.\r\n

# mkdir -p /etc/sasl

\r\nDans ce répertoire nous créons le fichier /etc/sasl/prosody.conf dans le quel nous mettons la configuration suivante :\r\n

pwcheck_method: auxprop\r\nmech_list: PLAIN\r\nminimum_layer: 0\r\nauxprop_plugin: sql\r\nlog_level: 2\r\nsql_engine: pgsql\r\nsql_hostnames: localhost // ou le nom du serveur où se trouve Postgresl-server.\r\nsql_user: NOMUTILISATEURPOSTFIXDOVECOT // le nom qui a seulement lecture seul sur la base.\r\nsql_database: NOMBASEDEDONNEES\r\nsql_passwd: LEMOTDEPASSETRESSECRET\r\nsql_mda: sha1\r\nsql_usessl: no  // de préférence yes si la base est sur un serveur distant.\r\nsql_select: select password from "PREFIX"mailbox where username = '%u@%r'

\r\n\r\nPour terminer, nous activons le ou les domaines qui seront avec le service XMPP en plus du service de mail.\r\n/etc/prosody/conf.avail/MONDOMAINE.TLD.cfg.lua\r\n

 \r\nVirtualHost "MONDOMAINE.TLD"\r\nenabled = true;\r\nssl = {\r\n    key = "/etc/prosody/certs/LACLECERTIFICAT.key";\r\n    certificat = "/etc/prosody/certs/LECERTIFCAT.crt";\r\n};\r\n

\r\nPuis, nous activons le domaine géré :\r\n

# cd /etc/prosody/conf.d/\r\n# ln -s ../conf.avail/MONDOMAINE.TLD.cfg.lua .\r\n

\r\n\r\nMaintenant, vos utilisateurs mail pourront utiliser le service XMPP en utilisant le même identifiant et mot de passe que pour le service mail. Le mot de passe est modifiable via votre webmail Roundcube, un miniSSO ;).\r\n

Les commentaires sont fermés.