Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prosody [Le 16/12/2009, 13:18]
Vanaryon création de la page
prosody [Le 11/09/2022, 11:34] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>jabber ​serveur}}+{{tag>bionic ​serveur ​xmpp}} 
 + 
 +---- 
 ====== Prosody ====== ====== Prosody ======
  
-Prosody est un serveur ​Jabber ​libreentièrement écrit en Lua, ce qui le rend très léger, simpliste et facile à configurer.+Prosody est un serveur ​[[:​XMPP]] ​libre entièrement écrit en Lua, ce qui le rend très léger, simpliste et facile à configurer. 
 + 
 +Il est bien sûr gratuit, et très jeune, ce qui peut être (pour certaines personnes), un désavantage par rapport à ses concurrents. 
 + 
 +===== Installation ===== 
 + 
 +==== Depuis les dépôts officiels ==== 
 + 
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​prosody|prosody]]** 
 + 
 +==== Depuis le dépôt de Prosody IM ==== 
 + 
 +Si vous voulez profiter de la dernière version du serveur XMPP Prosody, elle est disponible sur le dépôt proposé par le site internet officiel du projet. 
 + 
 +<note important>​Ce logiciel ne provient pas des dépôts officiels Ubuntu, ce qui fait que vous devez faire confiance à la source depuis laquelle vous le récupérez ([[http://​prosody.im/​]])</​note>​ 
 + 
 +[[:​tutoriel:​comment_modifier_sources_maj|Modifiez vos sources de mises à jour]] pour y ajouter le dépôt suivant : 
 +<​file>​deb http://​packages.prosody.im/​debian VERSION main</​file>​ 
 + 
 +Remplacez **VERSION** par la version d'​Ubuntu que vous utilisez, si vous ne savez pas copier dans un terminal : 
 + 
 +<​code>​lsb_release -sc</​code>​ 
 + 
 +Suite à la modification des sources, un message d'​erreur apparaîtra indiquant que la clé publique n'est pas disponible, pour y remédier copiez dans un terminal : 
 + 
 +<​code>​wget https://​prosody.im/​files/​prosody-debian-packages.key -O- | sudo apt-key add -</​code>​ 
 + 
 +puis [[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|rechargez la liste des paquets]]. 
 + 
 +Pour terminer, [[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​prosody|prosody]]** 
 + 
 + 
 +<​note>​Si il s'agit d'une mise à jour, n'​oubliez pas de redémarrer Prosody 
 +<code bash>​sudo /​etc/​init.d/​prosody restart</​code></​note>​ 
 + 
 +===== Configuration ===== 
 + 
 +La grande puissance de Prosody est aussi sa grande faiblesse : ce serveur a beau être très simpliste (il ne proposera pas autant de fonctionnalités que [[wpfr>​ejabberd]]),​ il est plus que simple à configurer ! 
 + 
 +Voyons donc les étapes de sa configuration ! C'est parti ! 
 + 
 +==== Ouvrir les ports ==== 
 + 
 +Si vous êtes derrière un pare-feu et/ou une box/routeur (de type Freebox, Livebox, etc...), il se peut que les ports nécessaires au bon fonctionnement du protocole XMPP (côté serveur) soient fermés. Ce serait bête d'​installer un serveur XMPP si celui-ci ne peut être utilisé ! 
 + 
 +Voici donc les ports principaux à ouvrir : 
 + 
 +  * 5222 (TCP) -> communications client/​serveur 
 +  * 5269 (TCP) -> communications serveur/​serveur 
 + 
 +=== Le pare-feu === 
 + 
 +Dans le cas d'un pare-feu, si vous utilisez l'​outil simplifié [[UFW]], copiez ces commandes dans un terminal : 
 + 
 +  sudo ufw allow 5222/tcp 
 +  sudo ufw allow 5269/tcp 
 + 
 +Vous pouvez bien aussi utiliser directement [[Iptables]] (pour utilisateurs avancés) 
 + 
 +=== Box/routeur === 
 + 
 +Si vous avez une box/​routeur,​ le plus souvent l'​interface d'​administration est accessible directement depuis l'​adresse réseau locale [[http://​192.168.1.1]] ou encore [[http://​192.168.0.1]].\\ 
 +Pour plus d'​information,​ consultez la documentation dédié à votre appareil.\\ 
 +Concernant les Box, vous pouvez consulter ce [[https://​craym.eu/​tutoriels/​utilitaires/​ouvrir_les_ports_de_sa_box.html|site internet]]. 
 + 
 + 
 + 
 +==== Le fichier de configuration ==== 
 + 
 +Nous y sommes ! Nous avons le fichier de configuration de Prosody à configurer pour "​activer"​ le serveur en quelques sortes, pour lui dire d'​accepter les connexions. 
 + 
 +[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​prosody/​prosody.cfg.lua**. 
 + 
 +Votre éditeur de texte favori s'​ouvre (ou pas, ça dépend des goûts !), et vous présente le magnifique fichier de configuration de Prosody. Nous allons donc commencer par activer le serveur : défilez tout en bas du fichier, et recherchez la ligne : 
 + 
 +<file lua>​enabled = false -- Remove this line to enable this host</​file>​ 
 +sur laquelle vous remplacerez **false** par **true** (non, sans blague !) 
 + 
 +Ceci fait, nous allons ajouter un hôte à notre serveur. Vous avez probablement un nom de domaine associé à votre serveur du genre "​example.com",​ ou encore "​monsite.dyndns.org"​ si vous avez une IP dynamique. Repérez tout simplement la ligne : 
 + 
 +<file lua>​Virtualhost "​example.com"</​file>​ 
 + 
 +<​note>​Vous devrez remplacer **example.com** par votre propre nom de domaine tout au long de cette explication.</​note>​ 
 + 
 +=== Chiffrement SSL === 
 + 
 +Si vous souhaitez utiliser le [[wpfr>​Transport_Layer_Security|SSL]],​ placez vous en tant qu'​administrateur dans le répertoire /​etc/​prosody/​certs ([[tutoriel/​console_commandes_de_base#​cd|en utilisant cd]]) puis entrez la commande suivante pour créer le certificat : 
 +<code bash>​openssl req -new -x509 -nodes -out example.com.crt -keyout example.com.key -days 1000</​code>​ 
 + 
 +Nous avons presque fini ! Après avoir bien configuré les chemins des clés de chiffrement dans le fichier **prosody.cfg.lua** 
 +<file lua>ssl = { 
 + key = "/​etc/​prosody/​certs/​example.com.key";​ 
 + certificate = "/​etc/​prosody/​certs/​example.com.cert";​ 
 +}</​file>​ 
 + 
 +<​note>​ Vous pouvez utiliser un certificat signé par une autorité de certification si vous le souhaitez, par exemple avec Letsencrypt. Le principe est le même que vu plus haut </​note>​ 
 + 
 +<file lua>ssl = { 
 +            certificate = "/​etc/​letsencrypt/​live/​example.com/​fullchain.pem";​ -- Note: Seulement lisible par root par défaut (penser à accorder les droits nécessaire.) 
 +            key = "/​etc/​letsencrypt/​live/​example.com/​privkey.pem";​ 
 +}</​file>​ 
 + 
 + 
 + 
 +=== Gestion des comptes utilisateurs === 
 + 
 +Pour faire simple, il existe deux manières pour créer un compte utilisateur:​ soit par commandes, soit en utilisant un [[xmpp#​clients_xmpp|client XMPP]]. La seconde méthode est désactivé par défaut, mais si vous comptez donner la possibilité à quiconque d'​utiliser votre serveur XMPP, alors il peut être intéressant de l'​activer. Dans le fichier **prosody.cfg.lua**,​ à la ligne, 
 +<file lua>​allow_registration = false;</​file>​ 
 +remplacez **false** par **true** 
 + 
 +Si vous souhaitez que certains comptes aient des droits d'​administrations,​ il faut les lister sur cette ligne (les comptes devront être au préalable créés). Cette fonctionnalité n'est pas utile si le serveur sera utilisé que par quelques utilisateurs. À la ligne, 
 +<file lua>​admins = {  }</​file>​ 
 +ajoutez par exemple : **admins = { "​moi@example.com",​ "​paul@example.com"​ }**\\ 
 +(n'​oubliez pas les guillemets autour de l'​adresse/​JID) 
 + 
 +=== Divers === 
 + 
 +Avant de confirmer la nouvelle configuration,​ je vous laisse parcourir le reste du fichier (désactiver/​activer des modules, etc...), sauvegarder,​ puis nous allons redémarrer Prosody : 
 + 
 +<code bash>​sudo /​etc/​init.d/​prosody restart</​code>​ 
 + 
 +Normalement,​ si tout s'est bien passé, vous n'avez aucun message d'​erreur,​ et vous pouvez à présent accéder à votre serveur depuis votre ordinateur avec un logiciel comme [[Gajim]]. 
 + 
 +==== Réseau local ==== 
 + 
 +Si votre serveur se trouve sur votre ordinateur où vous allez l'​utiliser,​ il est conseillé de rajouter une ligne au fichier hosts. 
 + 
 +[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​hosts**. 
 + 
 +Puis rajoutez une ligne du type : 
 + 
 +**127.0.0.1 ​     example.com** (ce qui résoudra les problèmes de connexion en local avec certains routeurs) 
 + 
 +===== Gestion des comptes utilisateurs ===== 
 + 
 +==== En ligne de commande ==== 
 + 
 +Pour créer un compte utilisateur écrivez : 
 + 
 +  sudo prosodyctl adduser moi@example.com 
 + 
 +Le mot de passe sera demandé deux fois (après éventuellement la demande du mot de passe sudo). 
 + 
 +Pour modifier le mot de passe d'un compte utilisateur : 
 + 
 +  sudo prosodyctl passwd moi@example.com 
 + 
 +Pour supprimer un compte : 
 + 
 +  sudo prosodyctl deluser moi@example.com 
 + 
 +Pour connaître l'​état des comptes utilisateurs : 
 + 
 +  sudo prosodyctl status 
 +==== Via un client XMPP ==== 
 + 
 +Les clients XMPP (par exemple gajim, pidgin, chatsecure, conversations etc ...) sont capables de créer des comptes utilisateurs,​ à condition que cela soit accepté dans les configuration du serveur (voir précédemment).\\ 
 +[[pidgin#​creer_un_compte|Voici comment procéder avec Pidgin]]. 
 + 
 +Et voilà ! Vous pouvez maintenant chatter en toute liberté sur les réseaux libres XMPP, utilisant le (magnifique) protocole XMPP ! 
 + 
 + 
 +[[https://​cyberjinh.fr/​|Exemple avec ChatSecure (iOS), Xabber (Android), gajim (Linux, windows, MacOS]] 
 +===== Désinstallation ===== 
 + 
 +Pour supprimer Prosody, il suffit d'​entrer la commande suivante : 
 + 
 +<code bash>​sudo apt-get remove --purge prosody</​code>​ 
 + 
 +Vous pouvez aussi désinstaller les paquets de la librairie Lua s'ils ne sont plus utilisés. 
 + 
 +===== Voir aussi ===== 
 + 
 +  * (en) [[https://​prosody.im/​|Site officiel de Prosody]] 
 +  * (en) [[https://​prosody.im/​doc/​configure|Configurer Prosody]] 
 +  * [[https://​toutetrien.lithio.fr/​article/​installer-son-serveur-xmpp-avec-prosody|Tutoriel sur Prosody]] 
 + 
 +---- 
 + 
 +//​Contributeurs : Vanaryon, [[:​utilisateurs:​axel55|Axelos]]//,​ Anawel86
  • prosody.1260965939.txt.gz
  • Dernière modification: Le 18/04/2011, 14:38
  • (modification externe)