Logo Khaganat

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édentesRévision précédente
Prochaine révision
Révision précédente
fr:xmpp_server [2018/07/28 21:23] – Ajout de tag Lynefr:xmpp_server [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 25: Ligne 25:
 Nous installons un serveur XMPP chez nous, ça va servir en jeu aussi à terme. Nous mettons Prosody, parce que c'est Link Mauve qui l'a dit :D (et que ça a l'air de faire son job, c'est ce qui compte). Nous installons un serveur XMPP chez nous, ça va servir en jeu aussi à terme. Nous mettons Prosody, parce que c'est Link Mauve qui l'a dit :D (et que ça a l'air de faire son job, c'est ce qui compte).
  
-Les paquets sous Debian Jessie sont un peu vieux ; il faut donc aller chercher à la source.+Les paquets sous Debian stable sont un peu vieux ; il faut donc aller chercher à la source.
  
-La [[https://prosody.im/download/package_repository|doc de Prosody]] est très bien ; je traduis le principal pour Debian. Tout en root : +La [[https://prosody.im/download/package_repository|doc de Prosody]] est très bien ; je traduis le principal pour Debian. Tout en root 
-  Ajouter les sources : '' echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | tee -a /etc/apt/sources.list.d/prosody.list'' + 
-  Ajouter la clé : '' wget https://prosody.im/files/prosody-debian-packages.key -O- | apt-key add -'' +Ajouter les sources :  
-  * ''apt-get update'' +<code bash> 
-  Télécharger la bonne version : ''apt-get install prosody-0.10'' +  echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | tee -a /etc/apt/sources.list.d/prosody.list 
-  Ajouter des [[https://prosody.im/doc/depends|dépendances optionnelles]] qui devraient être pratiques : ''apt-get install lua-sec lua-event lua-zlib''+</code> 
 +Ajouter la clé :  
 + 
 +  wget https://prosody.im/files/prosody-debian-packages.key -O- | apt-key add - 
 +   
 +  apt update 
 +   
 +Télécharger la bonne version :  
 + 
 +  apt install prosody 
 +   
 +Ajouter des [[https://prosody.im/doc/depends|dépendances optionnelles]] qui devraient être pratiques : 
 +  
 + 
 +  apt install lua-sec lua-event lua-zlib luarocks
  
 Ensuite on configure Prosody. Comme le dit la doc sur [[jabberfr>Configuration_de_base_du_serveur_prosody|Jabberfr]], faut surtout lire tranquillement ''/etc/prosody/prosody.cfg.lua''. Ensuite on configure Prosody. Comme le dit la doc sur [[jabberfr>Configuration_de_base_du_serveur_prosody|Jabberfr]], faut surtout lire tranquillement ''/etc/prosody/prosody.cfg.lua''.
Ligne 43: Ligne 57:
 Le reste je verrais quand ça tournera. Le reste je verrais quand ça tournera.
  
-Je donne le nom du serveur à ''VirtualHost'' et je commente la ligne dessous ''-- enabled = false''+Je donne le nom du serveur à ''VirtualHost''
  
-Ensuite... la partie amusante : les certificats. J'utilise [[fr:https_ssl|let's encrypt]], il faut donc pointer vers le bon certificat. Sauf que prosody ne peux pas lire les fichiers dans ''/etc/letsencrypt/live/*'', même avec un lien symbolique. Le plus simple est donc de copier le certificat dans le dossier de prosody et lui donner les droits de lecture.+Ensuite... la partie amusante : les certificats. J'utilise [[fr:https_ssl|let's encrypt]], il faut donc pointer vers le bon certificat. Sauf que prosody ne peux pas lire les fichiers dans ''/etc/letsencrypt/live/*'' donc on utilise leur outil .
  
 +<code bash>
  
-  cp /etc/letsencrypt/live/khaganat.net/privkey.pem /etc/prosody/certs/khaganat.net.key +prosodyctl --root cert import /etc/letsencrypt/live 
-  cp /etc/letsencrypt/live/khaganat.net/fullchaim.pem /etc/prosody/certs/khaganat.net.crt +</code>
-  chown -R prosody:prosody /etc/prosody/certs/ +
-  chmod -R 700 /etc/prosody/certs/+
  
 <WRAP center round help 60%> <WRAP center round help 60%>
-Il faudrait refaire ça à chaque renouvellement de let's encrypt ? Accessoirement, même si "ça marche", pidgin m'a dit que le certificat n'était pas connu...+Il faudrait refaire ça à chaque renouvellement de let's encrypt ? Oui.
 </WRAP> </WRAP>
  
Ligne 61: Ligne 74:
  
 <code>VirtualHost "khaganat.net" <code>VirtualHost "khaganat.net"
-        ssl = { +</code>
-                key = "/etc/prosody/certs/khaganat.net.key"; +
-                certificate = "/etc/prosody/certs/khaganat.net.crt"; +
-        }</code>+
    
  
 Ensuite on redémarre prosody pour prendre en compte les modifications et on vérifie que ça marche : Ensuite on redémarre prosody pour prendre en compte les modifications et on vérifie que ça marche :
-  service prosody restart +  prosodyctl restart 
-  service prosody status+  prosodyctl status
  
 On regarde aussi dans /var/log/prosody/prosody.* si tout va bien. On regarde aussi dans /var/log/prosody/prosody.* si tout va bien.
  
-On créé ensuite un utilisateur directement en ligne de commande (vu que je n'ai pas encore ouvert les inscriptions !) :+On crée ensuite un utilisateur directement en ligne de commande (vu que je n'ai pas encore ouvert les inscriptions !) :
  
   prosodyctl adduser me@example.com   prosodyctl adduser me@example.com
  
-Ensuite il faut ouvrir les bons ports. <wrap help> +Ensuite il faut ouvrir les bons ports.
-À vérifier, ça dépend sans doute des configurations... +
-</wrap>+
  
-<code>iptables -t filter -A INPUT -p tcp --dport 5222 -j ACCEPT+<code> 
 +iptables -t filter -A INPUT -p tcp --dport 5222 -j ACCEPT
 iptables -t filter -A INPUT -p tcp --dport 5269 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 5269 -j ACCEPT
 +iptables -t filter -A OUTPUT -p tcp --dport 5222 -j ACCEPT
 +iptables -t filter -A OUTPUT -p tcp --dport 5269 -j ACCEPT
 +
 +iptables -t filter -A INPUT -p tcp --dport 5000 -j ACCEPT
 +iptables -t filter -A OUTPUT -p tcp --dport 5000 -j ACCEPT
 +
 +iptables -t filter -A INPUT -p tcp --dport 5280 -j ACCEPT
 +iptables -t filter -A INPUT -p tcp --dport 5281 -j ACCEPT
 +iptables -t filter -A OUTPUT -p tcp --dport 5280 -j ACCEPT
 +iptables -t filter -A OUTPUT -p tcp --dport 5281 -j ACCEPT
 </code> </code>
 <WRAP center round help 60%> <WRAP center round help 60%>
Ligne 91: Ligne 110:
 Pour vérifier que les ports sont bien ouverts : Pour vérifier que les ports sont bien ouverts :
   nmap serveur.com   nmap serveur.com
-</WRAP>+</WRAP >
  
 +Nous utilisons des VM XEN/Proxmox en NAT, donc dans l'hyperviseur :
 +
 +<code bash>
 +iptables -t nat -I POSTROUTING -o eno1 -j MASQUERADE
 +
 +iptables -t nat -I PREROUTING -i eno1 -p tcp --destination-port 5222 -j DNAT --to 192.168.*.*:5222
 +iptables -t nat -I PREROUTING -i eno1 -p tcp --destination-port 5269 -j DNAT --to 192.168.*.*:5269
 +iptables -t nat -I PREROUTING -i eno1 -p tcp --destination-port 5222 -j DNAT --to 192.168.*.*:5000
 +iptables -t nat -I PREROUTING -i eno1 -p tcp --destination-port 5269 -j DNAT --to 192.168.*.*:5280
 +iptables -t nat -I PREROUTING -i eno1 -p tcp --destination-port 5222 -j DNAT --to 192.168.*.*:5281
 +</code>
 ===== Ajouter des modules ===== ===== Ajouter des modules =====
 Voir aussi [[https://prosody.im/doc/components]]. Voir aussi [[https://prosody.im/doc/components]].
Ligne 105: Ligne 135:
 Si le composant a besoin d'un sous-domaine pour fonctionner, comme ''conference.example.org'', il faut paramétrer ce sous-domaine du côté du DNS et s'assurer qu'il est couvert par un certificat ssl. Si le composant a besoin d'un sous-domaine pour fonctionner, comme ''conference.example.org'', il faut paramétrer ce sous-domaine du côté du DNS et s'assurer qu'il est couvert par un certificat ssl.
  
 +====proxy====
 +Component "proxy.myserver.org" "proxy65"
 +
 +====upload====
 +Component "dump.myserver.org" "http_upload"
 +
 +==== Ajout des sources des modules ====
 +
 +<code bash>
 +apt install mercurial
 +cd /usr/lib/prosody/
 +hg clone https://hg.prosody.im/prosody-modules/ prosody-modules
 +</code>
 +
 +  plugin_paths = { "/usr/lib/prosody/prosody-modules" }
 +  
 ===== Modules utiles ===== ===== Modules utiles =====
 Voici une liste non-exhaustive des modules intéressants, [[https://linuxfr.org/news/renouveau-de-jabberfr|conseillés par Link Mauve sur cette dépêche de Linuxfr]] : Voici une liste non-exhaustive des modules intéressants, [[https://linuxfr.org/news/renouveau-de-jabberfr|conseillés par Link Mauve sur cette dépêche de Linuxfr]] :
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/xmpp_server.1532813030.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion