Mise en place d’un service de visioconférence et de chat avec authentification par ActiveDirectory

Introduction


Présentation de Jitsi

Jitsi , anciennement SIP Communicator est une application libre multiplateforme de messagerie instantanée, voix sur IP et visioconférence. Le logiciel est intégré à la liste des logiciels libres préconisés par l’Etat français dans le cadre de la modernisation globale de ses systèmes d’informations (S.I.). Ne supportant initialement que le protocole SIP pour l’audio, elle intègre Jingle en 2011 pour permettre la visioconférence.

Présentation d’Openfire

Openfire (anciennement connu sous le nom de Wildfire et auparavant de JiveMessenger) est un serveur Jabber/XMPPécrit en Java et distribué sous licence publique générale GNU.

Présentation de Windows Server 2012 R2

Windows Server 2012 R2 apporte l’expérience de Microsoft pour fournir aux infrastructure des services de cloud à l’échelle mondiale avec de nouvelles fonctionnalités et améliorations en termes de virtualisation, gestion ,stockage, mise en réseau, infrastructure de bureau virtuel, protection des accès et des informations, web e plateforme d’application , etc..

Prérequis


Ce projet est réalisé sur deux machines virtuelles sous VMware Workstation:

  • Debian-9.5.0-amd64-netinst (64bits)
  • Disque Dur 10Gb et 1 Go minimum de RAM
  • WINSOWS_SERVER-2012-R2-X64-FR
  • Disque Dur 20Gb et 2 Go minimum de RAM
  • Accès par pont (Bridge) de la carte réseau du système
  • Utilisation du logiciel MobaXterm pour se connecter à distance par ssh
  • Connexion internet pour le téléchargement des paquets

Configuration de Windows Server 2012 R2


Personnellement je vais utiliser l’active directory de ma VM Windows Server 2012R2 pour l’authentification de mes utilisateurs au service de visioconférence et chat.

Mes deux utilisateurs:

  • Mathis Thuault
  • Marvin Bodenes

Je crée deux utilisateurs pour effectuer des tests d’authentification plus tard, puis je crée une OU « SDIS » où je crée un groupe Visioconf, auquel j’ajoute mes deux nouveaux utilisateurs.

Puis j’affecte une adresse IP statique à mon server Windows.

Hôte: sdis29server

FQDN: sdis29server.SDIS29.local

Domaine: SDIS29.local

Capture.PNG

Installation des dépendances et des paquets + configuration de Jitsi


!!Je prend en considération que je suis connecté en tant qu’utilisateur root!!

Le dépôt fourni par Jitsi utilisant le chiffrement, nous allons devoir installer apt-transport-https:

apt-get install apt-transport-https

Afin d’installer Jitsi il est nécessaire d’avoir les dépots jessie-backports pour installer Java Runtime Environment (étape non nécessaire pour Debian stretch)

echo 'deb http://ftp.fr.debian.org/debian/ jessie-backports main' >> /etc/apt/sources.list

Installez d’abord la clé de dépôt de Jitsi sur votre système:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -

Créez un fichier « sources.list.d » avec le dépôt suivant:

sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

Mettez à jour votre liste de paquet:

apt-get update

Installation de Java Runtime Environment (/!\ rajouter après install  -t jessie-backports si la distribution est Debian stretch):

apt-get install openjdk-8-jre-headless ca-certificates-java

Installation d’un serveur Web, ici Nginx:

apt-get install nginx

Maintenant on installe Jitsi Meet:

apt-get install jitsi-meet

L’installeur va vous demander le nom DNS de votre instance.

Si vous ne disposez pas d’un nom de domaine, vous pouvez mettre l’IP du serveur (encore faut-il qu’elle ne change pas), personnellement j’ai attribué une adresse IP statique(10.0.99.216) .

Puis on a le choix entre utiliser un certificat auto-signé ou lui en fournir un qu’on possède déjà.

Configuration d’Nginx

Pour la configuration d’Nginx, il n’y a rien à faire.

Un fichier /etc/nginx/sites-available/meet.example.org.conf et un lien dans /etc/nginx/sites-enabled ont été créés à l’installation de jitsi-meet 🙂

Si vous changez de certificat, vous devrez aussi modifier /etc/nginx/sites-available/meet.example.org.conf pour qu’il utilise votre certificat.

nginx -t permet de vérifier que la configuration de Nginx est valide avant de le relancer.

Test de Jitsi

La mise en place de Jitsi est terminée on passe à la phase test de cette
étape. Pour le test on renseigne dans la barre URL l’adresse IP de notre serveur pour se connecter sur Jitsi.

jitsi0.PNG

Ici, on crée un salon de discussion (dans mon cas nommé reunionSDIS) où tout utilisateur ayant le lien et le nom du salon pourront y accéder. C’est l’objectif de ce TP, coupler Jitsi avec Openfire (avec le plugin ofmeet) qui nous permettra de créer des salons restreints aux membres ajoutés à la visioconférence.

!!Attention les accents dans les noms de Salon peuvent créer des erreurs!!

jitsi2.PNG

On peut voir que le service est bien fonctionnel.

Installation des dépendances et des paquets + configuration d’Openfire


!!Attention j’ai refais cette installation sur une autre VM dans un autre réseau local car j’ai repris ce TP chez moi, il se peut donc qu’il est 2 types d’adresses IP différentes, une en 10.0.0.0 et une en 192.168.0.0 ne vous y fiez pas, même si pour vous normalement cette information n’est pas nécessaire!!

On commence par mettre à jour les paquets:

apt-get update

Puis par installer MySQL Server:

apt-get install mysql-server

On crée une nouvelle base de données pour Openfire:

mysql -u root -p
MariaDB> CREATE DATABASE openfire CHARACTER SET='utf8';
MariaDB> CREATE USER 'openfire'@'localhost' IDENTIFIED BY 'Iroise29';
MariaDB> GRANT ALL PRIVILEGES ON `openfire`.* TO 'openfire'@'localhost' WITH GRANT OPTION;
MariaDB> FLUSH PRIVILEGES;
MariaDB> quit

Téléchargement d’Openfire:

wget http://download.igniterealtime.org/openfire/openfire_4.2.3_all.deb

Installation d’Openfire:

dpkg -i openfire_4.2.3_all.deb

Configuration système d’Openfire:

nano /etc/openfire/openfire.xml

On ajoute l’adresse IP du serveur au niveau de l’option <interface> pour permettre l’accès à l’interface d’administration sur un navigateur.

Capture1.PNG

Pour accéder à la page d’administration on entre l’URL ci-dessous :


http://192.168.45.128:9090/setup/index.jsp

Configuration d’Openfire par son interface web:

  • Choix de la langue

langue.PNG

  • Ci-dessous vous trouverez les paramètres Hôte pour ce serveur, dont
    domaine (la limitation du produit est qu’il ne gère qu’un seul
    domaine).

Capture2.PNG

Attention mysql-server doit être installé et configuré au préalable.

  • Le choix de notre serveur MySQL

openfire5.PNG

  • Dans mon cas l’Active Directory se trouve en externe sur une VM Win2k16 Server, on va donc l’indiquer dans les paramètres

openfire6.PNG

  • Etape 1:Indiquer les paramètres de connexion à l’AD

Capture3.PNG

  • Etape 2:Tout laisser par défaut, et faîtes juste un test avec le bouton en bas pour vérifier le bon fonctionnement. Si cela fonctionne vous verrez apparaître les informations d’un des utilisateurs de votre AD.

openfire8.PNG

  • Etape 3: A vous de voir si vous voulez utiliser des groupes ou pas, personnellement on peut voir que j’ai un groupe Visioconf

viosioc.PNG

  • Etape 4: Préciser le nom de l’admin de votre AD puis effectuer un test d’authentification pour vérifier le bon fonctionnement.

adminad.PNG

Installation du plugin Ofmeet


  • Télécharger et installer le plugin Ofmeet au niveau de l’onglet Plugin

openfire10.PNG

  • On peut vérifier en suite qu’il est bien installé dans l’onglet Plugin

openfire111.PNG

  • Création d’un salon de discussion pour la visioconférence

openfire12.PNG

  • Ajout des membres au salon de discussion avec leurs statuts:
    propriétaire, membre, administrateur ou banni

openfire13.PNG

Intégration du module Jitsi dans Openfire


  • Editer le fichier de configuration de videobridge de Jitsi et ajouter les
    propriétés suivantes : l’adresse IP du serveur, le port d’écoute et
    le mot de passe pour l’authentification avec le serveur
    XMPP(Openfire)
nano /etc/jitsi/videobridge/config

Capture5.PNG

  • Ajouter le port et le mot de passe pour l’authentification pour le
    composant externe (Jitsi). Pensez bien à sauvegarder vos paramètres.

openfire15.PNG

  • Vérification de l’intégration au niveau de l’option session

Capture6.PNG

C’est bon tout est prêt vous n’avez plus qu’à rejoindre le bon groupe de discussion, pour moi SDIS29 et vous connecter avec les utilisateurs de votre AD!

Capture7

Capture8

 

Laisser un commentaire

Un site Web propulsé par WordPress.com.

Retour en haut ↑