Différences entre versions de « Xmpp »
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 2 : | Ligne 2 : | ||
{|border=1 class="wikitable" | {|border=1 class="wikitable" | ||
− | ! !! client/serveur !! inter-serveur !! interface web | + | ! !! client/serveur !! inter-serveur !! interface web !! Nom EMPD |
|-align="center" | |-align="center" | ||
| '''Protocole''' || tcp || tcp || tcp | | '''Protocole''' || tcp || tcp || tcp | ||
|-align="center" | |-align="center" | ||
− | | '''Port''' || 5222 || 5269 || 5280 | + | | '''Port''' || 5222 || 5269 || 5280 || 4369 |
|-align="center" | |-align="center" | ||
− | | '''Configuration Iptables''' || iptables -I INPUT 2 -p tcp --dport 5222 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 5269 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 5280 -j ACCEPT | + | | '''Configuration Iptables''' || iptables -I INPUT 2 -p tcp --dport 5222 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 5269 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 5280 -j ACCEPT || iptables -I INPUT 2 -p tcp --dport 4369 -j ACCEPT |
|} | |} | ||
= Introduction = | = Introduction = | ||
Ligne 24 : | Ligne 24 : | ||
* [[resolv.conf|Configuration du client DNS]] | * [[resolv.conf|Configuration du client DNS]] | ||
* [[ifcfg-ethX|Paramétrer sa carte réseau]] | * [[ifcfg-ethX|Paramétrer sa carte réseau]] | ||
− | * [[SELinux|Désactiver SELinux]] | + | *[[SELinux#Changement_d.27.C3.A9tat|Désactiver SELinux]] |
Une fois ces étapes effectuées, entrons dans le vif du sujet ! | Une fois ces étapes effectuées, entrons dans le vif du sujet ! |
Version actuelle datée du 25 novembre 2019 à 17:21
<seo title="Serveur XMPP avec Ejabberd" metak="ejabberd,xmpp" />
client/serveur | inter-serveur | interface web | Nom EMPD | |
---|---|---|---|---|
Protocole | tcp | tcp | tcp | |
Port | 5222 | 5269 | 5280 | 4369 |
Configuration Iptables | iptables -I INPUT 2 -p tcp --dport 5222 -j ACCEPT | iptables -I INPUT 2 -p tcp --dport 5269 -j ACCEPT | iptables -I INPUT 2 -p tcp --dport 5280 -j ACCEPT | iptables -I INPUT 2 -p tcp --dport 4369 -j ACCEPT |
Introduction
Extensible Messaging and Presence Protocol est un ensemble de protocoles standards ouverts pour l’échange de données. XMPP est également un système de collaboration en quasi-temps-réel et d’échange multimédia par son extension Jingle, dont la voix sur réseau IP (téléphonie sur Internet), la visioconférence et l’échange de fichiers sont des exemples d’applications.
XMPP est constitué d'un protocole TCP/IP basé sur une architecture client-serveur permettant les échanges décentralisés de messages instantanés ou non, entre clients, au format Extensible Markup Language (XML). XMPP est en développement constant et ouvert au sein de l’IETF.
Les serveurs peuvent être privés (en intranet) ou bien publics, c'est-à-dire reliés aux autres serveurs publics via l'Internet (comme chez Facebook). L'ensemble des serveurs publics créent, ce que l'on appelle, le réseau Jabber (ou le réseau XMPP).
Préparation
Dans un premier temps, il faudra avoir une connexion à Internet, utiliser un serveur DNS et désactiver SELinux.
Pour ceux qui auraient manqué des étapes les voici:
Une fois ces étapes effectuées, entrons dans le vif du sujet !
Installation
L'installation est très simple et distingue deux cas de figures :
- glibc < 2.12 → version 17 max
- glibc >= 2.13 → version 18+
Pour savoir, exécutez la commande suivante :
# rpm -qa | grep glibc ... glibc-2.12-1.209.el6_9.2.i686 ...
Sur CentOS 6 c'est la version 2.12 donc on installe ejabberd dans sa version 17 !
Pour télécharger ejabberd, il suffit de se rendre sur la page de téléchargements et de choisir la bonne version.
# yum -y install https://www.process-one.net/downloads/ejabberd/17.12/ejabberd-17.12-0.x86_64.rpm
Configuration
Le RPM installe deux dossiers dans le répertoire /opt:
- /opt/ejabberd
- /opt/ejabberd-17.12
Le deuxième répertoire va varier en fonction de la version installée.
La première étape consiste à modifier le fichier de configuration de Jabber /opt/ejabberd/conf/ejabberd.yml :
lignes à repérer | transformation |
---|---|
- "/opt/ejabberd-17.12/conf/server.pem" | - "/opt/ejabberd/conf/server.pem" |
ca_file: "/opt/ejabberd-17.12/conf/cacert.pem" | ca_file: "/opt/ejabberd/conf/cacert.pem" |
'DH_FILE': "/opt/ejabberd-17.12/conf/dhparams.pem" | 'DH_FILE': "/opt/ejabberd/conf/dhparams.pem" |
Il faut ensuite positionner le mot de passe pour le compte administrateur. Repérez la ligne :
admin: user: - "admin@{NOM_DE_LA_MACHINE}"
{NOM_DE_LA_MACHINE} est le nom de votre machine, celui qui s'affiche lorsque vous exécutez la commande hostname.
Pour positionner le mot de passe password utilisez la commande suivante:
# ejabberdctl set-password admin {NOM_DE_LA_MACHINE} password
Installation et démarrage du service
Avant de démarrer le service, il faut placer les exécutables dans le PATH :
ln -fs /opt/ejabberd-17.12/bin/ejabberdctl /usr/bin/ ln -fs /opt/ejabberd-17.12/bin/erl /usr/bin/
Ensuite, soit votre système repose sur SystemVInit (Centos6) soit il repose sur SystemD (Centos7)
- Pour SystemVInit:
# ln -fs /opt/ejabberd-17.12/bin/ejabberd.init /etc/init.d/ejabberd # chkconfig ejabberd on # service ejabberd start
- Pour SystemD:
# ln -fs /opt/ejabberd-17.12/bin/ejabberd.service /etc/systemd/system/ # systemctl enable ejabberd.service # systemctl start ejabberd.service
Interface d'administration
Vous pouvez maintenant utiliser l'interface d'administration de Ejabber en utilisant un navigateur sur l'URL https://IP_SERVEUR:5280/admin