• Configurer un serveur XMPP avec prosody

    Wow !! Enfin !!
    La dernière version de pkgsrc pour SmartOS embarque un serveur XMPP fonctionnel !!
    ejabberd et jabberd sont complètement pétés et inutilisables, il n'y avait plus aucun serveur XMPP fonctionnel sur illumos depuis longtemps !

    Et quelle bonne nouvelle que ce soit Prosody ! Merci infiniment aux porteurs !!

    Prosody est basique mais vraiment très simple à configurer et à mettre en place.
    Pour moi, c'est le plus simple de tous, sa configuration se fait en seulement 2 minutes.

    Nous allons configurer un serveur XMPP de test avec 2 utilisateurs (user1 et user2), la possibilité de créer un groupe ainsi que la possibilité pour les 2 utilisateurs de s'échanger des fichiers.
    Pour les besoins du test, nous générerons un certificat SSL auto-signé (mais vous comprendrez vite comment spécifier un vrai certificat).
    Le serveur a l'adresse IP 192.168.95.31 pour notre test

    C'est parti !

    0) Mettez votre serveur à l'heure !
    (et redémarrez ensuite !)

    1) Installer le dépôt Joyent (pkgscr)
    (passer en root)
    Copier/coller le bloc de commandes ci-dessous dans un shell :

    cd /tmp && BOOTSTRAP_TAR="bootstrap-trunk-x86_64-20240116.tar.gz" && BOOTSTRAP_SHA="4d92a333587d9dcc669ff64264451ca65da701b7" && curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/${BOOTSTRAP_TAR} && tar -zxpf ${BOOTSTRAP_TAR} -C / && sed -i 's/PATH=\(.*\)/PATH=\1:\/opt\/local\/sbin:\/opt\/local\/bin/' /etc/default/login && cd /tmp && UPGRADE_TAR="bootstrap-trunk-x86_64-20240116-upgrade.tar.gz" && UPGRADE_SHA="3099211460e84c34b9f558c8f7354a871187be41" && curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap-upgrade/${UPGRADE_TAR} && tar -zxpf ${UPGRADE_TAR} -C / && echo 'PATH=/opt/local/sbin:/opt/local/bin:$PATH' >> /etc/profile && echo 'MANPATH=/opt/local/man:$MANPATH' >> /etc/profile 
    alias pkg_add=/opt/local/sbin/pkg_add ; alias pkgin=/opt/local/bin/pkgin
    pkg_add -U pkg_install pkgin libarchive && pkgin clean && pkgin -y upgrade

    Fermez votre session root et reconnectez-vous en root, pour recharger le PATH

    2) Installer Prosody

    pkgin -y in prosody pico

    ('pico' ou 'nano'... au choix !)

    3) Configurer Prosody
    - Faire une sauvegarde du fichier de configuration :

    cp /opt/local/etc/prosody/prosody.cfg.lua /opt/local/etc/prosody/prosody.cfg.lua.BAK

    - Editez à présent le fichier de configuration de prosody :

    pico /opt/local/etc/prosody/prosody.cfg.lua

    - Descendez à la fin du fichier et ajoutez le bloc suivant : 

    -- CONFIGURATION :
    VirtualHost "192.168.95.31"
        enabled = true
        ssl = {
            key = "/opt/local/etc/prosody/certs/192.168.95.31.key";
            certificate = "/opt/local/etc/prosody/certs/192.168.95.31.crt";
        }
    
    Component "conference.192.168.95.31" "muc"
    Component "share.192.168.95.31" "http_file_share"

    - Générer le certificat SSL auto-signé :
    Nous l'avons déjà spécifié dans la configuration mais pas encore créé !

    prosodyctl cert generate 192.168.95.31

    Par défaut, les certificats créés vont se placer dans /var/db/prosody/certs.
    Il nous faut les déplacer :

    mv /var/db/prosody/* /opt/local/etc/prosody/certs/

    4) Créer des utilisateurs

    prosodyctl register "user1" "192.168.95.31" "mot-de-passe-user1"
    prosodyctl register "user2" "192.168.95.31" "mot-de-passe-user2"

    5) Démarrer prosody

    svcadm enable svc:/pkgsrc/prosody:default

    - Vérifier si prosody est lancé :

    svcs -a | grep prosody

     

    Sur le logiciel client XMPP Spark, il faut faire des modifications pour pouvoir se connecter lorsqu'on a utilisé un certificat auto-signé sur le serveur (comme c'est le cas dans ce tuto).
    Lancez le logiciel. Un invite d'identification apparaît.
    - Entrer l'username : user1
    - Entrer le domain : 192.168.10.19
    - Entrer le password "mot-de-passe-user1"
    - cocher "Enregistrer le Mot de Passe"

    Ne cliquez pas sur "Connexion" !

    Cliquer sur Avancé :
    - Onglet Security : cocher "Disable certificate hostname verification"
    - Onglet Certificates : cocher "Accept self-signed"
    Cliquez sur OK en bas vous fait revenir sur la page d'identification.

    Cliquez sur Connexion et acceptez tout.


    Tags Tags : , , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :