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 29/12/2009, 12:42]
Vanaryon Finalisation 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 est un serveur ​Jabber ​libreentièrement écrit en Lua, ce qui le rend très léger, simpliste et facile à configurer.+---- 
 + 
 +====== Prosody ====== 
 + 
 +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. Il est bien sûr gratuit, et très jeune, ce qui peut être (pour certaines personnes), un désavantage par rapport à ses concurrents.
Ligne 7: Ligne 11:
 ===== Installation ===== ===== Installation =====
  
-Prosody n'​étant pas (pour le moment...) disponible dans les dépôts officiels ​Ubuntu, vous devrez télécharger ​le paquet ​Debian sur le [[http://prosody.im/|site officiel]] du serveur ​Jabber ​Prosody.+==== 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>​ <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>​
  
-Récupérez donc le paquet directement depuis ​[[http://​prosody.im/​download/start#​debian_and_ubuntu|cette page]] afin d'​installer le paquet localement par la suite.+[[:​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>
  
-N'​oubliez pas d'installer le paquet additionnel de la librairie Luapermettant d'​utiliser le chiffrement SSL avec Prosody ​:+Remplacez **VERSION** par la version ​d'Ubuntu que vous utilisezsi vous ne savez pas copier dans un terminal ​:
  
-  sudo apt-get install liblua5.1-sec0+<​code>​lsb_release ​-sc</​code>​
  
-Ceci faitredémarrez le serveur Prosody ​:+Suite à la modification des sourcesun message d'​erreur apparaîtra indiquant que la clé publique n'est pas disponible, pour y remédier copiez dans un terminal ​:
  
-   ​sudo ​/etc/init.d/​prosody ​restart+<​code>​wget https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -</​code>​
  
-Si le paquet ​additionnel est correctement installévous ne devriez ​pas obtenir ​de message d'​erreur dans le terminal lors du redémarrage du serveur XMPP.+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 à journ'​oubliez ​pas de redémarrer Prosody 
 +<code bash>​sudo /etc/init.d/prosody restart</​code></​note>​
  
 ===== Configuration ===== ===== 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 [[ejabberd]]),​ il est plus que simple à configurer !+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 ! Voyons donc les étapes de sa configuration ! C'est parti !
Ligne 31: Ligne 48:
 ==== Ouvrir les ports ==== ==== Ouvrir les ports ====
  
-Si vous êtes derrière un pare-feu 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 ​Jabber ​si celui-ci ne peut être utilisé !+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é !
  
-Dans le cas d'un pare-feu, référez-vous ​à la documentation de ce dernier afin de connaître la marche à suivre pour la configuration.+Voici donc les ports principaux ​à ouvrir :
  
-Si vous avez une box/routeur, le plus souvent l'​interface d'​administration est accessible directement depuis l'​adresse réseau locale [[192.168.1.1]] ou encore [[192.168.0.1]]. Sur une Livebox, le mot de passe par défaut est admin, avec un identifiant du même nom. Il est probable que vous (ou une autre personneayez changé ce mot de passe auparavant.+  * 5222 (TCP) -> communications client/serveur 
 +  * 5269 (TCP-> communications serveur/​serveur
  
-Une fois connecté, voici la marche à suivre pour une Livebox (type SAGEM) :+=== Le pare-feu ===
  
-  ​Allez dans //Serveurs LAN/+Dans le cas d'un pare-feu, si vous utilisez l'​outil simplifié [[UFW]], copiez ces commandes ​dans un terminal : 
-  - En bas de la listecliquez sur //Nouvelle entrée// + 
-  - Puis remplissez le formulaire selon votre configuration et vos souhaitsen répétant le point précédent pour chaque port à ouvrir.+  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/routeurle 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'​informationconsultez 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]].
  
-Voici donc les ports principaux à ouvrir : 
  
-  * 5222 (TCP & UDP) -> communications client/​serveur 
-  * 5269 (TCP & UDP) -> communications serveur/​serveur 
-  * 5280 (TCP & UDP) -> communications http/​serveur 
  
 ==== Le fichier de configuration ==== ==== 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. ​Ouvrez un terminal et entrez cette commande :+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.
  
-   sudo gedit /​etc/​prosody/​prosody.cfg.lua+[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez le fichier]] **/​etc/​prosody/​prosody.cfg.lua**.
  
-Le système vous demande votre mot de passe, jusque là c'est relativement simple ​(et vous ne devez pas être en terre inconnue ​!).+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 ProsodyNous allons donc commencer par activer le serveur : défilez tout en bas du fichier, et recherchez la ligne :
  
-Votre éditeur de texte favoris 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 : scrollez 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** ​(nonsans blague ​!)
  
-''​**enabled = false**''​ que vous remplacez par ''​**enabled = true**''​ (nonsans blague !)+Ceci faitnous 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 :
  
-Ceci fait, nous allons ajouter un hôte à notre serveur. Vous avez probablement un nom de domaine associé à votre serveur du genre "monsite.org", ou encore "​monsite.dyndns.org"​ si vous avez une IP dynamique. Remplacez tout simplement la ligne :+<file lua>​Virtualhost ​"example.com"</​file>​
  
-''​**Host "example.com"**'' ​par ''​**Host "​monsite.org"​**''​ (en mettant bien sûr votre domaine ​à la place de //monsite.org//)+<​note>​Vous devrez remplacer ​**example.com** par votre propre nom de domaine ​tout au long de cette explication.</note>
  
-Nous avons presque fini ! Après avoir bien configuré les clés de chiffrement dans ''​**ssl ​{}**''​ (si vous les utilisez), nous allons modifier la ligne :+=== Chiffrement SSL ===
  
-''​**allow_registration = false;​**'' ​en ''​**allow_registration = true;​**'' ​(sinon vous ne pourrez pas vous inscrire à votre propre serveur, ce serait dommage !)+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>​
  
-Et voilà ​Plus qu'à ajouter l'​adresse Jabber ​de l'​admin sur serveur (en tout cas ce que vous envisagez de créer comme adresse tout à l'​heure),​ en l'​entrant entre les crochets ​dans la ligne :+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>​
  
-''​**admins ​{  }**''ce qui peut me donner ''​**admins = { "moi@monsite.org" }**'' ​(n'​oubliez pas les guillemets autour de l'​adresse/​JID)+<​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'administrationsil 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 : 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 :
  
-   sudo /​etc/​init.d/​prosody restart+<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]]. ​Cependant, si votre serveur se trouve sur votre ordinateur où vous allez l'​utiliser,​ il est conseillé de rajouter une ligne au fichier hosts. Ouvrez donc :+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]].
  
-   sudo gedit /etc/hosts+==== 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 : Puis rajoutez une ligne du type :
  
-''​**127.0.0.1 ​     ​monsite.org**'' ​(ce qui résoudra les problèmes de connexion en local avec certains routeurs)+**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 !
  
-Et voilà ! Vous pouvez maintenant chatter en toute liberté sur les réseaux libres Jabber, utilisant le (magnifique) protocole XMPP ! 
  
 +[[https://​cyberjinh.fr/​|Exemple avec ChatSecure (iOS), Xabber (Android), gajim (Linux, windows, MacOS]]
 ===== Désinstallation ===== ===== Désinstallation =====
  
 Pour supprimer Prosody, il suffit d'​entrer la commande suivante : Pour supprimer Prosody, il suffit d'​entrer la commande suivante :
  
-   sudo apt-get remove --purge prosody+<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. Vous pouvez aussi désinstaller les paquets de la librairie Lua s'ils ne sont plus utilisés.
Ligne 97: Ligne 178:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-  * Le site officiel de Prosody ​(en) [[http://​prosody.im/​]] +  * (en) [[https://​prosody.im/​|Site officiel de Prosody]] 
-  * Configurer Prosody ​(en) [[http://​prosody.im/​doc/​configure]] +  * (en) [[https://​prosody.im/​doc/​configure|Configurer Prosody]] 
-  * Un autre tutoriel sur Prosody (en)[[ http://library.linode.com/real-time-messaging/xmpp-servers/​install-prosody-im-ubuntu-9.10-karmic]] +  * [[https://toutetrien.lithio.fr/article/​installer-son-serveur-xmpp-avec-prosody|Tutoriel sur Prosody]]
-  * Liste à puce +
- +
  
 +----
  
 +//​Contributeurs : Vanaryon, [[:​utilisateurs:​axel55|Axelos]]//,​ Anawel86
  • prosody.1262086926.txt.gz
  • Dernière modification: Le 29/12/2009, 12:42
  • par Vanaryon