Sauvegarde / Restauration de Conteneurs DOCKER

Si vous utilisé docker depuis un certain temps vous vous êtes déjà surement posé la question de savoir comment sauvegarder l’un de vos conteneurs docker. Afin de pouvoir le réutiliser directement, plus tard, sur votre machine courante ou alors sur une autre machine. Les conteneurs sont ces couches logicielles qui sont créés à partir d’une image de docker qui contient le système de fichiers Linux respectifs et les applications out of the box.  Nous allons voir plusieurs méthodes de sauvegarde et de restauration de conteneur docker.

1.           Sauvegarde de conteneur

Pour sauvegarder nos conteneurs, nous avons plusieurs méthodes, des méthodes de sauvegarde locale et celle qui consiste à faire des sauvegardes en ligne (sur le docker hub) en privé ou en public.

Quel que soit la méthode utilisa nous commençons par enregistre les modifications faites sur un conteneur

docker commit  -p  ID_conteneur_a_sauvegarder  Nom_Conteneur_de_sauvegarde

En gros lorsque l’on veut enregistrer les modifications faites sur un compteur on utilise la commande commit qui vas se charger de créer une image qui sera un instantané de notre conteneur.  Les modifications faites sur le 1er conteneur sont donc tout enregistrées dans notre image. L’intérêt ici est de pouvoir désormais instancier un conteneur directement à partir de l’image que l’on a enregistrée. Nous pouvons sauvegarde notre image en ligne ou en local dans un fichier compressé.

Exemple : je vais enregistrer le conteneur nommé webstack_wordpress_1

docker ps
docker commit -p 040bc5052124 webstack_wordpress_1_backup
docker images

1

Nous pouvons maintenant sauvegarder cette image que nous venons de créer en ligne ou alors directement dans un fichier compressé (.tar).

a.       Sauvegarde notre image docker en ligne.

Si vous souhaitez sauvegarder notre conteneur en ligne il vous faut utiliser les commandes qui vont suivre. Bien évidemment nous supposons ici que vous avez déjà réalisé les tâches précédentes afin de faire une image de l’instantanée de notre conteneur.

Vous devez commencer par créer un compte en ligne sur le docker hub c’est gratuit à l’heure actuelle profitez-en. Ensuite vous vous identifiez sur docker avec vos identifiants.

docker login

2

Une fois authentifié on va créer un tag pour notre image à exporter

Le nom de l’image respecte une convention de nommage. Cette convention de nommage veut que si notre image n’est pas officielle il faille  mettre votre ID (votre login docker Hub) au début de l’image suivie de slash (/) ensuite suivie du nom propre que vous donnez à l’image (suivant son contenu). Exemple ID_Docker_Hub/wordpress.

Pour taguer l’image dans le repository public. Vous devez juste renseigner le nom de l’image en respectant la convention plus haut. ( docker  tag  ID_de_image   ID_Docker_Hub/webstack_wordpress_1_backup )

Donc après s’être connecté, mon ID docker étant futuriste je tape la commande.

docker  tag  9c725b3ace47  futuriste/webstack_wordpress_1_backup
docker push futuriste/webstack_wordpress_1_backup

3

NB: j’ai ajouté l’option  –f à la commande tag pour forcer le tag, car j’avais fait une erreur à la première création.

 

b.      Sauvegarder notre conteneur docker en local

Si vous souhaitez sauvegarder votre image en local dans un fichier compressé (tar) afin de le de le déplacer sur un serveur hors ligne ou même sur votre espace de sauvegarder privée. Vous devez utiliser la commande docker Save et vous lui passé le chemin et le nom du fichier de sauvegarder ainsi que le nom de l’image à sauvegarder (l’image que l’on a enregistrée précédent).

docker save -o  webstack_wordpress_1_backup.tar   webstack_wordpress_1_backup

4

2.           Restauration de conteneur

a.       Restaurer depuis un conteneur en ligne

Pour restaurer une image que nous avons sauvegardée sur le hub en ligne il suffit d’utiliser la commande docker pull pour rapatrier l’image en local comme pour n’importe qu’elle image hébergée sur docker.

docker  pull  futuriste/webstack_wordpress_1_backup

5

 

b.      Restaurer depuis un conteneur en local ou un espace privé

Pour restaurer une image que nous avons sauvegardée en local, il suffit d’utiliser la commande docker load  et de lui indiquer en paramètre le chemin d’accès à notre fichier de sauvegarde.

docker load –i  webstack_wordpress_1_backup.tar

6

3.    Docker compose

Docker Compose est un outil qui permet de décrire la composition de notre infrastructure dans le fichier docker-compose.yml au format YAML. L’avantage d’un tel outil est que pour démarrer notre stack Web qui est constitué d’un serveur web et d’un serveur mysql.  Voici un exemple de conf.

Commencont déjà par installer le module Docker-Compose sur notre stack docker via l’outil de gestion de paquets PIP.

On commence par faire une mise à jour de la liste des paquets  et on Install CURL

sudo apt-get update  && apt-get install curl 

Ensuite on télécharge le binaire de docker-compose la dernière version actuelle 1.8.0.

curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

 NB : remplacer VERSION_NUM par le numéro de votre version de docker-compose que vous voulez Ex : la 1.8.0 qui est la dernière version actuelle.  Exemple de commande :

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

On donne les droits d’exécution au binaire de docker compose.

chmod +x /usr/local/bin/docker-compose

Pour connaitre la version de docker compose :   docker-compose –version

Ensuite on créer un fichier YAML qui contiendra les informations de lancement de nos conteneurs docker. Créez un dossier qui nous servira de contexte pour nos conteneurs et créez-y le fichier docker-compose.yml que vous avez créé.

Créée un dossier pour notre ensemble de conteneurs

mkdir wordpress_1
nano   wordpress_1/docker-compose.yml

Mettre le contenu suivant dans le fichier en question.

mysql:
  	image: mysql:5.7
  	volumes:
	  - "./.data/db:/var/lib/mysql"
  	restart: always
	  environment:
		MYSQL_ROOT_PASSWORD: docker2016
		MYSQL_DATABASE: wordpress1
		MYSQL_USER: wordpress1
		MYSQL_PASSWORD: wordpress1

wordpress:
	image: wordpress:latest
	links:
		- mysql
	ports:
		- "9000:80"
	restart: always
	environment:
		WORDPRESS_DB_HOST: mysql:3306
		WORDPRESS_DB_NAME: wordpress1
		WORDPRESS_DB_USER: wordpress1
		WORDPRESS_DB_PASSWORD: wordpress1

Donc en gros on décrit dans le fichier docker compose l’intégralité de la commande docker run utilisée lors du lancement du conteneur. Pas besoin d’explication si vous savez comment fonctionne la commande docker run vous pouvez essaiment de déduire ce que fais ce fichier docker-compose.   Pour avoir de information sur l’ensemble des options disponible dans un fichier docker-compose aller à l’adresse  Et vous pouvez avoir différent modèle de fichier docker compose préfet a cette adresse

ensuite avant de lancer la commande de docker compose on se positionne  dans le dossier que l’on vient de créer et qui contient notre fichier YAML.

cd wordpress_1
docker-compose up –d

Si lorsque vous lancez la commande docker-compose vous avez un message d’erreur qui vous informe que le client a une version différente de celle  du serveur essayé d’ajuster la version du client que vous téléchargez afin de trouver celle qui correspond à votre serveur.

J’avais utilisé la commande :

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 

Avant de relancer la commande curl pour télécharger le nouveau fichier penser à supprimer l’ancien qui avait été téléchargé :

rm   /usr/local/bin/docker-compose

Pour corriger le problème, j’ai donc essayé de télécharger des versions antérieures. la version 1.4.0 avec la commande :

curl -L https://github.com/docker/compose/releases/download/1.4.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

N’oubliez pas d’attribuer les droits d’exécution à chaque fois.

chmod +x /usr/local/bin/docker-compose

Il m’affiche le message :

6 7

J’ai donc supprimé l’ancien fichier et télécharger la version 1.3.0 de l’exécutable et cella a fonctionné correctement.  J’ai utilisé la commande :

curl -L https://github.com/docker/compose/releases/download/1.3.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

Si vous souhaité désinstaller docker-compose alors que vous avez utilisé curl utiliser la commandé.

rm /usr/local/bin/docker-compose

Quelque commande docker-compose utile :

Ces commandes doivent être lancé dans l’un des répertoires qui contient un fichier YAML c’est-à-dire elle fonctionne pour un ensemble de conteneurs docker-compose uniquement.

Créer et démarrer un conteneur : docker-compose up

Créer et démarrer un conteneur en tâche de fond :   docker-compose up –d

Afficher la sortie standard des conteneurs : docker-compose logs

Arrêter les conteneurs : docker-compose stop

Supprimer les conteneurs : docker-compose rm

 

 

4.    Webographie :

 

W3BLOG

 

Les Bonnes Pratiques

Docker est un outil formidable qui permet de faire beaucoup de choses de manière plus ordonnée et plus sécurisée. Mais c’est aussi une grosse usine à gaz et si l’on ne fait pas attention il peut très vite devenir une véritable passoire ou un danger pour notre système. Voici quelque pratique à mettre en œuvre pour limiter les risques. 

1.           Créer une partition séparée pour Docker

Vu que l’on manipule plusieurs images téléchargées depuis internet il est possible que cela occupe très rapidement un trop grand espace. Le dossier par défaut ou docker stocke l’ensemble de ces données (images et containers) est le répertoire /var/lib/docker. Le souci majeur est que se répertoire est situé sous la racine / et que si nos images et nos containers venaient à occuper trop d’espace ils pourraient saturer le disque dur système ce qui rendrais le système hôte inutilisable donc par ricochet les Containers inutilisables. Une image malveillante, mal configurée ou même toute simple trop gourmande pourrait rapidement saturer le disque dur. 

Pour se prémunir de ce problème, il faut créer une partition physique séparée pour le répertoire  /var/lib/docker  dès l’installation de votre système hôte. Si votre Système est déjà installé, créer une partition logique avec LVM (Logical Volume Manager) ou alors utiliser un second disque pour docker.

Ces 2 solutions permet de définir un quota a ne pas dépasser par docker et donc vous évite de mettre votre racine / en péril.

2.           Maintenir Votre Système hôte à jour      

Cela peut paraître évident, mais que ce soit votre système hôte, le kernel ou docker engine, assurez-vous que votre système soit bien à jour. Les mises à jour permettent généralement de corriger des bugs des versions précédentes ou d’ajouter des fonctionnalités. Bien évidement il faut au préalable se rassurer que la mise à jour sera compatible avec les configurations effectuez. Pensez aussi à n’installer que des versions stables des logiciels ou même des mises à jour système pour éviter des bugs ou des effets dominos qui pourraient mettre à mal votre système.

Assurer vous donc de mettre régulièrement à jour Docker dès qu’une version stable est sortie. Il est recommandé pour docker d’avoir un noyau Linux minimum en version 3.10

interdire les communications entre les containers.

Par défaut, la communication entre tous les containers est possible sans forcément utiliser la fonction de link qui remet de lié 2 conteneurs. Une mauvaise image pourrait donc faire un sniffing et voir tout ce qui se passe sur le sous-réseau Docker de votre système hôte. C’est particulièrement dangereux, car la plupart du temps il n’y a pas de communications sécurisé entre vos containers que vous considérez comme «isolés » sur votre sous-réseau docker0.

Donc il faudrait déjà commencer par éviter d’installer s’importe qu’elle image sur votre Stack Docker et penser à vérifier le fichier dockerfile à chaque fois avant d’installer une image.

À moins d’en avoir absolument besoin et d’être sûr de tous les containers installés sur votre stack, la bonne pratique serait donc d’interdire se comportement par défaut qui permet la communication entre les conteneurs. Seuls les containers liés par link pourront  communiquer entre eux. Cela est possible nativement il suffit de passer le paramètre –icc=false au daemon. Sous debian et Ubuntu, cette opération se fait dans le fichier  /etc/default/docker en modifiant la variable DOCKER_OPTS.

DOCKER_OPTS="-icc=false"

3.           N’utilisez pas privileged pour n’importe quelle image

Quand vous lancez un container avec le mot clé –privileged, docker vas lui accorder tous les droits y compris celui de lancer un nouveau container sur la machine hôte (Docker in Docker).

 C’est par exemple le cas de l’image dockerui qui a besoin de lister les images et les containers pour éventuellement les démarrer et les arrêter.  Cette image étant fournie par un développeur de docker, nous pouvons à priori lui faire confiance, mais ce n’est pas le cas de toutes les images disponibles sur le hub ou sur d’autres registry.

Si une image demande à être privileged, demandez-vous pourquoi elle a besoin de ce droit. Même si l’utilisation de privileged est justifiée, il n’est pas forcement obligatoire de lui accorder la totalité des droits. C’est ce que permet les options –cap-add  et –cap-drop. Selon votre demande ces commandes permettent à un container privileged de lui retirer un ou plusieurs droits, ou alors à un container normal de lui rajouter les droits nécessaires.   

Exemple : ntpd (Network Time Protocol Deamon) est un serveur de temps, il ne parait donc pas absurde de lui donner la capacité de modifier l’heure de l’hôte. 

docker run -d --cap-add SYS_TIME ntpd

4.           N’utilisez pas n’importe quel registry

La plupart des images sont téléchargeables depuis le registry Docker Hub. En général et par mesure de sécurité maximale, utiliser uniquement les images «Official » proposées et validées par la société Docker. Si vous n’en trouvez pas pour une image qui vous intéresse, assurez-vous que l’image et été suffisamment téléchargés et à priori « testés » par les autres utilisateurs. N’hésitez pas non plus à getter un coup d’œil dans le Dockerfile sous GitHub afin de vous assurer que l’image correspond bien à ce qu’elle est censée faire. Pensez aussi à vérifier les images intermédiaires utilisées pour cette image. Remontez les images intermédiaires jusqu’à atteindre une image officielle ou une image from scratch. 

Si vous ne trouver pas votre compte sur le docker hub et que vous utilisiez un autre registry vérifier tous d’abord la réputation du registry que vous allez utiliser.  Mais également que la communication établie avec ce nouveau registry  se fera de manière sécurisée.  De toutes les façons par défaut docker bloque les commandes pull si elles ne sont pas sécurisées.

5.           Créer un utilisateur dans votre Dockerfile

La plupart de vos applications ne nécessitent pas d’être lancé en root, c’est même très rarement le cas. Par conséquent, il n’est pas nécessaire d’utiliser le user root dans vos containers a tous les coups. La  création d’un utilisateur dans votre image peut se faire directement depuis le dockerfile avec les 2 instructions suivantes :

RUN useradd -d /home/myappuser -m -s /bin/bash myappuser

USER myappuser

Pour vérifier l’utilisateur utilisé par vos containers lancés, vous pouvez utiliser la commande :

docker ps -q | xargs docker inspect --format '{{ .Id }}: User={{.Config.User}}'

Si user est vide, c’est que vos containers sont lancés en root.

Pour une image téléchargée, pensez à vérifier la présence de l’instruction USER dans le Dockerfile et éventuellement à surcharger l’image si ce n’est pas le cas. 

Exemple :

FROM apacheOnlyRoot

USER www-data

 

6.           Ne mapper que les ports utiles

Docker permet un mapping entre les ports déclarés par le Dockerfile et ceux ouverts sur votre système hôte via l’option –P (en Majuscule). Cela va lancer le conteneur en exposant tous les ports déclarés dans le dockerfile.

N’utilise cette option que lors des tests. Préférer toujours l’option –p (minuscule) pour vous permet de spécifier quel port de l’hôte vous souhaitez mâché avec un port spécifique du conteneur. 

docker run -p 80:80 apache

De plus, si vous n’avez pas besoin de rendre publique l’adresse IP, vous pouvez spécifier sur quelle interface réseau vous souhaitez écouter.

docker run -p 192.168.0.1:9200:9200 elasticsearch

Cette commande permet de n’ouvrir le port 9200 que pour votre réseau local. Une connexion depuis une machine hors réseau local (internet) sera refusée.

Mieux encore si vous n’avez pas besoin que le port soit exposé  à l’extérieur, mais uniquement accessible à partir de la machine hôte ou bien d’autres conteneurs.

Exemple un conteneur MySQL sur le qu’elle se connecte notre conteneur web et  administré via un conteneur PhpMyAdmin n’a pas absolument besoin d’être visible de l’extérieur un link entre le conteneur MySQL et les 2 conteneurs Web et PhpMyAdmin est suffisant donc vous n’utilisez aucune des options qui permet de maché les ports (pas de P majuscule ou minuscule) cela fera en sort que votre conteneur soit accessible uniquement depuis la machine hôte via son IP privé.

7.           Permission sur les fichiers

Vérifier que les permissions sont attribuées correctement aux fichiers manipulés par les conteneurs. Tous comme on fait des vérifications du répertoire utiliser par nos serveurs web. Pensez donc à n’attribuer que les droits nécessaires et de restreindre que maximum les fichiers accessibles sur l’hôte par les conteneurs. 

8.           Veille technologique

Pensez également à vous tenir informé des différentes avancées technologiques dans le domaine afin de toujours garder votre serveur sécurisé et d’utiliser les bonnes pratiques.

Docker est un outil formidable qui promet encore de nombreuses améliorations en termes de fonctionnalité et de sécurité. Mais la configuration par défaut de docker n’est malheureusement pas suffisante en termes de sécurité, mais représente tristement plus de 90% des installations de docker. À mon sens, beaucoup d’options devraient être activées par défaut pour réduire au maximum les risques.

   Webographie :

INOVIA

SharePoint 2013 Configuration du FBA (Forms Based Authentication)

Nous allons dans ce tutoriel décrire comment configurer l’authentification par Formulaire sur SharePoint 2013 afin de ne pas avoir à payer des CALs pour nos utilisateurs qu’on ajoute a SharePoint. Mais aussi afin de pouvoir gérer nos utilisateurs directement depuis la base de données SQL et de se détacher un peu du contrôleur de domaine. La configuration se fera en différente étape :

  • La configuration de la base de données qui hébergera les utilisateurs du FBA
  • La configuration de l’administration centrale, du Site et du Security Token pour utiliser le FBA.

1. Configuration de la base de données qui hébergera les utilisateurs

Ouvrir le fichier suivant qui se trouve dans votre répertoire système

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe

Ensuite vous aurez l‘assistant suivant :

img1

Cliquer sur suivant :

img2

Indiquer ensuite l’adresse du serveur et le nom de la base de données que vous voulez créer.

img3

Il vous affiche enfin un récapitulatif des actions qui vont être menée

img4

Une fois cela terminé il vous affiche un récapitulatif des actions qui ont été effectuées. Cliquer sur Terminer.

img5

Ajoutez ensuite les comptes qui exécute le security token, l’administration centrale et site sur le qu’elle vous souhaite activer le FBA comme administrateur de la base de données :

Voici où se trouvent les indications sur le compte qui exécute le site :

Ouvrir le gestionnaire SQL serveur ensuite cliquer sur
Pools d’application

Sur la ligne : SecurityTokenServiceApplicationPool

img6

Nous pouvons voir qu’il s’agit du compte sp_farm .

N’oubliez pas d’ajouter aussi le compte qui exécute le site comme administrateur de la Base de données du FBA sinon vous pourriez avoir des soucis.

Connectez-vous a SQL Serveur Manager Studio : Dérouler les informations de la base de données que vous venez de créer : Base_de_donnée ensuite Sécurité ensuite Utilisateurs

Clic droit ensuite Nouveau ensuite Utilisateur

img7

Ensuite, remplir les différents champs en respectant le modèle suivant. N’oublier pas de choisir le type de compte Utilisateur Windows

img8

Cliquer à gauche sur Appartenance et cocher db_owner en bas de page.

img9

Cliquez sur OK et ajouter aussi l’utilisateur SP_service :

img10

Cliquer à gauche sur Appartenance et cocher db_owner en bas de page.

img11

Au final on a nos deux comptes administrateurs de la base de données.

img12

2. La configuration de l’administration centrale, du Site et du Security Token pour utiliser le FBA

 

La procédure qui va suivre est une procédure standard qui devra être effectuée sur chacun des 3 sites suivants :

  • Le Security Token

Pour accéder à cette interface, vous devez vous connecter juste au gestionnaire de IIS.

Pour accéder au Sécurity Token développer le site Sharepoint Web service :

img13

  • Le site d’administration centrale

img14

  • Le site sur le qu’elle vous souhaité activer le FBA

img15

Procédure de Configuration

a.    Ajouter une connections string au site

Cliquer sur le site en question ensuite chaines de connexion (double cliquer)

img16

Cliquez ensuite sur ajouter à droite.

Vous indiquez les informations demandées et ensuite vous validez.

img17

b.   Configurer des providers (fournisseur d’authentification) pour les rôles et pour les utilisateurs

Cliquer sur fournisseurs depuis l’interface qui apparait à droite lorsqu’on clique sur le site web.  Cliquer sur fournisseurs.

img18

Ensuite vous sélectionné Utilisateur .NET dans l’interface avant de cliquer sur ajouter en haut à droite.

img19

Remplir le formulaire comme suit. Mais n’oublier surtout pas que se champs doit être remplis à l’identique pour tous les sites qui utilise la même base de données FBA et que vous ne devez plus les changer une fois que vous avez créé le premier utilisateur sous peine de devoir détruire toute la base et recommencer à zéro pour ne pas avoir des soucis d’intégrité.

Remplir le formulaire :

img20

Sélectionner ensuite Rôle .NET dans l’interface et cliquer sur ajouter à droite pour ajouter un fournisseur d’authentification pour les Rôles.

img21

NB : Vous devez faire cette configuration à l’identique sur Le Security Token, l’administration centrale et aussi tous les sites ou vous souhaitez activer l’authentification FBA.

Une fois que la configuration est terminée sur minimum 3 de vos sites (le security token, l’administration centrale et un site ou vous souhaitez activer l’authentification par formulaire)

Maintenant il faut vous assurez d’avoir renseigné les informations correctes dans le fournisseur d’authentification dans les paramètres de l’application Web qui hébergera le site qui utilise le FBA.

Aller dans l’administration centrale ensuite Gérer les applications Web ensuite Cliquer sur l’application Web en question pour la sélectionner  ensuite Cliquer ensuite sur Fournisseur d’authentification

img22

Ensuite cliquer sur Part défaut ou alors sur la Zone que vous voulez configurer avec le FBA.

img23

Ensuite, Cocher la Case Activer l’authentification par Formulaire

Et remplir les différents champs le premier c’est le fournisseur d’appartenances pour les utilisateurs et le second c’est celui qui gérer les rôles.

img24

Dans mon cas j’ai sélectionné 2 méthodes d’authentification Windows et part Formulaire, mais vous auriez bien pu choisir uniquement Par Formulaire.

NB : Pour ne pas avoir de soucis avec les comptes, car il faudra un compte FBA en administrateur du site pour se connecter en FBA et accepter ou refuser les demandes si vous n’avez activé que l’authentification FBA. Pensez a nommé un compte FBA (Que vous aurez créé) Comme administrateur du site depuis l’administration centrale afin que vous puissiez-vous connecter avec se compte pour administrer le site et accepter ou non les demandes d’ajout.

En cas de soucis avec des comptes, activez l’authentification Windows pour vous connecter et résoudre le problème.

Vous pouvez passer a l’étape de création et de gestion des utilisateurs il existe plusieurs méthodes pour le faire.

  • L’une d’elles consiste à utiliser l’interface d’IIS pour créer des utilisateurs en créant un site vide et en configurant les paramètres comme nous l’avons fait précédemment.

Ensuite vous ferrez la procédure suivante :

NB : ne la faites surtout pas sur un site que vous utilisez pour l’authentification par formulaire, car la modification des clients d’authentification par défaut empêche le fonctionnement du FBA.

Procédure :

Double Cliquer sur Rôles .NET et configurer le fournisseur que l’on vient de créer comme fournisseur par défaut pour les Rôles .NET.

img25

Cliquer à gauche sur Définir le fournisseur par défaut :

Si vous voulez activer la gestion des rôles cliquer sur activer

img26

Ensuite, sélectionner le provider(fournisseur) de rôle précédemment créer et cliquer sur OK.

img27

Maintenant, revenez à l’interface précédent.

Double Cliquer sur Utilisateur .NET et configurer le fournisseur que l’on vient de créer comme fournisseur par défaut.

img28

Cliquer à gauche sur définir le fournisseur par défaut et choisir le fournisseur que vous venez de créer.

img29

IL va prendre quelque temps pour établir la connexion avec la base de données et vous verrez le bouton ajouter s’activer vous pouvez maintenant créer des utilisateurs en cliquant sur ajouter.

S’il vous affiche une erreur vérifiez que vous avez bien activé l’utilisation des rôles et que vous avez bien sélectionné le fournisseur par défaut des rôles avant de choisir celui des utilisateurs

Ensuite dans l’interface Uitlisateurs.NET que vous avez ouverte précédemment vous pouvez créer vos utilisateurs.

  • La seconde méthode consiste à installer simplement à déployer sur votre ferme la solution :

SharePoint 2013 FBA Pack Que vous pouvez télécharger sur CODEPLEX

Avec cette solution vous aurez une belle interface d’administration pour vos rôles et vos utilisateurs.

Si vous avez des soucis pour accéder à la solution, pensez à installer au moins un pack de langue correspondant à une langue supportée par la solution. À l’heure actuelle uniquement l’anglais donc pensez à installer le pack de langue anglaise si votre Ferme n’est pas en anglais.

 

Configuration de La Messagerie instantanée sur Elastix

Elastix est un logiciel libre disponible sous licence GPLv2 développé par Palosanto. Il tourne sur un noyau CentOS. Il est entièrement libre et toutes les versions sont disponibles sans limitation de fonctionnalité.

C’est un système de communication unifié qui peut gérer l’ensemble des besoins de communication d’une entreprise. Il possède des fonctionnalités telles que la VOIP (Téléphonie sur le réseau IP) que nous avons vue dans le tutoriel précédent (Installation et configuration de la VOIP sur Elastix), la messagerie électronique (comme Yahoo mail) et la messagerie instantanée (comme Facebook) que nous verrons dans ce tutoriel, le fax (dont nous n’allons pas parler dans notre article), etc.

Nous allons présenter tous au long de cet article l’installation et la Configuration du service IM (Messagerie Instantanée). Nous supposons ici que vous avez lu notre article précédent sur l’installation et la configuration de la VOIP sur Elastix car nous ne reviendrons plus sur l’installation d’Elastix.

Nous verrons donc ensemble :

  • Démarrer et la Configuration du Service IM (Messagerie Instantanée)
  • La Configuration des Clients

Installation et Configuration du Service IM sur Elastix

Connectez-vous à l’interface d’administration d’Elastix.

sans-titre

Une fois connecté cliquer sur l’onglet système ou SYSTEM selon la langue de votre interface. Quelle que soit la langue de votre Système, ce sera le premier Onglet.

Démarrer le service de messagerie instantanée

Dans l’interface d’administration, cliquer sur l’onglet Système ensuite Tableau de bord ensuite Tableau de bord.

sans-titre1

Ensuite, cliquer sur la flèche qui pointe vers le bas sur la ligne : Service de Messagerie instantanée à côté de PAS EN FONCTION : vous verrez un menu déroulant comme celui-ci apparaitre. Cliquer ensuite sur Start process.

sans-titre2

Patiente quelque instant que le service se lance. Ensuite vous verrez l’indication changer et devenir EN FONCTION.

sans-titre3

Désormais le service de messagerie est installez il ne manque plus qu’à le configurer.

Configuration du service IM (Messagerie Instantanée)

Pour faire cela entrer l’adresse du serveur dans le navigateur suivi du port 9090 ex : http://192.168.2.20:9090

Une fois le chargement de la page terminé il vous demande de choisir votre langue préférée. Elastix utilise le serveur de chat OpenFire qui est gratuit et disponible aussi bien sur Windows que sur Linux.

Le choix effectué, cliqué sur le bouton Continuer en bas et à droite :

sans-titre4

Ensuite vous verrez la page de paramétrage du serveur. Ne changer aucune information si ce n’est le nom du domaine si vous en avez un et que vous souhaitez l’utiliser sinon laisser les paramètres par défaut et cliquer sur le bouton continuer.

sans-titre5

Ensuite vous avez deux possibilités :

Utiliser une base de données Standard qui consiste utiliser Un serveur de base de donnée externe a openfire (à l’instar du serveur de base de donnée interne a Elastix ou celui de votre entreprise).

Base de données embarquée d’OpenFire pour enregistrer les informations d’OpenFire (pas très propre, difficile peut-être difficile à maintenir, idéal pour les petites structures une dizaine de personnes)

Choisissez l’une des 2 options suivantes :

  • Utilisation de la base de données embarquée :

Cliquer sur Base de Données embarquée et cliquer ensuite sur Continuer pour passer à l’étape suivante.

sans-titre6

Suivez le reste de la procédure en sautant l’étape 2.

  • Utiliser la Connexion standard à une Base de données :

sans-titre7

Il faut d’abord crée la base de donnée que nous allons utiliser pour notre serveur (Base de données en utf8-general). Dans notre cas nous allons créer une base de données dans le serveur MySQL installé sur Elastix.

Tous d’abord connecter vous a l’interface de commande du serveur par SSH ou alors directement sur le serveur OpenFire avec le compte administrateur root. Ensuite, dans l’interface de commande taper la commande suivante qui vous permettra de vous connecter au serveur MySQL.  Mysql –u root –p

Valider avec la touche Entrée.  Entrer votre mot de passe (il n’affiche pas la saisie du mot de passe donc ne paniquer pas) et valider avec la touche Entrée.

sans-titre8

Ensuite, taper la commande suivante qui va créer une base de données nommée openfire.

create database openfire; 

Valider avec la touche Entrée. C’est cette base de données que nous allons indiquer dans OpenFire.

sans-titre9

Pour vous déconnecter, tapez la commande exit.

sans-titre10

Bon maintenant à partir du deuxième ordinateur. Nous allons nous connecter a l’interface d’OpenFire pour continuer notre installation.

Rassurez-vous d’avoir cliqué sur Connexion Standard à une base de données. Ensuite, cliquer sur Continuer pour passer à l’étape suivante.

sans-titre11

Dans l’option pilote de Base de données prédéfinie : Choisir MySQL si vous utilisé un autre type de base de donnée choisir celui qui vous convient.

Ensuite vous devrez remplir quelques champs suivants :

sans-titre12

  • Changer [host-name] par l’adresse du serveur de Base de donnée (dans notre cas 0.0.1(le serveur interne))
  • Changer [database-name] par le nom de la base de données (dans notre cas OpenFire).
  • Utilisateur représente le nom d’utilisateur de la base de données (dans notre cas root) et Mot de passe le mot de passe de l’utilisateur root de la base de données (dans notre cas le troisième mot de passe renseigné lors de l’installation).

Cliquer ensuite sur Continuer.

Maintenant nous continuions la procédure d’installation ensemble, quel que soit votre choix.

Dans la page de configuration, des Paramètres Profils Cliquer sur Part défaut. Afin d’utiliser le système de sauvegarde par défaut de OpenFire (Recommandé pour les déploiements simples), mais vous aurez très bien pu utiliser un serveur LDAP comme Active Directory ou bien OpenLDAP en utilisant le protocole LDAP tout dépend de la politique de sécurité de votre entreprise.

Cliquer sur continuer pour passer à l’étape suivante.

sans-titre13

Maintenant nous avons la possibilité de crée un compte d’utilisateur administrateur  pour gérer openfire c’est lui qui aura le pouvoir de créer des utilisateurs openfire. Indiquer sont adresse Email (l’adresse email peut être fictive donc ne stresser pas (il n’y a pas de système de validation d’email) et le mot de passe qu’il aura ensuite cliquez sur continuer.

sans-titre14

Bravo vous venez de finir l’installation cliquer sur le gros bouton connectez-vous à la console d’administration.

sans-titre15

Maintenant vous avez la page de connexion qui apparait entrer le pseudo de l’administrateur qui est admin et le mot de passe est celui que vous venez de renseigner précédemment. Une fois remplis cliquer sur Connexion.

sans-titre16

Vous avez enfin accès à l’interface d’administrateur.

sans-titre17

Création d’un utilisateur

Cliquer sur l’onglet Utilisateur/Groupes ensuite vous verrez, une interface comme celle-ci.

sans-titre18

Cliquer ensuite sur le lien à gauche créé un nouvel utilisateur  et remplir les informations concernant votre nouvel utilisateur.  Vous avez une case à cocher en bas du champ d’indication du mot de passe qui vous permet de rendre un utilisateur administrateur si vous le voulez(en cochant cette case cet utilisateur aura le plein pouvoir et pourra crée d’autre utilisateur) sinon ne pas cocher pas cette case et se sera un simple utilisateur.

sans-titre19

Cliquer ensuite sur le bouton Créer l’Utilisateur. Un nouvel utilisateur est créé et il peut désormais se connecter au système.

sans-titre20

Maintenant nous allons voir comment faire pour qu’un utilisateur se connecte au système d’OpenFire et commence à envoyer des messages.

Configuration du Client IM

Commencer par télécharger le logiciel Spark depuis le site de l’éditeur qui est le même que celui du serveur OpenFire.   une fois télécharger vous l’installer et vous le lancez.

Au lancement il vous affiche une page comme celle qui suit. Indiquer y le nom d’utilisateur (qui est dans notre cas Joel) le mot de passe et l’adresse IP du serveur

sans-titre21

Cliquer ensuite sur le bouton Login en bas et à droite.   Attendre le chargement des informations de connections et vous verrez la page suivante.

sans-titre22

Pour communiquer, vous devez ajouter un utilisateur comme amie.

Cliquer sur Contacts ensuite ajouter Contact.  Ensuite, remplir les champs en indiquant le nom de l’utilisateur que vous voulez ajouter, le Nickname se remplie automatiquement quand vous cliquez dans la case sinon vous pouvez ne pas le remplir cliquer ensuite sur ajouter

sans-titre23

L’utilisateur recevra une demande d’ajout comme amie il devra juste la valider et vous pourrez désormais lui envoyer des messages. Lorsque cet utilisateur va se connecter il recevra un message du genre un nouvel utilisateur lui a envoyé une demande d’ajout dans la liste d’ami. Il suffira de cliquer sur Accepter en bas. Et vous serrez désormais amies donc vous pourrez tchatchez

sans-titre24

Ensuite vous recevrez un message de confirmation d’ajout a la liste d’ami il vous suffira de cliquer a votre tour sur accepter.

sans-titre25

Maintenant vous êtes ami. Pour pouvoir communiquer avec un utilisateur il suffit de cliquer sur Actions ensuite commencer une Conversation ensuite entrée le nom de l’utilisateur avec lequel vous voulez discuter et cliquer sur OK.

sans-titre26

Vous verrez ensuite une page de communication apparaitre.

sans-titre27

Il vous suffit d’écrire votre message et d’appuyer sur Entrée pour l’envoyer.

Vous êtes donc désormais en mesure de réaliser un serveur de messagerie interne et de le configurer afin de pouvoir chatter sur le réseau local de votre entreprise. Elastix possède bien d’autre fonctionnalités comme la possibilité de passer des appels vidéos, la possibilité d’envoyer des fax et j’en passe il ne tient qu’à vous de découvrir les autres fonctionnalités disponibles pour améliorer votre rentabilité.

J’espère avoir été assez claire sur les différentes procédures. N’oubliez pas avant de configurer un serveur de chat dans votre entreprise de bien tenir compte des contraintes de sécurité qui varie selon les entreprises et l’importance des informations qui vont circuler sur ce serveur.