Installer le serveur XMPP Prosody sur Debian
Ce guide est testé sur:
- Debian 8.0 Jessie
Ce guide est testé avec ces versions de Prosody:
- 0.9.12
Prérequis
Ce guide recommande:
- l'installation du client Let's Encrypt acme.sh, comme décrit par Installer le client certbot (Let's Encrypt) acme.sh sur Debian.
Paramètres
Renseignez le nom de domaine où sera disponible l'application:
domain='domain.com'
Renseignez le nom du certificat SSL à utiliser pour chiffrer l'application avec HTTPS (créé via la procédure Créer un certificat SSL / TLS sur Debian) (optionnel, recommandé):
# sslKeyName="${domain}"
Renseignez le nom de domaine où sera disponible la conférence multi-utilisateur (MUC):
mucDomain="conference.${domain}"
Renseigne le nom d'utilisateur de l'utilisateur d'administration du serveur:
adminUser="user@${domain}"
Installation
Détectez le proxy de commande (command ou sudo):
cmdProxy='command'
command type -f 'sudo' >'/dev/null' && cmdProxy='sudo'
Mise en place de l'application
Installez le logiciel:
${cmdProxy} apt-get install prosody
Créez le fichier de configuration pour le domaine:
echo "VirtualHost \"${domain}\"
enabled = true
" | ${cmdProxy} tee "/etc/prosody/conf.avail/${domain}.cfg.lua"
Configurez le chiffrement TLS:
if [[ -n "${sslKeyName}" && -e "/etc/ssl/private/${sslKeyName}.key" ]]; then
echo " ssl = {
key = \"/etc/ssl/private/${sslKeyName}.key\";
certificate = \"/etc/ssl/certificates/clefs-du-bonheur.fr.crt+chain+root\";
}
" | ${cmdProxy} tee -a "/etc/prosody/conf.avail/${domain}.cfg.lua"
fi
Configurez l'utilisateur d'administration du domaine:
if [[ -n "${adminUser}" ]]; then
echo " admins = { \"${adminUser}\" }
" | ${cmdProxy} tee -a "/etc/prosody/conf.avail/${domain}.cfg.lua"
fi
Configurez le composant pour les conférences multi-utilisateurs:
if [[ -n "${mucDomain}" ]]; then
echo " Component \"${mucDomain}\" \"muc\"
name = \"Conférences ${domain}\"
restrict_room_creation = \"local\"
" | ${cmdProxy} tee -a "/etc/prosody/conf.avail/${domain}.cfg.lua"
fi
Activez le domaine:
${cmdProxy} ln -s "/etc/prosody/conf.avail/${domain}.cfg.lua" "/etc/prosody/conf.d/${domain}.cfg.lua"
Redémarrez le serveur pour prendre en compte le domaine:p
${cmdProxy} service prosody restart
Créez l'utilisateur d'administration:
${cmdProxy} prosodyctl adduser "${adminUser}"
Ouverture des ports
Ouvrez les ports XMPP sur le pare-feu du serveur:
- S2S: TCP 5269
- C2S: TCP 5222
Configuration des DNS
Configurez les DNS nécessaires pour le serveur XMPP en ajoutant les enregistrements fournis par:
echo "_xmpp-client._tcp.${domain}. SRV 10 100 5222 ${domain}.
_xmpp-server._tcp.${domain}. SRV 10 100 5269 ${domain}."
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):
command backup-manager-tools add "/var/lib/prosody"
Remerciements
- Merci aux développeurs de Prosody (en).
- Merci aux auteurs de Installing Prosody (fr).