Messagerie instantanée avec Prosody sur Debian Squeeze

prosodie

Salut les amis!. Aujourd'hui je vous présente un serveur moderne et flexible Jabber / XMPP, écrit dans la langue Lua et anciennement connu sous le nom de Lxmppd. Il a les caractéristiques d'être un système à plates-formes multiples, avec une très faible consommation de ressources, facile à utiliser et extensible. Et sans plus tarder, passons aux choses sérieuses! Ils peuvent sembler de nombreux aspects, mais ils sont vraiment simples et courts. Nous verrons maintenant:

  • Serveur de base
  • Nous installons les packages nécessaires
  • Apprenons à configurer
  • Nous configurons les paramètres globaux
  • Nous créons et configurons l'hôte virtuel
  • Nous générons des certificats SSL / TLS
  • Nous permettons à l'hôte
  • Nous créons le premier utilisateur
  • Nous enregistrons notre Prosody dans un DNS
  • On vérifie tout

Serveur de base
La faible consommation de ressources nous permet d'installer le Prosody même dans notre propre poste de travail et de fournir le service de chat à partir de celui-ci.

Nous installons les packages nécessaires
Pour nous familiariser avec la Prosody, nous allons utiliser les packages officiels qui viennent dans le dépôt Squeeze:

aptitude installer prosody liblua5.1-sec0

Apprenons à configurer
Lisons la documentation d'accompagnement /usr/share/doc/prosody/doc/coding_style.txt, pour se familiariser avec le format utilisé dans les fichiers de configuration. Allons au dossier / etc / prosody et nous listons les fichiers et répertoires existants. Les noms de chaque dossier ou fichier sont intuitifs et indiquent clairement à quoi ils servent:

  • certs: Répertoire où seront stockés les certificats SSL / TLS et leurs clés privées.
  • conf.dispo: Répertoire qui contient les fichiers de configuration des hôtes virtuels que nous déclarons disponibles. Cela fonctionne très similaire à ce qui a été vu dans les articles précédents liés aux serveurs Web, comme dans le cas du dossier disponible sur les sites de Nginx.
  • conf.d: Dossier où les liens directs des hôtes virtuels déclarés dans conf.avil et que nous voulons activer.
  • prosodie.cfg.lua: fichier principal de la configuration Prosody.
  • README: Fichier qui nous donne un "indice" pour avancer. N'arrêtez pas de le lire!

Avec ce que nous avons lu jusqu'à présent, nous pouvons essayer une configuration initiale minimale.

Nous configurons les paramètres globaux
Nous étudions attentivement le fichier de configuration principal/etc/prosody/prosody.cfg.lua, auquel j'ai fait une traduction gratuite et que nous pouvons télécharger à la fin. Sauvegardons le fichier d'origine installé à l'aide de la commande suivante:

cp /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.original

On vide le fichier de configuration. Avec lui nano, nous éditons le prosodie.cfg.lua déjà vidé et collez le contenu du fichier d'exemple téléchargé. Nous le modifions selon nos besoins, et économisons avec les ctl + o. Plus tard, nous vérifions la syntaxe du fichier de configuration:

cp / dev / null /etc/prosody/prosody.cfg.lua nano /etc/prosody/prosody.cfg.lua luac -p /etc/prosdy/prosody.cfg.lua

Et si vous ne renvoyez pas de message, tout va bien.

Nous créons et configurons l'hôte virtuel
Le fichier de notre hôte virtuel, nous le créerons dans le répertoire /etc/prosody/conf.avail/avec le nom d'hôte, plus l'extension .conf.lua, et nous le créerons à partir du fichierexemple.com.cfg.lua existant dans ce dossier:

mv /etc/prosody/conf.avail/example.com.cfg.lua /etc/prosody/conf.avail/web.amigos.cu.cfg.lua nano /etc/prosody/conf.avail/web.amigos.cu .cfg.lua

Nous modifions le fichier avec les paramètres corrects en fonction de nos besoins. Nous pouvons télécharger une version cohérente avec cet exemple à la fin de l'article. N'oubliez pas de supprimer la ligne enabled = false - Supprimez cette ligne pour activer cet hôte.

Nous générons des certificats SSL / TLS
Lors de l'exécution de la commande pour générer les certificats, ils nous demanderont des informations relatives à notre société.

cd / etc / prosody / certs openssl req -new -x509 -days 365 -nodes -out "web.amigos.cu.crt" -keyout "web.amigos.cu.key"

Nous vérifions que les certificats ont été générés correctement par ls -l.

Nous permettons à l'hôte
Pour activer l'hôte déclaré dans /etc/prosody/conf.avail/web.amigos.cu.cfg.lua, il faut créer un lien symbolique de ce fichier dans le dossier conf.d. Ensuite, il faut redémarrer le service:

ln -s /etc/prosody/conf.avail/web.amigos.cu.cfg.lua /etc/prosody/conf.d/web.amigos.cu.cfg.lua /etc/init.d/prosody restart

Conseil : Ouvrez une console dédiée pour afficher les messages du journal Prosody à l'aide de la commande tail -f /var/log/prosodie/prosodie.log. Si la dernière ligne dit "Démonisation réussie vers le PID ####", alors Tout fonctionne au Kilo!. Si vous recevez un message d'erreur, vous devrez peut-être arrêter manuellement le processus "Lua" qu'il fonctionne AVANT de redémarrer le Prosody. Connaître le Pid del Lua, coursps-e | grep lua. Pour tuer le processus, tuer-tuer #pid del lua.

Nous créons le premier utilisateur
Pour créer des utilisateurs, nous utilisons la commande prosodyctle comme suit:

prosodyctl adduser admin@web.amigos.cu

La commande nous demandera le "mot de passe" de l'utilisateur. Notez que nous créons l'utilisateur «Admin», que nous déclarons en tant qu'administrateur Prosody dans le fichier de configuration global prosodie.cfg.lua.

NOUS RECOMMANDONS DE NE PAS utiliser la commande prosodyctle pour arrêter, démarrer ou redémarrer le service, mais faites-le par des méthodes traditionnelles telles que:

/etc/init.d/prosody {start | stop | restart | reload} invoke-rc.d prosody {start | stop | restart | reload} service prosody {start | stop | restart | reload}

Nous enregistrons notre Prosody dans un DNS
Le service de messagerie instantanée s'appuie fortement sur le service DNS. Chaque utilisateur est identifié par son adresse ou J ID dans la voie de utilisateur @ domaine, où le domaine indique le serveur sur lequel le compte est stocké. Pour que l'utilisateur puisse se connecter et se connecter, il est nécessaire de trouver l'adresse IP du serveur. De même, les serveurs distants doivent contacter le utilisateur @ domaine pour vous passer un message. Par conséquent, il est nécessaire que le serveur Prosody ait un type d'enregistrement A dans le serveur DNS de notre LAN. Par exemple:

192.168.10.20 DANS A web.amigos.cu.

On vérifie tout
Nous avons déjà notre serveur Prosody en cours d'exécution. Discutons alors! Installez Pidgin ou Psi, ou choisissez le client XMPP de votre choix et connectez-vous au serveur. S'il réussit, c'est parce qu'alors il a suivi le contenu de cet article à la lettre. Sinon, demandez, c'est pour cela que des blogs comme celui-ci ont été créés. Ahhh, si vous voulez discuter depuis une console, installez le Finch.

Nous avons fait un package avec la documentation du site officiel de Prosody, qui nous l'espérons sera utile. Ceux qui souhaitent télécharger les packages directement depuis le référentiel Prosody, visitez Dépôt de packages Prosody.

À tous, bonne chance et bon chat!

Télécharger des exemples de fichiers

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   éliotime3000 dit

    Bonne suggestion. Voyons si j'ai le temps de créer un client de messagerie instantanée.

    1.    animé dit

      Un autre client XMPP? Mec, je ne pense pas que ce soit nécessaire à moins que vous ne le fassiez pour apprendre et que vous le définissiez comme votre objectif. Ils sont déjà Pidgin, Kopete, KDE-Telephaty, Empathy, PSI ... en tout cas.

      1.    chasseur dit

        Eh bien, autant qu'un autre client, je ne pense pas mais ce serait amusant de jouer avec l'API XMPP et d'envoyer des messages depuis des applications.

      2.    Pourritures87 dit

        Ce serait bien si, par exemple, vous avez besoin de faire une sorte de chat pour un réseau interne ou quelque chose de similaire

      3.    braybaut dit

        Si c'est vrai, mais ce tutoriel sert à implémenter un client XMPP dans les réseaux gratuits

        1.    chasseur dit

          Ce tutoriel est pour le serveur, il existe déjà quelques clients gratuits.

      4.    éliotime3000 dit

        Pour Windows, ça servirait beaucoup (en l'absence du mythique Messenger, il serait bon d'en faire un meilleur, non?).

  2.   Federico A. Valdès Toujague dit

    Merci à tous pour vos commentaires. Mon rêve est d'avoir un client Web pour discuter sur mon LAN. J'ai installé ejabberd avec JwChat et comme l'interface de Squeeze était collante (et moche et boguée), je ne l'ai même pas essayée. J'ai essayé le serveur Web Yaws et son client Web Yaws-chat et je n'ai pas pu le faire fonctionner correctement. Ils ont téléchargé le PHPFreeChat et rien. Avec Lenny Drupal 6, j'ai essayé de configurer les plugins pour le chat et je me suis fatigué à l'époque, il y a plusieurs années. Je rêve de ne plus dépendre de l'installation de clients et de discuter avec un navigateur rien de plus. Le Challenge est lancé.

    1.    éliotime3000 dit

      De rien, mon pote. Voyons si je peux terminer le téléchargement du Wheezy DVD1 pour faire un tutoriel sur la façon d'installer ZPanelX dans la nouvelle version de Debian Stable (j'espère que les développeurs ZPanel n'abandonneront pas le support Ubuntu 12.04 LTS, car sinon je ne pourrais pas faire un installation de ce panneau de contrôle que j'ai trouvé génial lorsque je l'ai testé sur Windows).

  3.   Nouveau sur Debian dit

    Bonjour, si j'ai installé Debian 7 il y a peu de temps. Cependant, je n'ai pas Internet, cela m'indique qu'il me manque le firmware. Il s'agit d'un lien tp usb tl-wn321g. Puis-je le télécharger depuis Windows? Désolé de demander ici, c'est que je ne veux pas m'inscrire dans un forum debian, aussi je ne connais pas très bien l'anglais.

    1.    éliotime3000 dit

      Si le TP-Link a le chipset Altheros, il devrait le reconnaître sans complications.

      Vérifiez si votre modèle USB TP-Link dispose du chipset Altheros, et notez l'ID matériel.

    2.    commentateur dit

      Si vous souhaitez télécharger l'iso ici, ce sont des isos Debian mais ils sont livrés avec des pilotes et un micrologiciel non libres.

      http://live.debian.net/cdimage/release/7.0.0+nonfree/i386/iso-hybrid/

  4.   Pourritures87 dit

    Je voudrais un bon tuto sur l'astérisque hehehe

    1.    Jules César dit

      Je vous recommande de commencer par utiliser Trixbox CE ou Elastix les deux sont basés sur Asterisk

      http://www.elastix.org/

      http://www.trixbox.com/

  5.   msx dit

    Très bon guide, merci beaucoup 🙂

  6.   Alexandrodez dit

    Excellent, merci beaucoup cela a été très utile.

  7.   @Jlcmux dit

    Je vais le tester dans le réseau Mesh Free que nous mettons en œuvre dans ma ville. Ensuite, je vais vous dire comment je fais avec ça.

    Saludos.!

  8.   @Jlcmux dit

    Quel dommage. Je suis resté dans la dernière étape. Où dois-je configurer le DNS? Quelle honte d'être le seul à demander ça haha

  9.   Piccolo Lenz McKay dit

    J'ai des questions très intéressantes:

    Connaissez-vous ou avez-vous de l'expérience pour une installation en production de prosodie pour 3000 utilisateurs où il y a au moins 1000 connectés en même temps en conversation?

    Prise en charge de: transfert de fichiers, VIP, et c'est le journal de conversation le plus important?

    ENVIRONNEMENT: 3 mille utilisateurs, avec enregistrement Web désactivé et scripts via le serveur appelé via cgi prawns pour l'enregistrement et la manipulation des utilisateurs, dans un DELL T8 à 110 cœurs avec 8 Go de RAM à usage exclusif ou pour ejabberd à lenny avec erland et ejabberd portés

    La balle gonfle, après avoir réglé beaucoup de problèmes dans l'ejabberd, je trouve ça, vraiment ça me donne l'impression d'avoir perdu mon temps ..

    1.    Federico A. Valdès Toujague dit

      Mes salutations PICCORO Lenz McKAY !!!. Regardez, je vous recommande de visiter le site officiel de Prosody http://prosody.imet développez les informations. Je n'ai aucune expérience de plus de 1000 clients discutant en même temps avec le Prosody. Et je ne pense pas que vous ayez perdu votre temps avec l'Ejabberd. C'est une décision que tu as prise à l'époque de Lenny. Au fait, j'avoue qu'Ejabberd a été le premier que j'ai installé sur mon réseau local professionnel, où peut-être 50 ou 60 utilisateurs ont discuté à l'unisson. Le serveur ne le savait même pas et il ne disposait que de 512 mégaoctets de RAM. 🙂 Et oui, j'ai eu du mal à le configurer correctement. La Prosodie est très simple, mais je vous invite à en savoir plus sur ses potentialités. Ce n'est pas que je doute de lui, mais que je n'ai pas l'expérience dont vous avez besoin.