# installations

# Installation d'un serveur DNS (bind9)

### INTRODUCTION : 

Dans le cadre du projet GSB, nous devons procéder à l'installation d'un serveur DNS. Je vais donc, grâce à ce tutoriel, vous apprendre à installer un serveur DNS.

####  

### Définition :

DNS : Le Domain Name System, généralement abrégé DNS, qu'on peut traduire en « système de noms de domaine », est le service informatique distribué utilisé pour traduire les noms de domaine Internet en adresse IP ou autres enregistrements.

### Installation :

Premièrement, nous avons besoin de mettre à jour notre machine :

```
apt-get update
apt-get upgrade
```

En suite, nous installons le packet bind9

```
apt-get install bind9
```

Nous allons également installer un éditeur de texte :

```
apt-get install nano
```

##### Named.conf : Fichier de configuration

A titre informatif, nous allons voir le fichier de configuration principal, aucune modification n'est nécessaire.

```
nano /etc/bind/named.conf
```

[![/etc/bind/named.conf](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600120257121.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600120257121.png)

##### Named.conf.options : Options générales du serveur

Dans ce fichier de configuration, nous autorisons à quiconque de nous faire des requêtes. Cependant, si nous voulons autoriser que des adresses IP spécifiques, nous pouvons remplacer "any" par : {127.0.0.1; 192.168.0.1;};.

```
nano /etc/bind/named.conf.options
```

[![image-1600120453909.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600120453909.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600120453909.png)

##### Named.conf.local : Nos zones DNS personnelles. 

Dans ce fichier de configuration, nous déclarons les deux zones nous servant à faire fonctionner le serveur DNS.

```
nano /etc/bind/named.conf.local
```

```
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "pod4.sio.lan"
{  type master;
   file "/etc/bind/db.pod4.sio.lan";
};

zone "0.168.192.in-addr.arpa"
{   type master;
    file "/etc/bind/db.192.168.0";
};

```

##### Named.conf.default-zones : Nos zones DNS par défaut.

A titre informatif, nous allons voir le fichier des zones DNS par défaut, aucune modification n'est nécessaire.

```
nano /etc/bind/named.conf.default-zones
```

[![image-1600121821525.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600121821525.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600121821525.png)

##### root.hints : Les 18 serveurs DNS principaux (Mondiaux).

Ce fichier regroupe les adresses des 18 serveurs DNS principaux permettant de propager aux autres serveurs DNS les nouveaux nom de domaines crées.

```
nano /usr/share/dns/root.hints
```

[![image-1600122340432.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600122340432.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600122340432.png)

##### db.pod4.sio.lan : Configuration de la zone directe.

Ce fichier de configuration regroupe tous les enregistrements DNS de notre zone DNS pod4. (Fichier à créer)

```
nano /etc/bind/db.pod4
```

```
$TTL	600
pod4.sio.lan.	IN	SOA	ns1.pod4.sio.lan. nehemiebarkia.gmail.com (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 600 )	; Negative Cache TTL
;
pod4.sio.lan.	IN	NS	ns1.pod4.sio.lan.
pod4.sio.lan.	IN	NS	ns2.pod4.sio.lan.
ns1 IN	A	192.168.0.1
ns2	IN	A	192.168.0.2
www	IN	A	192.168.0.3
mail	IN	A	162.168.0.10
poste1	IN	A	192.168.0.20

```

##### db.192.168.0 : Configuration de la zone inversée.

Ce fichier de configuration regroupe tous les enregistrements DNS inversés de notre zone DNS pod4. (Fichier à créer)

```
nano /etc/bind/db.192.168.0
```

[![image-1600122890920.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600122890920.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600122890920.png)

##### Test du bon fonctionnement de la configuration de notre serveur DNS.

<p class="callout info">Vous devez exécuter les commandes ci-dessous dans le répertoire /etc/bind</p>

Dans l’exécution de la commande "named-checkconf", si aucun retour n'est affiché, alors cela signifie qu'il n'y a pas d'erreur dans la configuration de votre serveur DNS.

```
named-checkconf
named-checkzone pod4.sio.lan db.pod4.sio.lan
named-checkzone 0.168.192.in-addr.arpa db.192.168.0
```

[![image-1600123026179.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600123026179.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600123026179.png)

Enfin, nous allons changer les droits du fichier /etc/bind.

```
chmod 777 /etc/bind
```

### Commandes :

Pour démarrer, redémarrer et éteindre le serveur, veuillez employer les commandes ci-dessous :

```
/etc/init.d/bind9 start
/etc/init.d/bind9 stop
/etc/init.d/bind9 restart 
```

### Test du serveur :

Pour réaliser un test je vais employer une machine virtuelle munie de Windows. Dans ses paramètres réseaux, je vais indiquer l'adresse IP de mon serveur DNS.

[![image-1600125813422.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600125813422.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600125813422.png)

Il nous suffis maintenant tout simplement de pinger des noms de domaines de pod4.

[![image-1600126205581.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600126205581.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600126205581.png)

<p class="callout info">Bien que les ping ne répondent pas, on peut conclure que les requêtes DNS fonctionnent bel et bien.</p>

### Fichiers du serveur :

[https://files.nehemiebarkia.fr/SISR3-services-utilisateurs/DNS/installation-de-bind9/TP-DNS-BIND9-16-09.zip](https://files.nehemiebarkia.fr/SISR3-services-utilisateurs/DNS/installation-de-bind9/TP-DNS-BIND9-16-09.zip)

# Installer un serveur de mail avec postfix.

Premièrement, nous allons modifier notre serveur DNS en ajoutant les chants suivants :

```
mail.pod4.sio.lan.	MX	10	mail
mail	IN	A	10.114.X.X					#X.X correspond à l'adresse IP du serveur de mail.
```

En suite, nous allons installer postfix et mailutils :

<div data-lang="" id="bkmrk-"><div></div></div>```
apt-get install postfix mailutils
```

Lors de l'installation de postfix vous aurez à cliquer sur "**<span style="text-decoration: underline;">OK</span>**"

[![image-1606322193232.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606322193232.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606322193232.png)

Puis "<span style="text-decoration: underline;">**Local server**</span>"

[![image-1606322203178.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606322203178.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606322203178.png)

Et enfin d'inscrire le nom de domaine du serveur mail : "mail.pod4.sio.lan"

[![image-1606322229048.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606322229048.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606322229048.png)

Nous allons maintenant afficher notre liste de courrier :

```
mail
```

Nous constatons que nous n'avons pas reçus de mail : **"<span style="text-decoration: underline;">Pas de courrier pour root</span>"**

Nous pouvons tenter de nous envoyer un message à nous-même :

```
mail -s "ceci est un test" root@localhost
```

[![image-1606919393912.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606919393912.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606919393912.png)

<p class="callout danger">Pour quitter la rédaction du mail et l'envoyer faites CTRL + D</p>

Maintenant réitérons le test d'afficher notre boite mail :

```
mail
```

[![image-1606919529123.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606919529123.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606919529123.png)

Et voila ! Notre message fut bien envoyé ! On peut consulter son contenu en entrant le numéro du mail (1).

[![image-1606919668498.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606919668498.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606919668498.png)

Testons les mails entre utilisateurs membres de @mail.pod4.sio.lan

```
mail -s "ceci est un test inter-domaine" root@mail.pod4.sio.lan
```

[![image-1606920040645.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606920040645.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606920040645.png)

On affiche notre boite mail :

```
mail
```

[![image-1606920060188.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606920060188.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606920060188.png)

Contenu :

[![image-1606920088940.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1606920088940.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1606920088940.png)

Testons les mails entre deux domaines locaux (mail.pod1.sio.lan et mail.pod4.sio.lan).

```
mail -s "Mail en provenance du POD 4" root@mail.pod1.sio.lan
```

[![image-1608130190340.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1608130190340.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1608130190340.png)

<p class="callout info">La capture d'écran ci-dessus vient du serveur mail du POD1. Tout fonctionne correctement.</p>

# Installation d'un serveur Apache2

## Introduction : 

Dans le cadre du contexte GSB nous avons la nécessité d'installer et de déployer correctement un serveur Apache2 sous linux. Pour cela nous allons utiliser une machine virtuelle munie de Debian 10.5.

### Installation : 

#### Téléchargement du paquet d'Apache2 :

Nous procédons au téléchargement du paquet d'apache grâce au paquet ci-dessous.

```
apt-get install apache2 -y
```

#### Téléchargement des paquets de PHP &amp; MariaDB :

Nous allons maintenant télécharger les paquets de PHP ainsi que du module d'apache liant à PHP.

```
apt install  php libapache2-mod-php mariadb-server php-mysql -y
```

#### Téléchargement des modules PHP les plus connus :

```
apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip -y
```

#### Téléchargement de la documentation d'Apache2 :

```
apt-get install apache2-doc
```

<p class="callout info">Accès à la documentation : /usr/share/doc/</p>

#### Sauvegarde de la configuration d'Apache2 :

Si nous effectuons une action par mégarde détruisant un fichier de configuration, nous serons bien content de retrouver les fichiers non-modifiés.

```
cp -rp /etc/apache2 /etc/apache2.init
```

#### Commandes liées au serveur Apache2 :

```
/etc/init.d/apache2 start
/etc/init.d/apache2 stop
/etc/init.d/apache2 reload
```

#### Consulter les fichier d'erreurs d'Apache2 :

```
tail -f /var/log/apache2/error.log
```

#### Création de l'accès public (accès via l'ip): 

Création du fichier où seront stockés les fichier du serveur virtuel web.

```
mkdir /var/www/html/public
```

<div data-lang="" id="bkmrk-"></div><div data-lang="" id="bkmrk-suppression-de-la-co">Suppression de la configuration par défaut.</div><div data-lang="" id="bkmrk--0"></div>```
 echo "000-default"|a2dissite
```

On renomme le fichier 000-default.conf en public.conf.

```
 mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/public.conf
```

Nous changeons le contenue de public.conf.

```
<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/public

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>
```

On active la nouvelle configuration.

```
echo "public"|a2ensite
```

Nous redémarrons le serveur apache.

```
/etc/init.d/apache2 reload
```

Enfin nous créons le fichier index.html :

(chemin : /var/www/html/public/index.html)

```HTML
<html>
  <body>
	<h1>It works! SIO (PUBLIC)</h1>
    <p>This is the default web page for this server.</p>
  </body>
</html>
```

Pour tester ce premier site virtuel, nous avons simplement à accéder à l'IP de notre serveur sur un navigateur.

[![image-1601472805767.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601472805767.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601472805767.png)

#### Création du premier site (accessible avec un nom de domaine) :

Le nom de domaine sera : site1.nehemie.pod4.sio.lan

<p class="callout warning">N'oubliez pas de créer le nom dans votre serveur DNS !</p>

Création du dossier lié au site1 :

```
mkdir /var/www/html/site1
```

Nous allons copier coller le fichier public.conf pour partir d'une bonne base.

```
cp /etc/apache2/sites-available/public.conf /etc/apache2/sites-available/site1.conf
```

Nous l'éditions comme ceci :

```
<VirtualHost *:80>
        ServerName site1.nehemie.pod4.sio.lan
        ServerAlias www.site1.nehemie.pod4.sio.lan
        DocumentRoot /var/www/html/site1

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>
```

Nous activons le site :

```
echo "site1"|a2ensite
```

Nous redémarrons le serveur apache.

```
/etc/init.d/apache2 reload
```

Nous créons le fichier index.html du site 1 :

(chemin : /var/www/html/site1/index.html)

```HTML
<html>
  <body>
	<h1>It works! SIO (SITE1)</h1>
    <p>This is the default web page for this server.</p>
  </body>
</html>
```

#### Création d'un second site :

Création du dossier lié au site2 :

```
mkdir /var/www/html/site2
```

Nous allons copier coller le fichier site1.conf pour partir d'une bonne base.

```
cp /etc/apache2/sites-available/site1.conf /etc/apache2/sites-available/site2.conf
```

Nous l'éditions comme ceci :

```
<VirtualHost *:80>
        ServerName site2.nehemie.pod4.sio.lan
        ServerAlias www.site2.nehemie.pod4.sio.lan
        DocumentRoot /var/www/html/site2

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>
```

Nous activons le site :

```
echo "site2"|a2ensite
```

Nous redémarrons le serveur apache.

```
/etc/init.d/apache2 reload
```

Nous créons le fichier index.html du site 2 :

(chemin : /var/www/html/site2/index.html)

```HTML
<html>
  <body>
	<h1>It works! SIO (SITE2)</h1>
    <p>This is the default web page for this server.</p>
  </body>
</html>
```

#### Création d'un troisième site avec SSL :

##### Création d'un certificat :

Nous allons générer un certificat qui sera en suite signé par notre professeur qui endossera le rôle d'autorité de certification.

Premièrement nous allons créer le dossier où sera stocké notre certificat.

```
cd /srv ; mkdir ssl ; cd ssl/
```

Nous allons créer une clé RSA de 2048 bits.

```
openssl genrsa -out clefnehemie.key 2048
```

[![image-1602684397508.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602684397508.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602684397508.png)

<p class="callout info">La commande ls permet d'afficher les fichiers et/ou dossier qui sont présent dans le répertoire courant. </p>

Maintenant que notre clé RSA est crée, nous pouvons générer un certificat.

```
openssl req -new -key clefnehemie.key -out certificatnehemie.csr
```

[![image-1602684651707.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602684651707.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602684651707.png)

[![image-1602684689427.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602684689427.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602684689427.png)

C'est terminé; nous avons bien créer notre certificat. Nous avons donc besoin maintenant de le faire certifier par une autorité de certification (dans notre cas simulé par notre professeur). Nous allons donc lui donner par mail le certificat et ainsi, ils nous enverra un certificat signé.

<p class="callout info">Le fichier qu'on lui communique se nomme donc "certificatnehemie.csr". </p>

Nous recevons de la part de l'autorité de certification un fichier comportant l'extension ".crt".

Création du dossier lié au site3 :

```
mkdir /var/www/html/site3
```

Nous allons copier coller le fichier site2.conf pour partir d'une bonne base.

```
cp /etc/apache2/sites-available/site2.conf /etc/apache2/sites-available/site3.conf
```

Nous l'éditions comme ceci :

```
<VirtualHost *:80>
        ServerName site3.nehemie.pod4.sio.lan
        DocumentRoot /var/www/html/site3
        Redirect permanent /  https://site3.nehemie.pod4.sio.lan
        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

<VirtualHost *:443>
        ServerName site3.nehemie.pod4.sio.lan
        DocumentRoot /var/www/html/site3

        SSLEngine On
        SSLCertificateFile /srv/ssl/certificatnehemie.crt
        SSLCertificateKeyFile /srv/ssl/clefnehemie.key
        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>



```

Nous activons le site :

```
echo "site3"|a2ensite
```

Nous activons le module ssl :

```
a2enmod ssl
```

Nous redémarrons le serveur apache.

```
/etc/init.d/apache2 reload
```

Nous créons le fichier index.html du site 3 :

(chemin : /var/www/html/site3/index.html)

```HTML
<html>
  <body>
	<h1>It works! SIO (SITE3)</h1>
    <p>This is the default web page for this server.</p>
  </body>
</html>
```

#### Création d'un troisième site avec un système d'authentification :

Création du dossier lié au site4 :

```
mkdir /var/www/html/site4
```

Nous créons le fichier de configuration apache pour le site :

```
<VirtualHost *:80>
        ServerName site4.nehemie.pod4.sio.lan
        DocumentRoot /var/www/html/site4

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined

        <Directory />
                Options FollowSymLinks
                AllowOverride all
        </Directory>

         <Directory /var/www/html/site4/admin>
                Options Indexes MultiViews
                AllowOverride all
                order allow,deny
                Allow from all
        </Directory>


</VirtualHost>

```

Nous créons bien les dossiers admin et public.

```
mkdir admin
mkdir publique
```

Nous créons le fichier .htpasswd

```
htpasswd -cm .htpasswd nem
```

Nous créons le fichier .htaccess.

```
AuthName "Acces Restricted"
AuthType Basic
AuthUserFile /var/www/html/site4/.htpasswd
Require valid-user

```

<p class="callout info">Il faut faire attention sur le chemin du fichier .htpasswd sinon cela ne marchera pas.</p>

</body></html>

# Installer un serveur samba

## **Installation d'un serveur Samba**

#### <span style="text-decoration: underline;">Téléchargement du paquet samba : </span>

```
apt-get install samba
```

#### <span style="text-decoration: underline;">Emplacement du fichier de configuration samba : </span>

Le fichier de configuration de samba est : `/etc/samba/smb.conf` .

####  

#### <span style="text-decoration: underline;">Redémarrer le service samba : </span>

```
service smb* restart
```

#### <span style="text-decoration: underline;">Configuration d'un accès publique :</span>

Premièrement, dans la partie \[global\] de `/etc/samba/smb.conf`, nous allons préciser le paramètre "workgroup" et nous créons le paramètre "security".

```
# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP
   security = user

```

En suite, nous allons définir le partage. Et pour cela, nous irons tout en bas du fichier de configuration pour ajouter après la dernière ligne :

Dans notre exemple le partage se nommera `nasn`, il partagera le fichier `/srv/samba/share` .

```
[nas]
   comment = Partage
   browseable = yes
   path = /srv/samba/share
   guest ok = no
   read only = no
   create mask = 0755

```

##### Description des paramètres : 

- - Comment : Petite description du partage.
    - Path : L'emplacement du dossier partagé.
    - Browsable : Autorise les clients Windows à parcourir le répertoire partagé en utilisant l'explorateur de fichiers Windows.
    - Guest ok : Permet au client de se connecter sans utiliser de mot de passe.
    - Read only : Détermine si le partage est en écriture seulement.
    - Create mask : Détermine les permissions des fichiers nouvellement créés.

#### <span style="text-decoration: underline;">Dossier de partage et permissions :</span>

Création du dossier de partage :

```
mkdir -p /srv/samba/share
```

Définition des permissions du dossier :

```
chown nobody:nogroup /srv/samba/share 
```

<p class="callout info">N'oubliez pas de procéder au redémarrage du service Samba pour que les modifications soient appliqués.</p>

<div data-lang="" id="bkmrk-"><div></div></div>#### <span style="text-decoration: underline;">Connexion au dossier de partage depuis un poste client :</span>

Nous allons maintenant nous connecter au dossier de partage depuis un poste Windows 10. Et pour cela, il suffit de se rendre dans l'explorateur Windows et se rendre sur "Ce-PC".

Puis cliquer sur "Connecter un lecteur réseaux" (comme ci dessous).

[![image-1605815375956.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1605815375956.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1605815375956.png)

Puis compléter comme ci-dessous les informations requises :

[![image-1605815461168.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1605815461168.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1605815461168.png)

Dès que vous avez rempli correctement alors vous aurez désormais accès comme ci-dessous à votre dossier de partage :

[![image-1605815580804.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1605815580804.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1605815580804.png)

#### <span style="text-decoration: underline;">Configuration d'un accès restreint :</span>

Pour autoriser que des clients disposant d'un nom d'utilisateur et d'un mot de passe, il va falloir commencer par modifier les paramètres dans le fichier de configuration de samba.

```
[nas]
   comment = Partage
   browseable = yes
   path = /srv/samba/share
   guest ok = no
   read only = no
   create mask = 0755
   valid users = nem
   public = no
   max disk size = 10000
```

<p class="callout info">Si vous voulez autoriser plusieurs utilisateurs, il vous suffit de séparer tout les usernames par un espace : user1 user2 user4 etc...</p>

Concrètement, on interdit aux utilisateur publique d'accéder au dossier de partage et nous autorisons uniquement l'utilisateur nem.

#### <span style="text-decoration: underline;">Création d'un utilisateur :</span>

##### 1. Création du compte dans Linux :

```
adduser nem
```

##### 2. Création du compte dans Samba : 

```
smbpasswd -a joe
```

Il vous suffit maintenant de redémarrer le service Samba car <span style="text-decoration: underline;">**la configuration est désormais finie !** </span>

3 . Monter un dossier

```
sudo mount -t cifs -o user=monuser,password=monpass //hostname/partage /dossier/de/montage
```

#### <span style="text-decoration: underline;">Pour aller plus loin :</span>

##### Liste des différentes options pour le partage :

[![image-1605803588129.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1605803588129.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1605803588129.png)

Source : [https://www.oreilly.com/openbook/samba/book/ch08\_06.html](https://www.oreilly.com/openbook/samba/book/ch08_06.html)

# Installer un miroir Debian

## Procédure pour installer un miroir Debian (+270 Go). 

```code
apt-get update && apt-get upgrade -y

```

```code
apt-get install apt-mirror apache2 -y
```

```
mkdir -p /depot/{mirror,skel,var}
chown -R apt-mirror:apt-mirror /depot
chmod -R 755 /depot
```

nano */etc/apt/mirror.list*

```
############# config ##################

set base_path	/depot
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript /depot/var/clean.sh
set postmirror_script $base_path/var/postmirror.sh

set run_postmirror 0


set nthreads 20
set _tilde 0

############# end config ##############

# Debian Buster
deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free
deb http://deb.debian.org/debian-security/ buster/updates main
deb-src http://deb.debian.org/debian-security/ buster/updates main
deb http://deb.debian.org/debian buster-updates main contrib non-free

# Debian Stretch
deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free
deb http://deb.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stretch-updates main contrib non-free

# Suppression des paquets obsoletes
clean http://security.debian.org/

```

```code
apt-mirror /etc/apt/mirror.list
```

```
ln -s /depot/mirror/deb.debian.org/debian-security /var/www/html/debian-security
ln -s /depot/mirror/deb.debian.org/debian /var/www/html/debian
```

**nano /etc/apache2/sites-available/000-default.conf**

```
<VirtualHost *:80>
    DocumentRoot /var/www/html/
    ErrorLog ${APACHE_LOG_DIR}/public.log
    CustomLog ${APACHE_LOG_DIR}/public.log combined
    LogLevel warn
</VirtualHost>
```

crontab -e

```
0 5 * * * root /usr/bin/apt-mirror /etc/apt/mirror.list > /depot/mirror/var/cron.log
```

##### Configuration des machines clientes :

nano /etc/apt/sources.list

```
deb http://miroir-debian/debian/ buster main
deb-src http://miroir-debian/debian buster main
deb http://miroir-debian/debian-security buster/updates main
deb-src http://miroir-debian/debian-security buster/updates main
```

<p class="callout info">mirdeb correspond au nom du serveur miroir debian.</p>

# Installer un serveur Mail (Postfix)

##### 1 - Délégation DNS (OVH) :

Je vais créer un sous domaine "mymail.nehemiebarkia.fr" et pointer un MX dessus :

<div data-ng-include="ctrlDomain.stepPath" id="bkmrk-mymail-in-a-35.241.1"><div data-ng-controller="DomainZoneRecordCtrl as ctrl"><div data-wizard="" data-wizard-on-cancel="resetAction" data-wizard-on-finish="editDnsEntry" data-wizard-title="'domain_configuration_dns_entry_edit_title' | translate"><div data-ng-transclude=""><div data-wizard-step="" data-wizard-step-count="{{stepCount}}" data-wizard-step-valid="ctrl.zoneRecordForm.$valid"><div aria-hidden="false" data-ng-show="getCurrentStep() === stepNumber"><div data-ng-transclude=""><div data-ng-include="'domain/zone/record/' + ctrl.model.fieldType + '/domain-zone-record-' + ctrl.model.fieldType + '.html'"><form class="form-horizontal ng-pristine ng-valid ng-valid-required ng-valid-maxlength" name="ctrl.zoneRecordForm"><div data-ng-include="'domain/zone/record/bottom.html'"><div>```
mymail IN A 35.241.173.178<br></br>et<br></br>smtp.mymail IN A 35.241.173.178
```

</div></div></form></div></div><div aria-hidden="false" data-ng-hide="getCurrentStep() === 1 && stepCount === 1 && !cancelButton && !confirmButton"><form class="form-horizontal ng-pristine ng-valid ng-valid-min ng-valid-max ng-valid-step ng-valid-required ng-valid-maxlength" name="ctrl.zoneRecordForm"><div data-ng-include="'domain/zone/record/bottom.html'"><div>```
mymail IN MX 1 mymail
```

</div></div></form></div></div></div></div></div></div></div>#####  

##### 2 - Mettre à jour le système :

```
apt-get update ; apt-get upgrade -y
```

#####  

##### 3 - Installation de **LAMP** :

<div data-lang="" id="bkmrk-"></div>```
wget https://scripts.nehemiebarkia.fr/BASH/Installations/LAMP.sh
bash LAMP.sh
```

#####  

##### 4 - Installation de **Mailutils &amp; Tree :**

```
apt-get install tree mailutils -y
```

##### 5 - Installation de **Postfix** :

```
apt-get install postfix postfix-mysql -y
```

\--&gt; Lors de l'installation, vous choisirez "**Site internet**".

\--&gt; Puis nous précisons le nom de domaine du mail :

[![image-1616447828058.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616447828058.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616447828058.png)

<p class="callout warning">N'oubliez pas le "." à la fin de votre nom de domaine !</p>

#####  

##### 6 - Installation de **Dovecot** :

<div data-lang="" id="bkmrk-apt-get-install-dove">```
apt-get install dovecot-mysql dovecot-pop3d dovecot-imapd dovecot-managesieved -y
```

</div>##### 7 - Groupe d'utilisateurs Linux : 

Nous allons créer le groupe **vmail** qui accueillera les mails. Nous allons également créer l'utilisateur **vmail**.

```
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /var/vmail -m
```

<p class="callout info">Si vous utilisez une machine virtuelle chez Google, commencer les deux commandes avec "/usr/sbin/".</p>

##### 8 - Installation de **Postfixadmin** : 

Avant d'installer Postfixadmin, nous allons préparer mariadb :

```
mysql_secure_installation
```

\--&gt; Vous allez définir un nouveau mot de passe pour le compte root puis procéder aux options par défaut.

##### a) Base de données :

Nous entrons dans la console mariadb.

```
mariadb -u root -p
```

<p class="callout info">Le mot de passe demandé est celui que vous avez précédemment changé et non le mot de passe root de l'utilisateur sur le serveur linux.</p>

Création de l'utilisateur SQL.

```
CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'MYPASSWORD';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
```

Par mesure de sécurité nous créons un second utilisateur qui n'aura uniquement que des droits de lecture sur la base de données :

```
CREATE USER 'mailuser'@'localhost' IDENTIFIED BY 'MYPASSWORD';
GRANT SELECT ON `postfix`.* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;
QUIT ;
```

##### b) Postfixadmin :

Maintenant que tout ça est fait, nous pouvons installer Postfixadmin :

```
cd /srv/
wget -O postfixadmin.tgz https://github.com/postfixadmin/postfixadmin/archive/postfixadmin-3.2.tar.gz
tar -zxvf postfixadmin.tgz
mv postfixadmin-postfixadmin-3.2 postfixadmin
ln -s /srv/postfixadmin/public /var/www/html/postfixadmin
```

Configuration :

```
nano /srv/postfixadmin/config.local.php
```

```
<?php
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_name'] = 'postfix';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'MYPASSWORD';


$CONF['configured'] = true;
?>
```

<p class="callout info">Ce fichier n'existait pas, pas de panique si, quand vous l'ouvrez, il est vide ! </p>

<div id="bkmrk-cr%C3%A9ation-d%27un-fichie">Création d'un fichier nécessaire au bon fonctionnement de Postfixadmin et attributions des droits : </div>```
mkdir -p /srv/postfixadmin/templates_c
chown -R www-data /srv/postfixadmin/templates_c
```

<div id="bkmrk--1"></div><div id="bkmrk--2"></div><div id="bkmrk-maintenant%2C-nous-pou">Maintenant, nous pouvons accéder au setup grâce au site web : [http://IP-DU-SRV/postfixadmin/setup.php](http://IP-DU-SRV/postfixadmin/setup.php) et nous aurons un mot de passe à créer (pour des raisons de sécurité, choisissez un mot de passe fort) :</div>[![image-1616449164509.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616449164509.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616449164509.png)

<div id="bkmrk--4"></div><div id="bkmrk-je-vais-par-exemple-">Je vais par exemple choisir le mot de passe : "P@ssw0rd123", puis cliquer sur "Generate password hash".</div><div id="bkmrk--5"></div><div id="bkmrk--6"></div><div id="bkmrk-le-message-suivant-a"><span style="text-decoration: underline;">Le message suivant apparait : </span></div><div id="bkmrk--7"></div>[![image-1616449403337.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616449403337.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616449403337.png)

<div id="bkmrk--9"></div><div id="bkmrk-nous-allons-donc-pro">Nous allons donc procéder à la modification du fichier config : </div><div id="bkmrk--10"></div>```
nano /srv/postfixadmin/config.local.php
```

```
// Ajouter la ligne suivante : 
$CONF['setup_password'] = 'c4db13bd0d48dc5d4486bddbf5e35fd2:96107d8f161b0d0f96b94cbba463426708e83e1a';
```

<p class="callout danger">Ne copiez-collez pas ! Faites selon le texte qui apparait sur vos machines !</p>

<div id="bkmrk--11"></div><div id="bkmrk--12"></div><div id="bkmrk--13"></div><div id="bkmrk-puis-nous-compl%C3%A9tons">Puis nous complétons le formulaire suivant : </div><div id="bkmrk--14"></div>[![image-1616449754056.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616449754056.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616449754056.png)

<div id="bkmrk--16"></div><div id="bkmrk-setup-password-%3A-p%40s">Setup password : [P@ssw0rd123](mailto:P@ssw0rd123)</div><div id="bkmrk-administrateur-%3A-adm">Administrateur : <admin@mymail.nehemiebarkia.fr></div><div id="bkmrk-mot-de-passe-%3A-h5jzx">Mot de passe : H5jZx87jK</div><div id="bkmrk--17"></div><div id="bkmrk--18"></div><div id="bkmrk-apr%C3%A8s-avoir-cliqu%C3%A9-s">Après avoir cliqué sur "Ajouter un administrateur" vous aurez le message suivant qui va s'afficher :</div>[![image-1616449903840.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616449903840.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616449903840.png)

<div id="bkmrk--20"></div><div id="bkmrk-nous-cliquons-sur-le">Nous cliquons sur le lien "login to PostfixAdmin" et entrons notre identifiant et notre mot de passe : </div>[![image-1616449968640.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616449968640.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616449968640.png)

<div id="bkmrk-visuel-de-postfixadm">Visuel de Postfixadmin : </div>[![image-1616450050334.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450050334.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450050334.png)

<div id="bkmrk--23"></div><div id="bkmrk--24"></div><div id="bkmrk-nous-allons-cliquer-">Nous allons cliquer sur "Liste des domaines" puis "Nouveau domaine" : </div><div id="bkmrk--25"></div>[![image-1616450111507.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450111507.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450111507.png)

<div id="bkmrk--27"></div><div id="bkmrk--28"></div><div id="bkmrk--29"></div><div id="bkmrk-nous-rentrons-les-in">Nous rentrons les informations de notre nom de domaine et précisons 0 pour la limite d'utilisateurs et d'alliasses : </div>[![image-1616450258600.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450258600.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450258600.png)

<div id="bkmrk--31"></div><div id="bkmrk-puis-nous-cliquons-s">Puis nous cliquons sur "Ajouter un domaine", le message suivant s'affiche :</div>[![image-1616450300052.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450300052.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450300052.png)

<div id="bkmrk--33"></div><div id="bkmrk--34"></div><div id="bkmrk-maintenant-nous-allo">Maintenant nous allons pouvoir ajouter un compte de courriel : </div><div id="bkmrk--35"></div>[![image-1616450366561.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450366561.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450366561.png)

<div id="bkmrk--37"></div><div id="bkmrk--38"></div><div id="bkmrk-nous-allons-cr%C3%A9er-de">Nous allons créer deux comptes : </div>[![image-1616450449212.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450449212.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450449212.png)

<div id="bkmrk-mot-de-passe-%3A-2bmq2">Mot de passe : **2bmQ2wBU4**</div><div id="bkmrk--40"></div><div id="bkmrk-et-%3A">Et :</div>[![image-1616450541520.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616450541520.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616450541520.png)

<div id="bkmrk-mot-de-passe-%3A-2bmq2-0">Mot de passe : **2bmQ2wBU4**</div><div id="bkmrk--42"></div><div id="bkmrk--43"></div><div id="bkmrk--44"></div><div id="bkmrk--45"></div>##### 9 - Configuration de **Postfix** : 

<div id="bkmrk--46"></div><div id="bkmrk-on-donne-acc%C3%A8s-au-do">On donne accès au domaine à postfix en créant le fichier mysql-virtual-mailbox-domains.cf :</div><div id="bkmrk--47"></div>```
nano /etc/postfix/mysql-virtual-mailbox-domains.cf
```

```
user = mailuser
password = MYPASSWORD
hosts = 127.0.0.1
dbname = postfix
query = SELECT 1 FROM domain where domain='%s'
```

<div id="bkmrk-activation-de-la-con">Activation de la configuration : </div>```
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
```

<p class="callout info">Si vous utilisez une machine virtuelle chez Google, commencer la commandes avec "/usr/sbin/".</p>

Réalisation d'un test :

```
postmap -q mymail.nehemiebarkia.fr mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
```

**<span style="text-decoration: underline;">Si la réponse est 1 alors postfix trouve correctement le nom de domaine. </span>**

<p class="callout info">Si vous utilisez une machine virtuelle chez Google, commencer la commandes avec "/usr/sbin/".</p>

##### 10 - Configuration de **Dovecot** : 

```
nano /etc/dovecot/conf.d/10-auth.conf
```

Dans ce fichier nous allons chercher la ligne "auth\_mechanisms" :

[![image-1616451365283.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616451365283.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616451365283.png)

Nous allons ajouter à la fin de la ligne "login" :

[![image-1616451433035.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616451433035.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616451433035.png)

Puis à la fin de ce fichier, nous allons chercher les lignes suivantes *:*

[![image-1616451572862.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616451572862.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616451572862.png)

Nous allons commenter "**!include auth-system.conf.ext**" et décommenter "**\#!include auth-sql.conf.ext**" comme ceci :

[![image-1616451663298.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616451663298.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616451663298.png)

Puis modifions le fichier "*auth-sql.conf.ext" :*

```
nano /etc/dovecot/conf.d/auth-sql.conf.ext
```

Nous allons chercher le bloc "userdb" et remplacer le tout par les lignes suivantes :

```
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}
```

Puis nous allons changer l'emplacement des mail :

```
 nano /etc/dovecot/conf.d/10-mail.conf
```

Et nous allons remplacer le "mail\_location" :

```
mail_location = maildir:/var/vmail/%d/%n/Maildir
```

En suite, nous allons modifier le fichier suivant :

```
 nano /etc/dovecot/conf.d/10-master.conf
```

Et dans le bloc "service auth" nous allons ajouter le texte suivant :

```
unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}
```

Comme ceci :

[![image-1616452318825.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616452318825.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616452318825.png)

On indique maintenant à Dovecot comment se connecter à la base de données :

```
nano /etc/dovecot/dovecot-sql.conf.ext
```

Ajouter à la toute fin du fichier ces trois lignes :

```
driver = mysql
connect = host=127.0.0.1 dbname=postfix user=mailuser password=MYPASSWORD
password_query = SELECT username,domain,password FROM mailbox WHERE username='%u';
```

Puis nous modifions les droits d'accès du fichier dovecot.conf :

```
chgrp vmail /etc/dovecot/dovecot.conf
chmod g+r /etc/dovecot/dovecot.conf
```

Et enfin, nous pouvons redémarrer dovecot :

```
service dovecot restart
```

##### 10 - Liaison entre **Postfix** et **Dovecot** : 

<div data-lang="" id="bkmrk-nous-allons-ajouter-">Nous allons ajouter ces lignes à la toute fin de master.cf</div>```
nano /etc/postfix/master.cf
```

```
dovecot    unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

```

Puis, nous redémarrons Postfix :

```
service postfix restart
```

<p class="callout info">Si vous utilisez une machine virtuelle chez Google, commencer la commandes avec "/usr/sbin/".</p>

Maintenant on applique les modifications :

```
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1
```

On va pouvoir maintenant, tester la configuration :

```
tree /var/vmail
```

[![image-1616453782072.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616453782072.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616453782072.png)

On constate qu'il n'y a aucun mail présent.

Maintenant, tentons d'envoyer un mail à alice par exemple :

```
echo test | mail alice@mymail.nehemiebarkia.fr
```

On peut vérifier les logs :

```
tail -f /var/log/mail.log
```

[![image-1616454055350.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616454055350.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616454055350.png)

<p class="callout info">Vous constatez une erreur ? Vérifiez si Dovecot a bien les bons identifiants : --&gt; nano /etc/dovecot/dovecot-sql.conf.ext</p>

Maintenant, affichons une nouvelle fois les mails présents sur le serveur :

```
tree /var/vmail
```

[![image-1616454169529.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616454169529.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616454169529.png)

Postfix transmet donc bien a Dovecot les mails.

##### 11 - Installation de **Rainloop** : 

Installation et droits de Rainloop :

```
mkdir /var/www/html/rainloop
cd /var/www/html/rainloop
wget -qO- https://repository.rainloop.net/installer.php | php
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chown -R www-data:www-data .
```

Maintenant nous accédons au lien suivant : [http://IP-DU-SRV/rainloop/?admin](http://IP-DU-SRV/rainloop/?admin) ; Nous utiliserons le compte admin et le mot de passe 12345.

Nous allons aller dans "domaines" et faire "add domaine" :

[![image-1616456622876.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616456622876.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616456622876.png)

Maintenant, nous nous rendons à l'adresse suivante : [http://IP-DU-SRV/rainloop](http://IP-DU-SRV/rainloop) et nous nous connectons en tant qu'alice :

[![image-1616455441339.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616455441339.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616455441339.png)

On constate qu'Alice à bien reçus les mails envoyés précédemment :

[![image-1616455564486.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616455564486.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616455564486.png)

# Installer un serveur SSH

**Définition : Secure Shell est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés.**

**1. Installation du serveur**

```
apt-get install openssh-server
```

**2. Modification de la configuration**

<div data-lang="" id="bkmrk-nano-%2Fetc%2Fssh%2Fsshd_c">```
nano /etc/ssh/sshd_config
```

<div></div></div>On modifie la ligne PermitRootLogin pour autoriser la connexion distante de l'utilisateur ROOT.

[![image-1606325153115.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606325153115.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606325153115.png)

Puis on redémarre le serveur :

```
reboot
```

# Installation et configuration de OCS & GLPI

Les centres d'assistances : Helpdesk

Pour commencer, vous devez comprendre l'intérêt de ce qu'on appelle le Helpdesk ou centre  
d'assistance. Vous lirez la documentation à l'adresse suivante :  
[http://fr.wikipedia.org/wiki/Centre\_d'assistance](http://fr.wikipedia.org/wiki/Centre_d'assistance) puis répondrez aux questions.

**<span style="text-decoration: underline;">Présentation des questions</span>**  
1\. Qui peut faire appel à un centre d'intervention, à quel moment, pour quels problèmes,  
et qui y répond ?

- - Des utilisateurs de produits ou de services
    - A tous moments par mail ou via le web. Cependant, il faut respecter une plage horaire si c'est par téléphone.
    - C'est pour n'importe quel type de problème qui seront hiérarchisé par le centre d'assistance puis transmit à qui de droit (Techniciens, Entreprises, etc.).

2\. En quelques mots, définissez ITIL et expliquez le lien qui existe entre ITIL et les centres d'assistance.

ITIL est un révérenciel méthodologique, il peut être utile aux centres d'assistance pour améliorer leurs rapidité ; Améliorer leurs QOS et diminuer les risques.

  
3\. Retracez à l'aide d'un diagramme (diagramme de flux simple Visio) le cheminement  
possible d'une question ou d'un problème informatique au travers des différents  
niveaux d'intervention du helpdesk : [Wikipedia.](https://fr.wikipedia.org/wiki/Centre_d%20%27assistance#Niveaux_d.27intervention_des_services_d.27assistance_et_de_supp)

[![image-1610997518816.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1610997518816.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1610997518816.png)

### Prérequis : 

➔ mysql-server  
➔ apache2  
➔ php  
➔ libapache2-mod-php  
➔ php-mysql

Pour les prérequis, vous pouvez simplement installer mon scripte :

```
wget https://scripts.nehemiebarkia.fr/BASH/Installations/SSH-LAMP.sh ; bash SSH-LAMP.sh
```

### Installation de GLPI :

Changement de répertoire :

```
cd /var/www/html/
```

Suppression du contenue par défaut :

```
rm * -r
```

Téléchargement de GLPI :

```
wget https://github.com/glpi-project/glpi/releases/download/9.5.3/glpi-9.5.3.tgz
```

Extraction de l'archive :

```
tar xvzf glpi-9.5.3.tgz
```

Suppression de l'archive :

```
rm glpi-9.5.3.tgz
```

<p class="callout info">Maintenant, nous allons accéder à notre nouveau site (http://IPDUSERVEUR/glpi)</p>

On clique sur "**OK"**

[![image-1611095207639.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611095207639.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611095207639.png)

<span style="text-decoration: underline;">On lit la License</span>, puis **on l'accepte** et enfin on clique sur **"Continuer"**.

[![image-1611095259411.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611095259411.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611095259411.png)

On clique sur "Installer".

[![image-1611095357494.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611095357494.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611095357494.png)

Les erreurs suivantes s'affichent :

[![image-1611095437547.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611095437547.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611095437547.png)

Attribution des droits sur le dossier GLPI pour l'utilisateur de PHP.

```
chown www-data:www-data /var/www/html/glpi -R
```

Changement des droits pour l'accès "Autre utilisateur".

```
chmod 775 /var/www/html/glpi -R 
```

Activation du module de réécriture d'Apache.

```
a2enmod rewrite ; systemctl restart apache2
```

Ajout des extensions PHP nécessaires.

```
apt-get install php-{ldap,apcu,cas} -y
```

Modification de la configuration apache.

```
nano /etc/apache2/sites-available/000-default.conf
```

On y ajoute (à l'intérieur du Virtualhost) :

```
<Directory /var/www/html/glpi>
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
```

Redémarrage pour tout prendre en compte.

```
reboot
```

Après le redémarrage du serveur, tous les résultats sont validés.

[![image-1611097309281.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611097309281.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611097309281.png)

Création d'un utilisateur et attributions des privilèges dans MariaDB.

<p class="callout info">Pour entrer dans MariaDB il suffit simplement d'écrire "mysql"</p>

```
GRANT ALL PRIVILEGES ON *.* TO 'glpi'@'localhost' IDENTIFIED BY 'MYSUPERPASSWORD' WITH GRANT OPTION;
```

Maintenant on peut spécifier les informations suivantes dans GLPI, puis on clique sur "**Continuer**".

[![image-1611097593442.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611097593442.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611097593442.png)

On spécifie le nom de la base de donnée puis on clique sur "**Continuer**".

[![image-1611097695145.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611097695145.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611097695145.png)

Après avoir cliqué sur continuer, une page de chargement apparaitra. Il suffira de patienter. Puis vous pourrez vous connecter (Utilisateur : glpi ; Mot de passe : glpi).

[![image-1611171296469.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611171296469.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611171296469.png)

[Après avoir cliqué sur "Envoyer", vous aurez accès à GLPI comme ci-dessous :](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611171296469.png)

[![image-1611171378656.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611171378656.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611171378656.png)

### Installation d'OCS :

Changement de répertoire :

```
cd /usr/src 
```

Téléchargement des fichiers d'OCS.

```
wget https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/download/2.8.1/OCSNG_UNIX_SERVER_2.8.1.tar.gz
```

Décompression de l'archive.

```
tar -xvzf OCSNG_UNIX_SERVER_2.8.1.tar.gz
```

Création de l'utilisateur SQL pour OCS.

<p class="callout info">Pour entrer dans MariaDB il suffit simplement d'écrire "mysql"</p>

```
GRANT ALL PRIVILEGES ON *.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs' WITH GRANT OPTION;
```

Installation du paquet "Make".

```
apt install make 
```

Installation de perl et de l'extension perl pour apache.

```
apt install libxml-simple-perl libapache-dbi-perl libnet-ip-perl perl libapache2-mod-perl2
```

Installation de l'extension Mojolicious pour Perl.

```
perl -MCPAN -e 'install Mojolicious'
```

Installation de l'extension Switch pour Perl.

```
perl -MCPAN -e 'install Switch'
```

Installation de l'extension Plack pour Perl.

```
perl -MCPAN -e 'install Plack'
```

Lancement du scripte d'installation.

```
cd /usr/src/OCSNG_UNIX_SERVER_2.8.1/ ; sh setup.sh
```

Premièrement nous répondons oui.

[![image-1611175368228.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175368228.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175368228.png)

[ ](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175408035.png)

Puis on laisse "localhost".

[![image-1611175408035.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175408035.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175408035.png)

On laisse le port par défaut.

[  
![image-1611175425341.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175425341.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175425341.png)

On laisse par défaut.

[![image-1611175446753.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175446753.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175446753.png)

On ne change pas l'emplacement de la configuration d'appache.

[![image-1611175467498.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175467498.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175467498.png)

On laisse l'utilisateur par défaut.

[![image-1611175483866.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175483866.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175483866.png)

On laisse le grouoe par défaut.

[![image-1611175502359.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175502359.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175502359.png)

Puis on laisse l'emplacement du dossier des configurations par défaut .

[![image-1611175528906.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175528906.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175528906.png)

On laisse l'emplacement de l'interpréteur PERL par défaut.

[![image-1611175547874.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175547874.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175547874.png)

On accepte par défaut de configurer le serveur de communication.

[![image-1611175572338.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175572338.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175572338.png)

On laisse l'emplacement des notifications par défaut.

[![image-1611175616308.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175616308.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175616308.png)

On laisse le fichier des plugins par défaut.

[![image-1611175634999.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175634999.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175634999.png)

On laisse le dossier de plugins perls par défauts.

[![image-1611175655457.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175655457.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175655457.png)

On confirme vouloir le serveur d'API Rest.

[![image-1611175670107.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611175670107.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611175670107.png)

On laisse le dossier par défaut.

[![image-1611177021441.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177021441.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177021441.png)

On accepte la configuration par défaut.

[![image-1611177047753.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177047753.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177047753.png)

On accepte vouloir la console d'administration.

[![image-1611177062829.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177062829.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177062829.png)

On confirme.

[![image-1611177085955.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177085955.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177085955.png)

On laisse par défaut.

[![image-1611177101255.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177101255.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177101255.png)

On laisse par défaut.

[![image-1611177110007.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177110007.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177110007.png)

L'installation est terminée.

[![image-1611177130815.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177130815.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177130815.png)

Activation des sites virtuels.

```
a2enconf z-ocsinventory-server
a2enconf ocsinventory-reports
systemctl restart apache2.service
```

<p class="callout info">Maintenant, nous allons accéder à notre nouveau site (http://IPDUSERVEUR/ocsreports)</p>

On entre les données siovantes :

- - Login : ocs
    - Password : ocs
    - Database : ocsweb
    - Hostname : localhost
    - Mysql port : 3306
    - Enable SSL : NO

<p class="callout danger">LE NOM DE LA BASE DE DONNEE NE PEUT PAS ËTRE CHANGE ! (ocsweb)</p>

Puis on clique sur "send".

[![image-1611516545099.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611516545099.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611516545099.png)

Une barre de chargement apparait (il vous suffit de patienter).[![image-1611177556870.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177556870.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177556870.png)

Une erreur apparait :

[![image-1611177626718.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177626718.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177626718.png)

On entre les commandes suivantes pour corriger l'erreur.

```
chown www-data:www-data /var/lib/ocsinventory-reports
```

On actualise et PAF ! On peut se connecter !

- Utilisateur : admin
- Mot de passe : admin

[![image-1611177768671.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177768671.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177768671.png)

OCS est bien fonctionnel :

[![image-1611177847020.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611177847020.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611177847020.png)

Suppression des fichiers d'installations :

```
rm /usr/share/ocsinventory-reports/ocsreports/install.php
rm /var/www/html/glpi/install/install.php
```

Tables créés par OCS (juste par curiosité) :

<table border="1" cellpadding="0" cellspacing="0" class="align-center" dir="ltr" id="bkmrk-table-accesslog-acco"><colgroup><col width="100"></col></colgroup><tbody><tr><td data-sheets-value="{"1":2,"2":"Table"}">Table</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accesslog" data-sheets-value="{"1":2,"2":"accesslog"}">[accesslog](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accesslog)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accountinfo" data-sheets-value="{"1":2,"2":"accountinfo"}">[accountinfo](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accountinfo)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accountinfo_config" data-sheets-value="{"1":2,"2":"accountinfo_config"}">[accountinfo\_config](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=accountinfo_config)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=archive" data-sheets-value="{"1":2,"2":"archive"}">[archive](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=archive)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=assets_categories" data-sheets-value="{"1":2,"2":"assets_categories"}">[assets\_categories](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=assets_categories)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=batteries" data-sheets-value="{"1":2,"2":"batteries"}">[batteries](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=batteries)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=bios" data-sheets-value="{"1":2,"2":"bios"}">[bios](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=bios)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_macaddresses" data-sheets-value="{"1":2,"2":"blacklist_macaddresses"}">[blacklist\_macaddresses](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_macaddresses)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_serials" data-sheets-value="{"1":2,"2":"blacklist_serials"}">[blacklist\_serials](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_serials)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_subnet" data-sheets-value="{"1":2,"2":"blacklist_subnet"}">[blacklist\_subnet](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=blacklist_subnet)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=config" data-sheets-value="{"1":2,"2":"config"}">[config](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=config)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=conntrack" data-sheets-value="{"1":2,"2":"conntrack"}">[conntrack](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=conntrack)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=controllers" data-sheets-value="{"1":2,"2":"controllers"}">[controllers](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=controllers)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cpus" data-sheets-value="{"1":2,"2":"cpus"}">[cpus](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cpus)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search" data-sheets-value="{"1":2,"2":"cve_search"}">[cve\_search](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search_correspondance" data-sheets-value="{"1":2,"2":"cve_search_correspondance"}">[cve\_search\_correspondance](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search_correspondance)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search_history" data-sheets-value="{"1":2,"2":"cve_search_history"}">[cve\_search\_history](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=cve_search_history)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=deleted_equiv" data-sheets-value="{"1":2,"2":"deleted_equiv"}">[deleted\_equiv](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=deleted_equiv)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=deploy" data-sheets-value="{"1":2,"2":"deploy"}">[deploy](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=deploy)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=devices" data-sheets-value="{"1":2,"2":"devices"}">[devices](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=devices)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=devicetype" data-sheets-value="{"1":2,"2":"devicetype"}">[devicetype](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=devicetype)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=dico_ignored" data-sheets-value="{"1":2,"2":"dico_ignored"}">[dico\_ignored](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=dico_ignored)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=dico_soft" data-sheets-value="{"1":2,"2":"dico_soft"}">[dico\_soft](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=dico_soft)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_conf_values" data-sheets-value="{"1":2,"2":"downloadwk_conf_values"}">[downloadwk\_conf\_values](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_conf_values)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_fields" data-sheets-value="{"1":2,"2":"downloadwk_fields"}">[downloadwk\_fields](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_fields)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_history" data-sheets-value="{"1":2,"2":"downloadwk_history"}">[downloadwk\_history](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_history)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_pack" data-sheets-value="{"1":2,"2":"downloadwk_pack"}">[downloadwk\_pack](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_pack)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_statut_request" data-sheets-value="{"1":2,"2":"downloadwk_statut_request"}">[downloadwk\_statut\_request](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_statut_request)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_tab_values" data-sheets-value="{"1":2,"2":"downloadwk_tab_values"}">[downloadwk\_tab\_values](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=downloadwk_tab_values)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_affect_rules" data-sheets-value="{"1":2,"2":"download_affect_rules"}">[download\_affect\_rules](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_affect_rules)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_available" data-sheets-value="{"1":2,"2":"download_available"}">[download\_available](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_available)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_enable" data-sheets-value="{"1":2,"2":"download_enable"}">[download\_enable](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_enable)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_history" data-sheets-value="{"1":2,"2":"download_history"}">[download\_history](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_history)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_servers" data-sheets-value="{"1":2,"2":"download_servers"}">[download\_servers](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=download_servers)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=drives" data-sheets-value="{"1":2,"2":"drives"}">[drives](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=drives)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=engine_mutex" data-sheets-value="{"1":2,"2":"engine_mutex"}">[engine\_mutex](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=engine_mutex)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=engine_persistent" data-sheets-value="{"1":2,"2":"engine_persistent"}">[engine\_persistent](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=engine_persistent)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=extensions" data-sheets-value="{"1":2,"2":"extensions"}">[extensions](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=extensions)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=files" data-sheets-value="{"1":2,"2":"files"}">[files](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=files)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=groups" data-sheets-value="{"1":2,"2":"groups"}">[groups](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=groups)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=groups_cache" data-sheets-value="{"1":2,"2":"groups_cache"}">[groups\_cache](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=groups_cache)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=hardware" data-sheets-value="{"1":2,"2":"hardware"}">[hardware](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=hardware)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=hardware_osname_cache" data-sheets-value="{"1":2,"2":"hardware_osname_cache"}">[hardware\_osname\_cache](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=hardware_osname_cache)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=inputs" data-sheets-value="{"1":2,"2":"inputs"}">[inputs](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=inputs)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=itmgmt_comments" data-sheets-value="{"1":2,"2":"itmgmt_comments"}">[itmgmt\_comments](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=itmgmt_comments)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=javainfo" data-sheets-value="{"1":2,"2":"javainfo"}">[javainfo](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=javainfo)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=journallog" data-sheets-value="{"1":2,"2":"journallog"}">[journallog](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=journallog)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=languages" data-sheets-value="{"1":2,"2":"languages"}">[languages](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=languages)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=locks" data-sheets-value="{"1":2,"2":"locks"}">[locks](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=locks)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=memories" data-sheets-value="{"1":2,"2":"memories"}">[memories](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=memories)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=modems" data-sheets-value="{"1":2,"2":"modems"}">[modems](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=modems)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=monitors" data-sheets-value="{"1":2,"2":"monitors"}">[monitors](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=monitors)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=netmap" data-sheets-value="{"1":2,"2":"netmap"}">[netmap](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=netmap)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=networks" data-sheets-value="{"1":2,"2":"networks"}">[networks](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=networks)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=network_devices" data-sheets-value="{"1":2,"2":"network_devices"}">[network\_devices](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=network_devices)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=notification" data-sheets-value="{"1":2,"2":"notification"}">[notification](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=notification)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=notification_config" data-sheets-value="{"1":2,"2":"notification_config"}">[notification\_config](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=notification_config)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=operators" data-sheets-value="{"1":2,"2":"operators"}">[operators](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=operators)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=ports" data-sheets-value="{"1":2,"2":"ports"}">[ports](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=ports)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=printers" data-sheets-value="{"1":2,"2":"printers"}">[printers](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=printers)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=prolog_conntrack" data-sheets-value="{"1":2,"2":"prolog_conntrack"}">[prolog\_conntrack](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=prolog_conntrack)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=regconfig" data-sheets-value="{"1":2,"2":"regconfig"}">[regconfig](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=regconfig)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry" data-sheets-value="{"1":2,"2":"registry"}">[registry](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry_name_cache" data-sheets-value="{"1":2,"2":"registry_name_cache"}">[registry\_name\_cache](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry_name_cache)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry_regvalue_cache" data-sheets-value="{"1":2,"2":"registry_regvalue_cache"}">[registry\_regvalue\_cache](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=registry_regvalue_cache)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=repository" data-sheets-value="{"1":2,"2":"repository"}">[repository](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=repository)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=saas" data-sheets-value="{"1":2,"2":"saas"}">[saas](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=saas)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=saas_exp" data-sheets-value="{"1":2,"2":"saas_exp"}">[saas\_exp](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=saas_exp)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=save_query" data-sheets-value="{"1":2,"2":"save_query"}">[save\_query](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=save_query)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=schedule_WOL" data-sheets-value="{"1":2,"2":"schedule_WOL"}">[schedule\_WOL](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=schedule_WOL)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=sim" data-sheets-value="{"1":2,"2":"sim"}">[sim](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=sim)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=slots" data-sheets-value="{"1":2,"2":"slots"}">[slots](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=slots)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_communities" data-sheets-value="{"1":2,"2":"snmp_communities"}">[snmp\_communities](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_communities)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_configs" data-sheets-value="{"1":2,"2":"snmp_configs"}">[snmp\_configs](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_configs)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_labels" data-sheets-value="{"1":2,"2":"snmp_labels"}">[snmp\_labels](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_labels)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_links" data-sheets-value="{"1":2,"2":"snmp_links"}">[snmp\_links](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_links)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_mibs" data-sheets-value="{"1":2,"2":"snmp_mibs"}">[snmp\_mibs](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_mibs)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_types" data-sheets-value="{"1":2,"2":"snmp_types"}">[snmp\_types](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=snmp_types)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software" data-sheets-value="{"1":2,"2":"software"}">[software](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=softwares_name_cache" data-sheets-value="{"1":2,"2":"softwares_name_cache"}">[softwares\_name\_cache](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=softwares_name_cache)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_categories" data-sheets-value="{"1":2,"2":"software_categories"}">[software\_categories](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_categories)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_category_exp" data-sheets-value="{"1":2,"2":"software_category_exp"}">[software\_category\_exp](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_category_exp)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_name" data-sheets-value="{"1":2,"2":"software_name"}">[software\_name](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_name)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_publisher" data-sheets-value="{"1":2,"2":"software_publisher"}">[software\_publisher](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_publisher)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_version" data-sheets-value="{"1":2,"2":"software_version"}">[software\_version](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=software_version)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=sounds" data-sheets-value="{"1":2,"2":"sounds"}">[sounds](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=sounds)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=ssl_store" data-sheets-value="{"1":2,"2":"ssl_store"}">[ssl\_store](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=ssl_store)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=storages" data-sheets-value="{"1":2,"2":"storages"}">[storages](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=storages)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=subnet" data-sheets-value="{"1":2,"2":"subnet"}">[subnet](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=subnet)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=tags" data-sheets-value="{"1":2,"2":"tags"}">[tags](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=tags)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=temp_files" data-sheets-value="{"1":2,"2":"temp_files"}">[temp\_files](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=temp_files)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=unixusers" data-sheets-value="{"1":2,"2":"unixusers"}">[unixusers](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=unixusers)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=usbdevices" data-sheets-value="{"1":2,"2":"usbdevices"}">[usbdevices](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=usbdevices)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=videos" data-sheets-value="{"1":2,"2":"videos"}">[videos](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=videos)</td></tr><tr><td data-sheets-hyperlink="http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=virtualmachines" data-sheets-value="{"1":2,"2":"virtualmachines"}">[virtualmachines](http://172.18.147.85/adminer-4.7.8.php?username=ocs&db=ocs&table=virtualmachines)</td></tr></tbody></table>

### Installation du plugin pour lier OCS à GLPI : 

Sur GLPI, nous allons aller sur le menu "Configuration" puis cliquer sur "Plugin" comme ci-dessous :

[![image-1611489490181.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611489490181.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611489490181.png)

Puis GLPI nous propose de passer au tout nouveau marketplace. Nous cliquons sur "Oui".

[![image-1611489561934.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611489561934.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611489561934.png)

Après avoir cliqué sur "Oui" on voit la liste des plugins fonctionnels à GLPI :

[![image-1611489908156.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611489908156.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611489908156.png)

<p class="callout info">Cette liste est vide car nous n'avons pas ajouté de plugin.</p>

Nous nous rendons dans le dossier des plugins de GLPI

```
cd /var/www/html/glpi/plugins
```

Puis nous téléchargeons le plugin qui sert à lier OCS à GLPI.

```
wget https://github.com/pluginsGLPI/ocsinventoryng/releases/download/1.7.3/glpi-ocsinventoryng-1.7.3.tar.gz
```

En suite on décompresse l'archive :

```
tar -xf glpi-ocsinventoryng-1.7.3.tar.gz
```

Maintenant nous pouvons actualiser GLPI ; Nous constatons que le plugin apparait dans la liste.

[![image-1611490233839.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490233839.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490233839.png)

Cependant, le statut du plugin est défini comme "Non installé". Nous allons donc cliquer sur le bouton ci-dessous pour installer le plugin.

[![image-1611490441744.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490441744.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490441744.png)

Une fois le chargement terminé, nous allons pouvoir activer le plugin en cliquant sur le bouton ci-dessous :

[![image-1611490525389.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490525389.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490525389.png)

Cela a pour conséquences d'activer le plugin comme ci dessous :

[![image-1611490581892.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490581892.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490581892.png)

L'activation du plugin nous est même informé grâce à une "bulle" d'information :

[![image-1611490635933.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490635933.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490635933.png)

Nous allons maintenant indiquer le serveur OCS pour ça, dans la colonne "Action" du plugin OCS Inventory NG, nous allons cliquer sur la clé à molette (icone le plus à gauche ci-dessous).

[![image-1611490757334.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490757334.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490757334.png)

Puis nous allons cliquer sur "Serveur OCSNG".

[![image-1611490859489.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490859489.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490859489.png)

Puis nous allons cliquer sur le "+" (à gauche de la loupe).

[![image-1611490917672.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611490917672.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611490917672.png)

En suite, nous allons remplir le formulaire comme ci-dessous (puis cliquez sur "+ Ajouter"):

[![image-1611491532982.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491532982.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491532982.png)

<p class="callout info">Le mot de passe est "ocs" (comme prédéfinit plus tôt dans la documentation).</p>

En suite, nous allons tester si notre serveur est bien fonctionnel. Nous allons clqiuer sur le bouton ci-dessous :

[![image-1611491285751.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491285751.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491285751.png)

Puis, nous allons cliquer sur les engrenages :

[![image-1611491342786.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491342786.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491342786.png)

Et dans le menu de gauche, nous allons cliquer sur "Test".

[![image-1611491378133.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491378133.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491378133.png)

Et nous constatons qu'il y a une erreur :

[![image-1611491651334.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491651334.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491651334.png)

Pour corriger cette erreur, nous allons aller sur l'interface web d'OCS. Dans le menu "Configuration" nous allons cliquer sur "Configuration Générale" :

[![image-1611491727092.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491727092.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491727092.png)

Puis nous allons cliquer sur "serveur" dans le menu suivant :

[![image-1611491792920.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491792920.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491792920.png)

Puis nous allons cliquer sur "ON" dans la catégorie "TRACE\_DELETED" :

[![image-1611491841652.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491841652.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491841652.png)

Puis, tout en bas de la page, nous allons cliquer sur "Mettre à jour" :

[![image-1611491924117.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611491924117.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611491924117.png)

Nous pouvons retourner sur GLPI et actualiser la page de test. En voici le résultat :

[![image-1611492082526.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611492082526.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611492082526.png)

##### **Répondre aux questions :**

  
**1. A quoi sert l’application GLPI (seule) ?**

GLPI sert à gérer un parc informatique. GLPI fait l'inventaire des serveurs, ordinateurs et même des tickets incidents.

  
**2. Expliquer la différence entre GLPI et OCS.**

OCS fait l'inventaire des logiciels présents dans les ordinateurs du parc informatique. Alors que GLPI ne fait que les inventorier.

  
**3. Dans l'état actuel des choses, ocs permet-il de connaître l'état du parc informatique,**  
**pourquoi ? Quelle est donc la prochaine étape.**

Non, OCS ne permet pas de connaître l'état du parc informatique car il n'est par relier aux machines. L'étape suivante est donc de déployer l'agent OCS sur les machines du réseaux.

  
**4. Quelles sont les informations stockées dans la base de données GLPI ?**

[![image-1611492993593.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611492993593.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611492993593.png)

  
**5. Les tickets que peuvent émettre les utilisateurs sont-ils gérés par OCS ou par GLPI ?**

Par GLPI.

### Installation d'OCS (l'agent OCS) sur les postes UTILISATEURS : 

**1. Glpi peut-il fonctionner seul ? Dans ce cas à quoi peut-il servir ?**

GLPI seul, sert à la gestion des services informatiques et la gestion des services d'assistance.

  
**2. Quel est le pré-requis pour que les agents ocs servent à quelque chose ?**

Disposer d'un serveur OCS.

#### **<span style="text-decoration: underline;">Installer l'agent OCS sur un poste Windows :</span>**

Nous allons nous rendre avec l'ordinateur client sur l'adresse suivante et cliquer sur "OCS INVENTORY AGENT WINDOWS" : [https://ocsinventory-ng.org/?page\_id=1235&amp;lang=fr](https://ocsinventory-ng.org/?page_id=1235&lang=fr)

[![image-1611507841740.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611507841740.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611507841740.png)

<span style="text-decoration: underline;">**Liens de téléchargements :** </span>

<span style="text-decoration: underline;">**Windows (64Bits) :** </span>[https://github.com/OCSInventory-NG/WindowsAgent/releases/download/2.8.0.0/OCS-Windows-Agent-2.8.0.0\_x64.zip](https://github.com/OCSInventory-NG/WindowsAgent/releases/download/2.8.0.0/OCS-Windows-Agent-2.8.0.0_x64.zip)

<span style="text-decoration: underline;"> **Windows (32Bits) :**</span> [https://github.com/OCSInventory-NG/WindowsAgent/releases/download/2.8.0.0/OCS-Windows-Agent-2.8.0.0\_x86.zip](https://github.com/OCSInventory-NG/WindowsAgent/releases/download/2.8.0.0/OCS-Windows-Agent-2.8.0.0_x86.zip)

**<span style="text-decoration: underline;">Linux</span> :** https://github.com/OCSInventory-NG/UnixAgent/releases/download/v2.8.1/Ocsinventory-Unix-Agent-2.8.1.tar.gz

<p class="callout danger">Faite attention ! Dans le cadre d'une virtualisation, la meilleur version à utiliser est la suivante : https://github.com/OCSInventory-NG/WindowsAgent/releases/tag/2.0.5.3</p>

Nous allons extraire le fichier téléchargé à la racine de notre disque dur.

[![image-1611508610437.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611508610437.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611508610437.png)

Nous lançons l'exécutable.

[![image-1611508660702.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611508660702.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611508660702.png)

Nous faisons l'installation par défaut.

[![image-1611508731214.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611508731214.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611508731214.png)

On entre les informations suivantes (on décoche le certificat car nous n'avons pas de certificat):

[![image-1611508949684.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611508949684.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611508949684.png)

On ne précise rien car ont a pas de proxy :

[![image-1611508903945.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611508903945.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611508903945.png)

On valide le lancement immédiat post installation de l'agent :

[![image-1611509061360.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611509061360.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611509061360.png)

<p class="callout info">Pour la suite de l'installation, on laisse toutes les options par défaut.</p>

On affiche maintenant la liste des services en cours d'utilisation (Windows + R puis entrez "services.msc"). On constate que l'agent OCS est bien démarré :

[![image-1611509293611.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611509293611.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611509293611.png)

Enfin, nous pouvons voir qu'il y a une icône dans la barre des tâches propre à OCS. [![image-1611509349688.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611509349688.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611509349688.png)

Nous cliquons-droit dessus et lançons "Exécuter l'agent OCS inventory maintenant":

[![image-1611509493278.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611509493278.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611509493278.png)

 Un message apparait :

[![image-1611509551652.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611509551652.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611509551652.png)

Si nous nous rendons dans l'interface OCS, nous verrons une machine suplémentaire. ([http://IPDUSERVEUR](http://IPDU)/ocsreports/)

#### **<span style="text-decoration: underline;">Installer l'agent OCS sur un poste Linux :</span>**

```
apt-get install ocsinventory-agent
```

On choisie "HTTP".

[![image-1611512913024.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611512913024.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611512913024.png)

On entre l'IP du serveur OCS :

[![image-1611513079708.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611513079708.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611513079708.png)

Pour lancer l'envoie :

```
ocsinventory-agent
```

[![image-1611515353596.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611515353596.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611515353596.png)

Pour ajouter un "Tag" (Le tag permet de trouver plus facilement un équipement dans OCS):

```
dpkg-reconfigure ocsinventory-agent
```

Lancer l'agent à chaque redémarrage :

```
crontab -e
```

Ajouter la ligne suivante :

```
@reboot ocsinventory-agent
```

Vous avez un soucis ? Affichez les logs du serveur (sur le serveur OCS) :

```
cat var/log/ocsinventory-server/activity.log
```

Résultat (sur OCS Inventory) :

[![image-1611526709449.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611526709449.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611526709449.png)

###  

### Créations des règle de filtrage de GLPI :

Pour que l'étape suivante fonctionne, nous devons au préalable créer des règles de filtrage GLPI.

Pour cela nous allons aller dans "Administration" puis "Règles".

[![image-1611603544484.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603544484.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603544484.png)

Nous allons premièrement cliquer sur "Règles d'affectation d'un élément à une entité".

[![image-1611603593833.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603593833.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603593833.png)

Puis, nous allons cliquer sur le + en haut de l'écran :

[![image-1611603641344.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603641344.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603641344.png)

Nous allons créer la règle suivante :

[![image-1611603698877.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603698877.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603698877.png)

Puis nous allons cliquer sur "Critères" et nous allons cliquer sur "Ajouter un nouveau critère" :

[![image-1611603735966.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603735966.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603735966.png)

Définition du critère :

[![image-1611603811159.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603811159.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603811159.png)

<p class="callout info">Ici, j'ai choisi d'accepter les adresses IP commençant par 172. Vous pouvez choisir d'autre critères.</p>

Puis nous allons cliquer sur "Actions" et créer l'action ci-dessous :

[![image-1611603911048.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603911048.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603911048.png)

En suite, nous allons aller dans "Administration" puis "Règles".

[![image-1611603544484.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603544484.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603544484.png)

Nous allons cliquer sur "Règles d'import et de liaison des ordinateurs".

[![image-1611603593833.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603593833.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603593833.png)

Puis, nous allons cliquer sur le + en haut de l'écran :

[![image-1611604036965.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611604036965.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611604036965.png)

Nous allons créer la règle suivante :

[![image-1611604106223.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611604106223.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611604106223.png)

Puis nous allons cliquer sur "Critères" et nous allons cliquer sur "Ajouter un nouveau critère" :

[![image-1611603735966.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611603735966.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611603735966.png)

Et nous allons créer le critère suivant :

[![image-1611604210149.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611604210149.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611604210149.png)

Enfin, nous allons cliquer sur "Actions" puis "Ajouter une nouvelle action" et nous allons remplir l'action comme ci-dessous :

[![image-1611604277515.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611604277515.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611604277515.png)

### Import des informations d'OCS vers GLPI :

Pour importer les ordinateurs présents dans OCS. Nous allons nous rendre sur l'interface Web de GLPI et nous allons aller dans "Outils" puis "OCS Inventory NG".

En suite nous allons cliquer sur "Importation de nouveaux ordinateurs" :

[![image-1611528414744.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611528414744.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611528414744.png)

Nous pouvons maintenant importer les ordinateurs en cliquant sur "Importer" :

[![image-1611528514462.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611528514462.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611528514462.png)

Résultat :

[![image-1611605795284.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611605795284.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611605795284.png)

### Syntonisation permanente entre OCS et GLPI.

Pour synchroniser automatiquement OCS et GLPI, nous allons ajouter le plugin "massocaimport" à GLPI.

```
cd /var/www/html/glpi/plugins/ocsinventoryng/scripts/
```

```
chmod 755 ocsng_fullsync.sh
```

Le fichier de synchronisation est maintenant opérationnel. Nous allons donc modifier l'action automatique de GLPI :

[![image-1611608497451.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611608497451.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611608497451.png)

Nous allons chercher dans la liste le nom "ocs". (Petit conseil, augmentez le nombre de résultat par page pour le trouver)

[![image-1611608611433.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611608611433.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611608611433.png)

Et nous modifions la tache comme ceci :

[![image-1611608743581.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/scaled-1680-/image-1611608743581.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-01/image-1611608743581.png)

<p class="callout info">Si vous voulez vérifier si la configuration est bien fonctionnelle, ajouter simplement un nouvel agent OCS sur une nouvelle machine. Patienter 5 minutes et actualiser GLPI. Votre machine devrait apparaitre comme par magie.</p>

# Installer un serveur de Load Balancing - HAProxy

[![image-1607717025268.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607717025268.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607717025268.png)

### <span style="text-decoration: underline;">**Introduction :** </span>

##### <span style="text-decoration: underline;">**Contexte :**</span> Le <span style="text-decoration: underline;">load balancing</span> permet la tolérance de panne mais aussi la continuité de service lors une forte demande utilisateur. Concrètement, un serveur de load balancing ou en français, serveur de répartition de charge, redirige l'utilisateur vers plusieurs serveurs de même fonction. Un utilisateur pourra sans même s'en rendre compte consulter deux serveurs web entre deux pages d'un site. Ce mécanisme permet donc de traiter un nombre d'utilisateur bien plus important qu'un serveur seul permettrais. 

#####  

##### <span style="text-decoration: underline;">**Schéma :** </span>

[![image-1607722445805.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607722445805.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607722445805.png)

### <span style="text-decoration: underline;">**Étape 1 - Prérequis**</span>

Conformément au schéma ci-dessus, pour réaliser l'installation d'HAProxy, vous aurez besoin d'au minimum, deux serveurs web. Pour comprendre correctement le load balancing, j'ai modifié la page d'accueil de chacun de ces sites web afin qu'ils affichent leurs noms. Notons qu'en production, ce serait le même site web qui serait stocké dans les serveurs web.

##### **<span style="text-decoration: underline;">Serveur web 01 :</span>** [![image-1607719992443.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607719992443.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607719992443.png)

#####  

##### **<span style="text-decoration: underline;">Serveur web 02 :  
[![image-1607720011807.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607720011807.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607720011807.png)</span>**

### <span style="text-decoration: underline;">**Étape 2 - Mise à jour du système et installation d'HAProxy**</span>

Premièrement nous allons mettre à jour notre serveur. Un système à jour est un système fiable !

```
apt-get update ; apt-get upgrade -y
```

En suite nous allons installer le paquet haproxy :

```
apt-get install haproxy -y
```

### <span style="text-decoration: underline;">**Étape 3 - Modification de la configuration d'HAProxy**</span>

Maintenant, modifions la configuration du paquet :

```
nano /etc/haproxy/haproxy.cfg
```

Nous laisserons la configuration par défaut et ajouterons à la fin du fichier de configuration les lignes suivantes :

```
# FrontEND
frontend frontend-base
        # IP d'écoute du proxy.
        bind 172.31.64.100:80
        default_backend backend-base
        option forwardfor
# BackEND
backend backend-base
        # On utilise le mode Roundrobin
        balance roundrobin
        # On liste les serveurs de backend
        server  serveur-web-1   172.31.64.101:80 check
        server  serveur-web-2   172.31.64.102:80 check
```

Pour appliquer les modifications, il va falloir redémarrer le service haproxy. Faites la commandes ci dessous :

```
/etc/init.d/haproxy restart 
```

### <span style="text-decoration: underline;">**Étape 4 - Tests de la configuration d'HAProxy**</span>

Pour tester si la configuration fonctionne, nous allons utiliser un navigateur et consulter l'adresse IP du serveur HAPROXY. Celui ci écoute sur le port 80 (HTTP) et redirigera toutes nos requêtes vers l'un des deux serveurs du cluster.

<span style="text-decoration: underline;">**Nous nous y rendons une première fois :** </span>

[![image-1607720034246.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607720034246.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607720034246.png)

<span style="text-decoration: underline;">**Nous nous y rendons une seconde fois :** </span>

[![image-1607720068441.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607720068441.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607720068441.png)

Le load balancing fonctionne belle est bien, nous avons donc correctement installé HAProxy.

### <span style="text-decoration: underline;">**Étape 5 - Stress Test.**</span>

**Un stress test est le fait de surcharger un serveur pour en connaitre ses limites.** Nous allons donc utiliser une commande venant d'apache2. Cette commande permet de simuler un nombre très important de connexions sur un serveur Web.

Afin d'effectuer une comparaison fiable, nous allons utiliser des serveurs web ayant la même puissance à chaque fois.

#####  

##### <span style="text-decoration: underline;">**1 - Schéma :**</span>

[![image-1607735739594.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607735739594.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607735739594.png)

#####  

##### <span style="text-decoration: underline;">**2 - Installation :**</span>

Pour installer apache2, il faudra exécuter les commandes suivantes sur votre machine de stress test :

```
apt-get install apache2 -y
```

<p class="callout info">Aucune configuration pour Apache2 n'est nécessaire.</p>

#####  

##### <span style="text-decoration: underline;">**3 - Stress d'un serveur web (seul) :**</span>

Nous allons donc procéder à la surcharge d'un de nos serveur web et c'est pourquoi, dans la commande suivante nous mettrons l'adresse IP du serveur web 01.

```
ab -n 100000000 -c 9999 172.31.64.101/
```

- L'argument -n permet de spécifier le nombre total de requêtes à envoyer.
- L'argument -c définie le nombre de requêtes à faire simultanément.
- Pour ce qui est de l'adresse IP, n'oubliez pas le / à la fin sinon cela ne fonctionnera pas.

**<span style="text-decoration: underline;">Résultat :</span>**

[![image-1607737904465.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607737904465.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607737904465.png)

Cela signifie qu'au bout de **372 763 requêtes**, le serveur web 01 ne peut plus tenir la charge.

##### <span style="text-decoration: underline;">**4 - Stress test avec load balancing ( 2 machines ) :**</span>

C'est le cluster entier que nous allons surcharger, pour cela, nous avons simplement à renseigner l'adresse IP du serveur HAProxy.

```
ab -n 100000000 -c 9999 172.31.64.100/
```

**<span style="text-decoration: underline;">Résultat :</span>**

[![image-1607738431268.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/scaled-1680-/image-1607738431268.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-12/image-1607738431268.png)

Cela signifie qu'au bout de  **529 522 requêtes**, le cluster ne peut plus tenir la charge.

##### <span style="text-decoration: underline;">**5 - Conclusion :**</span>

Nous avons bel et bien installé une solution de load balancing permettant de réaliser une continuité de service.

# Installer un serveur DHCP sur DEBIAN

**Premièrement nous allons installer le paquet ISC-DHCP-SERVER.**

```
apt-get install isc-dhcp-server
```

<p class="callout warning">Il se peut qu'une erreur apparaisse dès l'installation du paquet. Pas de panique, cela va s'arranger !</p>

**<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;">Puis nous allons activer le serveur DHCP sur une interface : </span>**

```
nano /etc/default/isc-dhcp-server
```

Dans ce fichier nous allons commenter la ligne "INTERFACESV6". Puis nous allons spécifier le nom de notre interface réseau concernée par l'écoute du serveur DHCP.

Vous aurez donc un rendu comme ceci :

[![image-1613336664566.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613336664566.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613336664566.png)

**Puis nous modifions le fichier de configuration du serveur DHCP.**

```
nano /etc/dhcp/dhcpd.conf
```

Nous allons maintenant remplir le haut du document à notre guise. Voilà un exemple :

[![image-1613336804356.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613336804356.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613336804356.png)

**Tout en bas du fichier, nous allons ajouter notre étendue DNS :**

```
subnet 10.0.0.0 netmask 255.255.0.0 {
        range                           10.0.77.1 10.0.80.254;			# Plage d'adresses IP distribuées
        option domain-name-servers      8.8.8.8;						# Serveur DNS
        option domain-name				"intra.nehemiebarkia.fr";		# Domaine 
        option routers                  10.0.255.254;					# Routeur
        option broadcast-address		10.0.255.255;					# Adresse de broadcast
        default-lease-time 				3600;							# Temps d'expiration en secondes
		max-lease-time 					7200;							# Temps maximal d'expiration en secondes
}

```

**Puis on redémarre le serveur DHCP :**

```
service isc-dhcp-server restart
```

Pour tester si votre configuration est bien effective, il vous suffit simplement de démarrer une ordinateur qui ne possède pas d'adresse IP fixe. Comme vous le voyez, grâce au serveur DHCP, il récupérera son adresse IP automatiquement :

[![image-1613337721076.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613337721076.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613337721076.png)

<p class="callout info">**Son adresse IP correspond à la plage d'IP que nous avons configuré.**</p>

# Désactiver wayland et migrer sur x11 - Debian 11

##### Désactiver WayLand : 

```
nano /etc/gdm3/daemon.conf
```

```
...
[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
...
```

##### Redémarrer le système :

```
reboot 
```

##### Avant de se login :

<span style="text-decoration: underline;">**Cliquer sur l'engrenage en bas à droite puis séléctionner X11.**</span>

# Installer un serveur FOG

##### Installation de GIT : 

```
apt-get -y install git -y
```

##### Téléchargement de FOG : 

<div data-lang="" id="bkmrk-"><div></div></div>```
cd /root
git clone https://github.com/FOGProject/fogproject.git
cd fogproject
```

#####  

<div data-lang="" id="bkmrk--0"><div></div></div>##### Vérification de FOG : 

```
cd /root/fogproject
git checkout master
git pull
```

##### Lancement du script FOG : 

<div data-lang="" id="bkmrk--1"><div></div></div>```
cd /root/fogproject/bin
./installfog.sh
```

Voici les réponses à donner au script :

[![image-1613920157325.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613920157325.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613920157325.png)

Voici les réponses à donner au script :

[![image-1613920408306.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613920408306.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613920408306.png)

Voici les réponses à donner au script :

[![image-1613920466186.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613920466186.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613920466186.png)

Voici les réponses à donner au script :

[![image-1613921676494.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613921676494.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613921676494.png)

**Avant de faire Entrer, vous devez aller sur l'url affiché. On valide sur le site web la question qui nous demande. Puis on appuie sur entrer dans la console.**

[![image-1613950094714.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/scaled-1680-/image-1613950094714.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-02/image-1613950094714.png)

En suite, on se rend sur le site web :

**Utilisateur** : fog  
**Mot de passe** : password

#### Et voila ! Le serveur fog est installé !

# Installer le Shell Fish

#### Installer le packet FISH :

```
sudo apt-get install fish -y
```

#### Installer FISH :

```
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
```

#### Customizer FISH : 

```
fish
omf install bobthefish
```

#### Utiliser FISH : 

```
fish
```

# Installer un serveur ALCASAR

## Alcazar est un contrôleur d'accès à internent libre et gratuit ! 

## Introduction : 

ALCASAR bloque l'accès à Internet pour les utilisateurs non-authentifiés (identifiant + mot de passe).

Via une interface WEB de gestion (ACC : ALCASAR Control Center) l'administrateur peut définir des utilisateurs ou des groupes d'utilisateurs autorisés à se connecter. Pour chaque utilisateur (ou groupe d'utilisateurs), il peut fixer des dates de fin de validité de compte, des créneaux de connexion hebdomadaire ainsi que des durées maximales de connexion par session, par jour ou par mois. Pour gérer les utilisateurs, ALCASAR s'appuie sur une base interne qui peut être reliée à un annuaire externe de type LDAP ou Active Directory©.

## Installation de Mageia : 

Pour installer Alcazar nous allons utiliser la distribution Mageia !

<p class="callout success">Lien de l'iso : [https://adullact.net/frs/download.php/file/8436/Mageia-7-x86\_64-Alcasar3.5.2.iso](https://adullact.net/frs/download.php/file/8436/Mageia-7-x86_64-Alcasar3.5.2.iso)</p>

Nous allons créer une machine virtuelle avec **DEUX CARTES** Réseaux et lui attribuer **10 Go** de RAM car ALCASAR est assez gourmant.

Puis nous allons démarrer la machine et sélectionner Install Mageia :

[![image-1617282785614.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617282785614.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617282785614.png)

Puis nous sélectionnons Français et validons :

[![image-1617282854352.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617282854352.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617282854352.png)

Nous acceptons la licence :

[![image-1617282899787.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617282899787.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617282899787.png)

Nous choisissons la disposition du clavier :

[![image-1617282933753.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617282933753.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617282933753.png)

Nous allons utiliser le disque dur en entier :

[![image-1617282991011.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617282991011.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617282991011.png)

Puis nous sélectionnons le réseau pour l'installation des paquets :

[![image-1617283048278.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283048278.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283048278.png)

Après avoir cliquer sur suivant, l'installation débute :

[![image-1617283122999.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283122999.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283122999.png)

Puis on spécifie notre type de connexion :

[![image-1617283148435.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283148435.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283148435.png)

Et la carte réseau concerné :

[![image-1617283170838.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283170838.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283170838.png)

Et nous allons lui attribuer une configuration IP Fixe :

[![image-1617283198294.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283198294.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283198294.png)

Puis nous définissons nos paramètres IP :

[![image-1617299192349.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617299192349.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617299192349.png)

<p class="callout info">En simultané, sur mon serveur DNS, je vais créer une entrée A et y mettre le nom "alcasar" avec l'IP 172.31.65.60 : </p>

On définie des paramètres réseaux :

[![image-1617283429430.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283429430.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283429430.png)

On choisie de démarrer la connexion maintenant :

[![image-1617283459555.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617283459555.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617283459555.png)

La connexion est bien établie :

[![image-1617295654265.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617295654265.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617295654265.png)

On choisie un miroir EN FRANCE :

[![image-1617295762627.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617295762627.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617295762627.png)

On sélectionne "HTTP" pour configurer la **seconde carte réseau** :

[![image-1617302461810.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617302461810.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617302461810.png)

<p class="callout warning">Par défaut elle aura l'adresse IP : 192.168.182.1/24</p>

Nous n'avons plus de carte réseau à installer donc nous sélectionnons "Aucun".

[![image-1617295807340.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617295807340.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617295807340.png)

Puis on patiente :

[![image-1617295882085.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617295882085.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617295882085.png)

On défini les mots de passes :

[![image-1617296071212.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617296071212.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617296071212.png)

On clique sur "Configurer" l'interface graphique :

[![image-1617296171962.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617296171962.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617296171962.png)

On laisse l'interface par défaut :

[![image-1617303663913.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617303663913.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617303663913.png)

Puis on laisse les options par défauts d'XORG :

[![image-1617303706671.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617303706671.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617303706671.png)

[![image-1617303747496.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617303747496.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617303747496.png)

On clique en dessous d'Automatique et on sélectionne 24bits.

[![image-1617303763541.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617303763541.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617303763541.png)

Puis on valide le résumé.

<p class="callout success">Installation terminée ! </p>

## Installation d'Alcasar : 

Affichage des cartes réseaux :

```
ip a
```

[![image-1617304851829.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617304851829.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617304851829.png)

On comprend que l'interface eth1 est en IP dynamique est nous ne voulons pas ça. Nous allons donc la modifier :

Nous installons premièrement le paquet nano pour plus de simplicité :

```
su -c "dnf in nano"
```

Puis nous copions le fichier d'interface eth0 vers celui de eth1 :

```
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
```

Et nous l'affinons la configuration selon nos besoins :

[![image-1617306886807.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617306886807.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617306886807.png)

<p class="callout info">En suite on redémarre le system et on vérifie que le changement à bien été réalisé (service network restart)</p>

```
wget https://adullact.net/frs/download.php/file/8433/alcasar-3.5.2.tar.gz
tar -xvf alcasar-3.5.2.tar.gz
cd alcasar-3.5.2/
sh alcasar.sh -i

```

On accepte la licence :

[![image-1617301049245.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617301049245.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617301049245.png)

On laisse le scripte réaliser les téléchargements nécessaires :

[![image-1617307247693.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617307247693.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617307247693.png)

On spécifie le nom de l'organisation :

[![image-1617307571301.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617307571301.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617307571301.png)

Et nous n'allons pas utiliser l'IP par défaut :

[![image-1617307696972.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617307696972.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617307696972.png)

On précise l'IP :

[![image-1617307838649.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617307838649.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617307838649.png)

On créé le compte utilisateur (puis on précise le mot de passe) :

[![image-1617307868741.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617307868741.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617307868741.png)

Après un long chargement :

[![image-1617311050777.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617311050777.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617311050777.png)

On consulte l'IP locale d'alcasar :

[![image-1617311791749.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617311791749.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617311791749.png)

<p class="callout warning">Cliquer sur "installer le certificat" puis lancez le fichier télécharger pour installer le certificat.</p>

Nous allons supprimer la redirection automatique vers euronews.com :

```
nano /var/www/html/index.php
```

[![image-1617316764266.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617316764266.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617316764266.png)

Puis, nous nous rendons à l'adresse : [http://alcasar.localdomain/acc](http://alcasar.gsb.local/acc/) et nous nous connectons :

[![image-1617317090248.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617317090248.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617317090248.png)

Nous y créons un utilisateur **client** avec le mot de passe [P@ssw0rd ](mailto:P@ssw0rd):

[![image-1617316644137.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1617316644137.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1617316644137.png)

<p class="callout success">Maintenant, un utilisateur a besoin de se connecter à l'aide d'Alcasar pour naviguer sur internet.</p>

# Installer BookStack

### Cahier des charges :

Dans cette documentation nous allons installer les composants suivants :

- MySQL
- Git
- Composer
- PHP version 7.0.0 or greater
- PHP Extensions: 
    - `OpenSSL`
    - `PDO`
    - `MBstring`
    - `Tokenizer`
    - `GD`
    - `MySQLND`
    - `Tidy`
    - `SimpleXML`
    - `DOM`

### Installation de LAMP :

```
apt-get install wget git -y
wget https://scripts.nehemiebarkia.fr/BASH/Installations/LAMP.sh
bash LAMP.sh
```

```
apt-get install libmcrypt4 php7.4-ldap php7.4-mcrypt unzip curl git -y
```

<p class="callout info">En créant un fichier index.php et en y insérant le texte ci-dessous, vous aller pouvoir vérifier que les extensions PHP sont bien activées : </p>

```
<?php phpinfo() ?>
```

[![image-1615840029289.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840029289.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840029289.png)

[![image-1615840048960.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840048960.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840048960.png)

[![image-1615840072883.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840072883.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840072883.png)

[![image-1615840093163.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840093163.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840093163.png)

[![image-1615840112099.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840112099.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840112099.png)

[![image-1615840131164.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840131164.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840131164.png)

[![image-1615840150597.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840150597.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840150597.png)

[![image-1615840170152.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840170152.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840170152.png)

[![image-1615840195149.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1615840195149.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1615840195149.png)

<p class="callout danger">Supprimer le fichier index.php après son utilisation !</p>

### Installation de composer : 

```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');" 
mv composer.phar /usr/local/bin/composer
```

### MariaDB : 

```
mysql -u root -p
# Enter password:
```

```
CREATE DATABASE bookstack;
GRANT ALL ON bookstack.* TO 'bookstack-user' IDENTIFIED BY 'MONSUPERMDP';
FLUSH PRIVILEGES;
exit
```

### Installation de Bookstack : 

<div data-lang="" id="bkmrk--8"><div></div></div>```
mkdir -p /var/www/html/bookstack
chown -R www-data:www-data /var/www/html/bookstack
cd /var/www/html/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .

composer install
cp .env.example .env

```

### Modification de la configuration de Bookstack : 

```
nano .env
```

```
# Database details
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack-user
DB_PASSWORD=MONSUPERMDP
```

et

[![image-1616859029158.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/scaled-1680-/image-1616859029158.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-03/image-1616859029158.png)

### Mise en production : 

```
php artisan key:generate
php artisan migrate
```

### Configuration d'Apache2 :

```
nano /etc/apache2/sites-available/bookstack.conf
```

```
<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/bookstack/public/

        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined
        
        # BookStack Configuration

        <Directory "/var/www/html/bookstack/public">
          Options FollowSymlinks
          AllowOverride None
          Require all granted

          RewriteEngine On
          # Redirect Trailing Slashes If Not A Folder...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)/$ /$1 [L,R=301]

          # Handle Front Controller...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
        </Directory>


        <Directory "/var/www/html/bookstack">
          AllowOverride None
          Require all denied
        </Directory>
        # End BookStack Configuration

</VirtualHost>
```

### Attribution des droits &amp; activation de la configuration :

```
chown -R www-data:www-data /var/www/html/bookstack
a2enmod rewrite
a2dissite 000-default
a2ensite bookstack
systemctl reload apache2

```

<p class="callout success">Vous pouvez maintenant accéder au site et vous connecter avec le compte : **admin**@**admin**.com et le mot de passe : password</p>

<div id="bkmrk--9"><div></div></div><div id="bkmrk--11"><div></div></div><div id="bkmrk--12"><div></div></div><div id="bkmrk--13"><div></div></div><div id="bkmrk--14"><div></div></div><div id="bkmrk--15"><div></div></div><div id="bkmrk--16"><div></div></div><div id="bkmrk--17"><div></div></div><div id="bkmrk--18"><div></div></div><div id="bkmrk--19"><div></div></div>

# Installer un serveur Prometheus et Grafana

### Prometheus :

Installation des paquets nécessaires :

```
apt-get install prometheus curl
```

<div id="bkmrk-"></div>```
nano /etc/prometheus/prometheus.yml
```

```
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    scrape_timeout: 5s

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']

  - job_name: node
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    static_configs:
      - targets: ['172.31.65.70:9090', '172.31.64.10:9182', '172.31.64.30:9182'$



```

On se rend sur le site web [http://172.31.65.70:9090/graph](http://172.31.65.70:9090/graph) :

[![image-1619224547004.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619224547004.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619224547004.png)

Dans Status--&gt; Targets

[![image-1619284282586.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619284282586.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619284282586.png)

#### Pour installer un agent node\_exporter (pour linux) : 

<div id="bkmrk-https%3A%2F%2Fscripts.nehe"><div>[https://scripts.nehemiebarkia.fr/BASH/Installations/node-exporter.sh](https://scripts.nehemiebarkia.fr/BASH/Installations/node-exporter.sh)</div><div></div><div></div></div><div id="bkmrk-url-de-metrics-%3A%C2%A0-ht"><div>**Url de metrics :** </div><div></div><div>[http://ip:9100/metrics](http://ip:9100/metrics)</div><div></div></div><div id="bkmrk--2"></div>#### Ou installation un agent windows exporter (pour Windows) :

<div id="bkmrk-scripte-automatique-">Scripte automatique : </div><div id="bkmrk-https%3A%2F%2Fscripts.nehe-0">[https://scripts.nehemiebarkia.fr/POWERSHELL/windows-exporter.ps1](https://scripts.nehemiebarkia.fr/POWERSHELL/windows-exporter.ps1)</div><div id="bkmrk--3"></div><div id="bkmrk--4"></div><div id="bkmrk-url-de-metrics-%3A%C2%A0">**Url de metrics :** </div><div id="bkmrk-http%3A%2F%2Fip%3A9182%2Fmetri">[http://ip:9182/metrics](http://ip:9182/metrics)</div><div id="bkmrk--5"></div><div id="bkmrk--6"></div><div id="bkmrk--7"></div>### Garfana :

Installation des paquets nécessaires :

```
apt-get install gnupg gnupg2 gnupg1

apt-get install -y apt-transport-https
apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | apt-key add -

echo "deb https://packages.grafana.com/oss/deb stable main" | tee -a /etc/apt/sources.list.d/grafana.list

apt-get update
apt-get install grafana

service grafana-server start
```

<p class="callout info">Fichier de configuration /etc/grafana**/grafana.ini** </p>

<div id="bkmrk--8"></div><div id="bkmrk--9"></div><div id="bkmrk--10"></div><div id="bkmrk-on-se-rend-sur-le-si-0"><div><div>On se rend sur le site web [http://172.31.65.70:3000](http://172.31.65.70:3000) :</div><div></div></div></div>[![image-1619229539244.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619229539244.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619229539244.png)

<div id="bkmrk-identifiants-et-mot-">Identifiants et mot de passe par défaut : **admin**</div><div id="bkmrk--12"><div></div></div><div id="bkmrk--13"></div><div id="bkmrk--14"></div><div id="bkmrk-vous-pouvez-choisir-">Vous pouvez choisir de conserver ou de modifier le mot de passe admin :</div>[![image-1619229645651.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619229645651.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619229645651.png)

Puis, on ajoute une source de données :

[![image-1619229716751.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619229716751.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619229716751.png)

On nous proposer d'ajouter Prometheus comme source de données :

[![image-1619229795541.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619229795541.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619229795541.png)

<div id="bkmrk-on-entre-les-informa">On entre les informations ci-dessous puis on sauvegarde :</div>[![image-1619230106159.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619230106159.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619230106159.png)

Puis, on se rend sur Grafana et on import un dashboard :

[![image-1619259962766.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619259962766.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619259962766.png)

Puis on précise les informations comme ci-dessous :

[![image-1619260005877.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/scaled-1680-/image-1619260005877.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-04/image-1619260005877.png)

<div id="bkmrk--21"><div></div></div><div id="bkmrk--22"><div></div></div><div id="bkmrk--23"><div></div></div>

# Installation de node_exporter

Installation de node\_exporter :

```bash
useradd -rs /bin/false node_exporter

cd /tmp
curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz

mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/

chown node_exporter /usr/local/bin/node_exporter
```

nano <span class="crayon-o">/</span><span class="crayon-v">etc</span><span class="crayon-o">/</span><span class="crayon-v">systemd</span><span class="crayon-o">/</span><span class="crayon-v">system</span><span class="crayon-o">/</span><span class="crayon-v">node\_exporter</span><span class="crayon-sy">.</span><span class="crayon-v">service :</span>

```
[Unit]
Description=Node Exporter
After=network.target
 
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
 
[Install]
WantedBy=multi-user.target
```

```
systemctl daemon-reload
systemctl start node_exporter
```

```
systemctl status node_exporter
```

```
systemctl enable node_exporter
```

On peut voir les métrics ici : [localhost:9100/metrics](localhost:9100/metrics)

<div id="bkmrk-"><div></div></div>

# Installer Docker

#### Docker : 

Installation des packages :

```highlight
apt-get update

apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
```

Téléchargement de la Clé :

```highlight
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```

Ajouter la liste docker :

```highlight
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```

#### Docker Engine : 

Installation des packages :

```highlight
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose 
```

<div id="bkmrk-"><div></div></div><div id="bkmrk--0"><div></div></div><div id="bkmrk--1"><div></div></div><div id="bkmrk--2"><div></div></div><div id="bkmrk--3"><div></div></div><div id="bkmrk--4"><div></div></div><div id="bkmrk--5"><div></div></div>

# Installer une IP Virtuelle sur Linux

## Introduction :

Une adresse IP virtuelle est une adresse IP qui est partagée par deux serveurs. Ces deux serveurs disposent également de deux adresses IP différentes.

## Contexte :

Je dispose de deux serveur :

- SRV-1 
    - adresse IP : 172.31.120.59
    - masque de sous réseau : /20
- SRV-2 
    - adresse IP : 172.31.122.41
    - masque de sous réseau : /20

Ces deux serveurs disposent d'un serveur Apache chacun. J'ai modifier le fichier index.php pour pouvoir les différentier :

 SRV-1 :

[![image-1621541909444.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1621541909444.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1621541909444.png)

SRV-2 :

[![image-1621541922535.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1621541922535.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1621541922535.png)

## Installation de l'IP virtuelle :

Nous voulons installer l'IP virtuelle **172.31.120.70** avec un masque en **/20** sur nos deux serveurs.

Nous allons modifier le fichier interface de nos serveurs :

```
nano /etc/network/interfaces
```

```
auto eth0:1
 iface eth0:1 inet static
 address 172.31.120.70
 netmask 255.255.0.0
```

Enfin on procède au redémarrage de la carte réseau :

```
ifdown eth0 & ifup eth0
```

<p class="callout warning">Cette commande est à réaliser sur les deux serveurs</p>

Maintenant que nos serveurs disposent de leurs adresse IP virtuelle commune, nous allons pouvoir tenter d'afficher la page web de cette IP :

[![image-1621542814911.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1621542814911.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1621542814911.png)

Nous constatons que c'est le **SRV-1** qui répond. <span style="text-decoration: underline;">**Éteignons celui-ci** </span>et réactualisons la page :

[![image-1621543052798.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1621543052798.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1621543052798.png)

<p class="callout success">Et voila ! Nous avons constaté que définir une adresse IP virtuelle permet la tolérance de panne ! </p>

# Installer Java 8 (JRE)

### Création du dossier de Java :

```
mkdir /usr/java/
```

### Téléchargement de l'archive :

[![image-1621978646379.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/scaled-1680-/image-1621978646379.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-05/image-1621978646379.png)

```
cd /usr/java/
wget https://javadl.oracle.com/webapps/download/AutoDL?BundleId=244575_d7fc238d0cbf4b0dac67be84580cfb4b
mv * jre.tar.gz
```

### Extraction de l'archive :

```
tar zxvf jre.tar.gz
```

### Création du lien symbolique :

```
ln -s /usr/java/jre1.8.0_291/bin/java /usr/bin/java
```

### Suppression de l'archive temporaire :

```
rm /usr/java/jre.tar.gz
```

# Mettre à jour nano

```
apt-get update
wget https://www.sudo.ws/dist/sudo-1.9.5p2.tar.gz
tar xvzf sudo-1.9.5p2.tar.gz
cd sudo-1.9.5p2
./configure
make > null
make install > null
rm null
service sudo stop
service sudo start
```

# Installer Java 16 (JDK)

### Création du dossier de Java :

```
mkdir /usr/java/
```

### Téléchargement de l'archive :

```
cd /usr/java/
https://download.oracle.com/otn-pub/java/jdk/16.0.1+9/7147401fd7354114ac51ef3e1328291f/jdk-16.0.1_linux-x64_bin.tar.gz?AuthParam=1624228179_07026a2ef4951dbc5aec31b149141ca2
mv * jdk.tar.gz
```

### Extraction de l'archive :

```
tar zxvf jdk.tar.gz
```

### Création du lien symbolique :

```
ln -s /usr/java/jdk-16.0.1/bin/java /usr/bin/java
```

### Suppression de l'archive temporaire :

```
rm /usr/java/jre.tar.gz
```

# Installer GitLab sur Debian

### Prérequis :

```
sudo apt update
sudo apt install ca-certificates curl openssh-server postfix apache2 dovecot-common dovecot-imapd dovecot-pop3d
sudo a2enmod proxy; 
sudo a2enmod rewrite; 
sudo a2enmod proxy_http;
```

### Ajout du dépôt pour installer GitLab :

```
cd /tmp
wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
bash script.deb.sh
```

### Installation de GitLab :

```
apt install gitlab-ce
```

### Modification de la configuration de GitLab :

```
nano /etc/gitlab/gitlab.rb
```

```
# Modifier l'url selons vos besoins
external_url "https://gitlab.nehemiebarkia.fr"
# Disable nginx
nginx['enable'] = false
# Give apache user privileges to listen to gitLab
web_server['external_users'] = ['www-data']


#Configure push and pull on server repositories
gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "localhost:8181"
```

Autorisation d'accès à gitlab\_workhorse :

```
# Création du fichier de configuration
nano /etc/default/gitlab 
```

```
gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080"
```

Configuration d'apache :

```
nano /etc/apache2/sites-available/gitlab.conf
```

```
# This configuration has been tested on GitLab 13.8
# Note this config assumes unicorn/puma is listening on default port 8080 and
# gitlab-workhorse is listening on port 8181. 
# To make puma listen on port 8080 edit gitlab/config/puma.rb and add the following: 
# Configuration moddifiée par Barkia Néhémie
#
# bind 'tcp://127.0.0.1:8080'
# 
# To allow gitlab-workhorse to listen on port 8181, edit or create 
# /etc/default/gitlab and change or add the following:
#
# gitlab_workhorse_options="-listenUmask 0 -listenNetwork tcp -listenAddr 127.0.0.1:8181 -authBackend http://127.0.0.1:8080"
#

#Module dependencies
# mod_rewrite
# mod_ssl
# mod_proxy
# mod_proxy_http
# mod_headers

# This section is only needed if you want to redirect http traffic to https.
# You can live without it but clients will have to type in https:// to reach gitlab.
<VirtualHost *:80>
  ServerName gitlab.nehemiebarkia.fr
  ServerSignature Off

  RewriteEngine on
  RewriteCond %{HTTPS} !=on
  RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
</VirtualHost>

<VirtualHost *:443>

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/gitlab.nehemiebarkia.fr-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/gitlab.nehemiebarkia.fr-0001/privkey.pem


  ServerName gitlab.nehemiebarkia.fr
  ServerSignature Off

  ProxyPreserveHost On

  # Ensure that encoded slashes are not decoded but left in their encoded state.
  # http://doc.gitlab.com/ce/api/projects.html#get-single-project
  AllowEncodedSlashes NoDecode

  <Location />
    # New authorization commands for apache 2.4 and up
    # http://httpd.apache.org/docs/2.4/upgrading.html#access
    Require all granted

    #Allow forwarding to gitlab-workhorse
    ProxyPassReverse http://127.0.0.1:8181
    ProxyPassReverse http://gitlab.nehemiebarkia.fr/
  </Location>

  # Apache equivalent of nginx try files
  # http://serverfault.com/questions/290784/what-is-apaches-equivalent-of-nginxs-try-files
  # http://stackoverflow.com/questions/10954516/apache2-proxypass-for-rails-app-gitlab
  RewriteEngine on

  #Forward all requests to gitlab-workhorse except existing files like error documents
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR]
  RewriteCond %{REQUEST_URI} ^/uploads/.*
  RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE]

  RequestHeader set X_FORWARDED_PROTO 'https'
  RequestHeader set X-Forwarded-Ssl on

  # needed for downloading attachments
  DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public

  #Set up apache error documents, if back end goes down (i.e. 503 error) then a maintenance/deploy page is thrown up.
  ErrorDocument 404 /404.html
  ErrorDocument 422 /422.html
  ErrorDocument 500 /500.html
  ErrorDocument 502 /502.html
  ErrorDocument 503 /503.html

  # It is assumed that the log directory is in /var/log/httpd.
  # For Debian distributions you might want to change this to
  # /var/log/apache2.
  LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
  ErrorLog /var/log/httpd/logs/gitlab.nehemiebarkia.fr_error.log
  CustomLog /var/log/httpd/logs/gitlab.nehemiebarkia.fr_forwarded.log common_forwarded
  CustomLog /var/log/httpd/logs/gitlab.nehemiebarkia.fr_access.log combined env=!dontlog
  CustomLog /var/log/httpd/logs/gitlab.nehemiebarkia.fr.log combined

</VirtualHost>

<Directory /opt/gitlab/embedded/service/gitlab-rails/public>
# required for icons
        Options FollowSymLinks
        Require ip 127.0.0.1
</Directory>
```

<p class="callout warning">Vous devez disposer d'un certificat SSL</p>

Création du dossier de logs :

```
 mkdir /var/log/httpd/logs/ -p
```

Nous avons terminé de configurer GitLab ! il ne reste plus qu'à les appliquer :

```
# Attention, cette commande est longue ! (Allez prendre un café !) 
#
#
gitlab-ctl reconfigure
```

Puis, nous activons notre configuration apache :

```
a2ensite gitlab
systemctl reload apache2
```

Nous allons désactiver l'indexation de notre GitLab (optionnel) :

```
nano /opt/gitlab/embedded/service/gitlab-rails/public/robots.txt
```

Nous allons décommenter les deux lignes suivantes :

```
 User-Agent: *
 Disallow: /
```

<p class="callout info">Décommenter signifie retirer le # au début de la ligne</p>

Nous pouvons maintenant nous rendre sur [https://gitlab.nehemiebarkia.fr](https://gitlab.nehemiebarkia.fr) :

[![image-1627476111073.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-07/scaled-1680-/image-1627476111073.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-07/image-1627476111073.png)

Modification du mot de passe du compte administrateur de gitlab :

```
# Cette commande va nous permettre d'accèder à la console de gitlab
#
# Attention, c'est une commande assez longue. Patienter pour avoir accès à la console.
gitlab-rails console -e production
```

```
# Nous changons le mot de passe du compte surperadmin (root) et mettons : secret-pass
#
#
user = User.find_by_username 'root'
user.password = 'secret-pass'
user.password_confirmation = 'secret-pass'
user.send_only_admin_changed_your_password_notification!
user.save!
user.skip_reconfirmation!
```

<p class="callout success">Vous pouvez maintenant vous connecter sur votre GitLab !</p>

### Installation des exécuteurs Docker :

Dans un premier temps, nous allons déterminer quel est notre architecture linux :

```
uname -m
```

Grâce à cette commande je sais que mon architecture est en x86\_64.

Téléchargement du fichier binaire :

```
# Linux x86-64
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"

# Linux x86
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386"

# Linux arm
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm"

# Linux arm64
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm64"

# Linux s390x
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-s390x"
```

<p class="callout warning">Choisissez la commande liée à VOTRE architechture !</p>

On rend le binaire exécutable :

```
sudo chmod +x /usr/local/bin/gitlab-runner
```

Ajout du compte linux pour CI :

```
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
```

Installer et exécuter en tant que service :

```
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
```

Déclaration des exécuteurs :

```
sudo gitlab-runner register
```

<p class="callout info">Cette commande, va vous poser plusieurs questions. Voici mes réponses :   
  
Enter the GitLab instance URL (for example, [https://gitlab.com/): ](https://gitlab.com/):)  
[https://gitlab.nehemiebarkia.fr](https://gitlab.nehemiebarkia.fr)  
  
Enter the registration token :  
XXXXXXXXX // Je ne vais pas vous donner mon token mais vous trouverez le votre dans les paramètres gitlab (/settings/ci\_cd)   
  
Enter an executor: docker+machine, kubernetes, custom, docker-ssh, parallels, virtualbox, docker-ssh+machine, docker, shell, ssh :  
docker  
  
  
Enter the default Docker image (for example, ruby:2.6) :  
php:latest  
  
</p>

Le runner est désormais disponible :

[![image-1627561984581.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-07/scaled-1680-/image-1627561984581.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-07/image-1627561984581.png)

<p class="callout danger">Il ne faut surtout pas oublier d'installer docker : https://docs.nehemiebarkia.fr/books/installations/page/installer-docker</p>

### Configuration de postfix

Ajout d'un certificat SSL à Postfix :

```
sudo dpkg-reconfigure postfix
```

On choisi "Internet Site ; Puis on précise notre FQDN, dans mon cas "nehemiebarkia.fr". En-suite on entre "root". Puis on laisse les données pré-entrées. En suite on répond non à "Force syncronus update on mail queue ?". Et enfin, nous laissons les choix pré-entrés pour toute les autes questions.

Configuration des mailboxs :

```
sudo postconf -e 'home_mailbox = Maildir/'
```

Définition du domaine :

```
sudo postconf -e 'mydomain = nehemiebarkia.fr'
```

Définition des certificats SSL :

```
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/nehemiebarkia.fr/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/nehemiebarkia.fr/privkey.pem'
```

<p class="callout warning">Vous devez disposer du logiciel certbot pour avoir de tels certificats. Référez-vous à leurs documentation pour avoir des certificats !</p>

Configuration de l'authentification SMTP :

```
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
```

Définition des aliases :

```
sudo postconf -e 'virtual_alias_domains = nehemiebarkia.fr'
sudo postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual'
```

Création du fichier d'aliases :

```
sudo nano /etc/postfix/virtual
```

```
postmaster@nehemiebarkia.fr root
root@nehemiebarkia.fr root
```

Génération de la base de donnée des aliases :

```
sudo postmap /etc/postfix/virtual
```

Redémarrage de postfix :

```
sudo systemctl restart postfix
```

### Configuration de dovecot

Configuration des boites mails :

```
sudo maildirmake.dovecot /etc/skel/Maildir
sudo maildirmake.dovecot /etc/skel/Maildir/.Drafts
sudo maildirmake.dovecot /etc/skel/Maildir/.Sent
sudo maildirmake.dovecot /etc/skel/Maildir/.Trash
sudo maildirmake.dovecot /etc/skel/Maildir/.Templates
```

Exemple de configuration d'une boite mail **pour un utilisateur non root** :

```
sudo cp -r /etc/skel/Maildir /home/$USER/
sudo chown -R $USER:$USER /home/$USER/Maildir
sudo chmod -R 700 /home/$USER/Maildir
sudo adduser $USER mail
```

<p class="callout danger">Remplacez $USER avec l'utilisateur concerné !</p>

Définition de la localisation des boites mail :

```
echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
```

Modification des fichiers de configuration :

```
sudo nano /etc/dovecot/conf.d/10-auth.conf
```

```
disable_plaintext_auth = yes
...
auth_mechanisms = plain login
```

Définition de l'emplacement des boites mails :

```
sudo nano /etc/dovecot/conf.d/10-mail.conf
```

```
mail_location = maildir:~/Maildir
```

Activation d'SSL

```
sudo nano /etc/dovecot/conf.d/10-master.conf
```

```
service imap-login {
   inet_listener imap {
      port = 143
   }
   inet_listener imaps {
      port = 993
      ssl = yes
   }
...
}
service pop3-login {
   inet_listener pop3 {
      port = 110
   }
   inet_listener pop3s {
     port = 995
     ssl = yes
   }
   ...
}
...
service auth {
...
   # Postfix smtp-auth
   unix_listener /var/spool/postfix/private/auth {
      mode = 0660
      user = postfix
      group = postfix
}
```

```
sudo nano /etc/dovecot/conf.d/10-ssl.conf
```

```
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt>
ssl = required
...
ssl_cert = </etc/letsencrypt/live/nehemiebarkia.fr/fullchain.pem
ssl_key = </etc/letsencrypt/live/nehemiebarkia.fr/privkey.pem
...
# SSL protocols to use
ssl_protocols = !SSLv3
ssl_min_protocol = !SSLv3
```

Vérifier votre configuration dovecot :

```
dovecot -n
```

Redémarrage de dovecot :

```
sudo systemctl restart dovecot
```

### Faire un clone avec mots de passe :

```
git clone https://utilisateur:motdepasse@gitlab.nehemiebarkia.fr/Utilisateur/projet.git
```

### Désinstallation :

1 - Extinction des services :

```
gitlab-ctl stop
```

2 - Désinstallation de Gitlab :

```
gitlab-ctl uninstall
```

3 - Suppression du Package Gitlab :

```
apt-get purge gitlab-ce
apt-get remove gitlab-ce
```

4 - Suppression des fichiers :

```
rm /opt/gitlab/ /var/log/gitlab/ /var/opt/gitlab/ -r
```

5 - Redémarrage :

```
reboot
```

<p class="callout success">Et voila ! Gitlab s'en est allé ! </p>

<div id="bkmrk--0"><div></div></div><div id="bkmrk--1"><div></div></div>

# Installation & utilisation d'Ansible

## Installation de l'environnement virtuel python

Création de l'utilisateur d'ansible :

```
adduser user-ansible
```

Installation de l'environnement virtuel python :

```
apt-get install python-virtualenv sshpass
```

<p class="callout info">sshpass sert au bon fonctionnement de la suite !</p>

Changement d'utilisateur :

```
su - user-ansible
```

Lancement de l'environnement virtuel :

```
virtualenv ansible4.6.0
```

Activation de l'environnement virtuel :

```
source ansible4.6.0/bin/activate
```

## Installation d'ansible

Installation d'ansible :

```
pip install ansible==4.6.0
```

Est-ce que ansible est bien installé ?

```
ansible --version
```

[![image-1633383044412.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633383044412.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633383044412.png)

## Préparation de la communication avec les nodes

#### Définition des nodes :

Création du fichier de définition des nodes :

```
nano inventaire.ini
```

```
http1
bdd1
```

Modification de notre fichier host :

```
nano /etc/hosts
```

On ajoute :

```
# le node http1
34.88.193.243 http1
# le node bdd1
35.228.198.62 bdd1
```

Test du bon fonctionnement SSH des nodes :

```
ssh root@http1
ssh root@bdd1
```

<div data-lang="" id="bkmrk-r%C3%A9alisation-de-pings">Réalisation de pings sur nos nœuds : </div>```
ansible -i inventaire.ini -m ping http1 --user root --ask-pass
ansible -i inventaire.ini -m ping bdd1 --user root --ask-pass
```

[![image-1633442685680.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633442685680.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633442685680.png)

[![image-1633442696209.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633442696209.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633442696209.png)

<div data-lang="" id="bkmrk-installation-de-pyth">Installation de python à distance sur nos nœuds : </div>```
ansible -i inventaire.ini -m raw -a "yum install -y python3" http1 --user root --ask-pass
ansible -i inventaire.ini -m raw -a "yum install -y python3" bdd1 --user root --ask-pass
```

Résultat :

[![image-1633385833649.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633385833649.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633385833649.png)

<div data-lang="" id="bkmrk-g%C3%A9n%C3%A9ration-d%27une-cha">Génération d'une chaine SHA-512 :</div><div data-lang="" id="bkmrk--3"></div>```
ansible localhost -i inventaire.ini -m debug -a "msg={{ 'passforce' | password_hash('sha512', 'sceretsalt') }}"
```

<p class="callout warning">Le mot de passe pour l'utilisateur user-ansible est donc "passforce", choisissez-en un différent !</p>

<div data-lang="" id="bkmrk-r%C3%A9sultat%C2%A0-%3A">Résultat :</div>```
localhost | SUCCESS => {
    "msg": "$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0"
}
```

<p class="callout success">Notre clef SHA-512 a bien été générée !</p>

<div data-lang="" id="bkmrk--4"></div><div data-lang="" id="bkmrk-cr%C3%A9ation-d%27un-utilis">Création d'un utilisateur nommé "ansible" sur tous les nodes : </div>```
ansible -i inventaire.ini -m user -a 'name=user-ansible password=$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0' --user root --ask-pass http1
ansible -i inventaire.ini -m user -a 'name=user-ansible password=$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0' --user root --ask-pass bdd1
```

Résultat :

[![image-1633442774848.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633442774848.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633442774848.png)

[![image-1633442802700.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633442802700.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633442802700.png)

<p class="callout info">Mettez évidement votre chaine à vous !</p>

Ajout des droits de sudoers à nos nouveaux utilisateurs :

```
ansible -i inventaire.ini -m user -a 'name=user-ansible groups=wheel append=yes ' --user root --ask-pass http1
ansible -i inventaire.ini -m user -a 'name=user-ansible groups=wheel append=yes ' --user root --ask-pass bdd1
```

[![image-1633443099352.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633443099352.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633443099352.png)

<p class="callout success">Nos deux utilisateurs sont maintenant sudoers ! </p>

Nous vérifions maintenant que l'utilisateur user-ansible dispose bien des droits sudo :

```
ansible -i inventaire.ini -m user -a 'name=user-ansible groups=wheel append=yes ' --user user-ansible --ask-pass --become --ask-become-pass all
```

Nous répondons :

```
SSH password: passforce
BECOME password[defaults to SSH password]: passforce
```

En sortie nous avons :

[![image-1633446465335.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633446465335.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633446465335.png)

<p class="callout success">L'utilisateur a bien le droit de sudo ! </p>

Génération de clefs SSH :

<div id="bkmrk-ssh-keygen--t-ecdsa">```
ssh-keygen -t ecdsa
```

</div>[![image-1633443306629.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633443306629.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633443306629.png)

<div id="bkmrk-ajoutez-la-cl%C3%A9-publi">Ajoutez la clé publique de l’utilisateur user-ansible sur les nodes :</div>```
ansible -i inventaire.ini -m authorized_key -a 'user=user-ansible state=present key="{{ lookup("file", "/home/user-ansible/.ssh/id_ecdsa.pub") }}"' --user user-ansible --ask-pass all
```

<p class="callout info">Le mot de passe demandé est "passforce" !</p>

Résultat :

[![image-1633446214381.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633446214381.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633446214381.png)

Vérification du bon fonctionnement des clefs SSH :

```
ansible -i inventaire.ini -m authorized_key -a 'user=user-ansible state=present key="{{ lookup("file", "/home/user-ansible/.ssh/id_ecdsa.pub") }}"' --user user-ansible --become --ask-become-pass all
BECOME password: passforce 
```

<p class="callout success">Nous constatons, que on nous as demandé uniquement le mot de passe de sudo (BECOME password). Cela confirme que la liaison fonctionne bel et bien sans mot de passe ! </p>

<div id="bkmrk--11"></div>## Organisation de déploiement :

<p class="callout info">A titre d'exemple, nous allons installer la solution "MediaWiki".</p>

Pour ce faire, nous commençons par définir les différentes étapes - **que l'on nommera des rôle** - d'installation :

- Installation d'apache
- Installation de MariaDB
- Configuration d'apache
- Configuration de MariaDB
- Variables Globales

Structure d'un rôle :

- role/ 
    - files/ ---&gt; Contient tous les fichier à copier sur le node
    - tasks/ ---&gt; Contient les taches à exécuter 
        - main.yml
    - handlers/ ---&gt; Contient les taches de notification 
        - main.yml
    - defaults/ ---&gt; Contient des variables par défaut 
        - main.yml
    - meta/ ---&gt; Contient des dépendances et des informations 
        - main.yml

**On applique ça à nos rôles à nous :**

- **Apache**
    - tasks/  
        
        - taches à exécuter pour installer apache et php
    - handlers 
        - tache pour redémarrer le service apache
- **MariaDB**
    - tasks/ 
        - taches à exécuter pour installer MariaDB
- **Commun**
    - defaults/ 
        - Définition des variables globales
- **ConfDB**
    - meta/ 
        - Dépendance avec le rôle **Commun**
    - tasks/ 
        - Taches à exécuter pour installer la base de donnée
- **ConfApache**
    - meta/ 
        - Dépendance avec le rôle **Commun**
    - tasks/ 
        - Taches à exécuter pour installer apache

<span style="text-decoration: underline;">Pour simplifier la suite, nous allons créer un groupe de nodes : </span>

```
nano inventaire.ini
```

```
[apache]
http1

[db]
bdd1
```

Création du répertoire roles :

```
mkdir roles
cd roles
```

Nous allons maintenant utiliser ansible-galaxy qui permet de télécharger, créer et gérer les rôles ansible :

```
ansible-galaxy init apache
```

Regardons ce qu'ansible-galaxy a créer :

[![image-1633550710976.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633550710976.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633550710976.png)

<div id="bkmrk-cependant%2C-nous-allo">Cependant, nous allons garder uniquement les répertoires handlers, meta et tasks. Puis nous allons créer le fichier de configuration de la tache php-7 dans le rôle apache :</div>```
rm ./apache/{README.md,defaults/,files/,templates/,tests/,vars/} -r
touch apache/tasks/php7-install.yml
```

Création du rôle mariadb :

```
mkdir -p mariadb/tasks/
touch mariadb/tasks/main.yml
```

Création du rôle médiawiki :

```
mkdir mediawiki
```

<div id="bkmrk-cr%C3%A9ation-du-r%C3%B4le-com">Création du rôle Commun : </div>```
mkdir -p mediawiki/commun/defaults/
touch mediawiki/commun/defaults/main.yml
```

<div id="bkmrk-cr%C3%A9ation-du-r%C3%B4le-con">Création du rôle Confdb :</div>```
mkdir -p mediawiki/confdb/meta mediawiki/confdb/tasks
touch mediawiki/confdb/tasks/main.yml 
touch mediawiki/confdb/meta/main.yml
```

<div id="bkmrk-cr%C3%A9ation-du-r%C3%B4le-con-0">Création du rôle Confapache :</div>```
mkdir -p roles/mediawiki/confapache/meta roles/mediawiki/confapache/tasks
touch roles/mediawiki/confapache/tasks/main.yml roles/mediawiki/confapache/meta/main.yml
```

Ce qui nous donne cette arborescence là :

[![image-1633553546268.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633553546268.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633553546268.png)

Modification du main.yml du rôle apache :

```hoveredCourseElement
nano roles/apache/tasks/main.yml
```

```
---

#1. Cette t  che permet d ^`^yinstaller Apache (httpd)    l ^`^yaide du module yum
- name: "apache installation"
  ansible.builtin.yum:
    name: "httpd"
    state: "present"

#2. Cette t  che active le service Apache
- name: "apache service activation"
  service:
    name: "httpd"
    state: "started"
    enabled: yes

#3. Cette t  che fait appel    un autre fichier de configuration pour installer PHP. Elle est ex  cut  e uniquement si la variable php_install est    vraie (par d  faut, elle e$
- name: "install php7 packages"
  include: "php7-install.yml"
  when: php_install|default(False)|bool
```

1. La **première tâche,** "**apache installation**" va installer le serveur Apache avec le module “**yum**”. Le **name: "httpd"** indique le paquet concerné et le **state: "present"** spécifie qu’il faut l’installer.
2. La **deuxième tâche,** “**apache service activation**” va activer le service Apache avec le module “**service**”. Le **name: "httpd"** indique le service concerné, le **state: "started"** indique que le service sera démarré et le **enabled: yes** indique que le service sera activé.
3. La **troisième tâche,** “**install php7 packages**” inclut un fichier de configuration externe pour installer PHP. La tâche fait appel avec l’option “**include**” au fichier **php7-install.yml** qui est placé dans le répertoire **tasks** à coté de main.yml. La condition **when** avec le **filtre** (php\_install|default(False)|bool) permettent de conditionner l’installation de PHP.

<p class="callout info">Source : [https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions](https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions)</p>

Modification du fichier php7-install.yml du rôle apache :

```
---

#1. Cette t  che installe le d  p  t  EPEL (Extra Packages for Enterprise Linux)
- name: "epel activation"
  yum:
    name: "epel-release"
    state: present

#. Cette t  che installe PHP7 et ses extensions
- name: "install php7 packages"
  command: yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  command: yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
  command: yum -y install yum-utils
  command: yum-config-manager --enable remi-php74
  command: yum update -y
 # command: yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml ph$
```

1. La **première tâche,** "**epel activation**", va activer le dépôt **epel** avec le module “**yum**”. Le **name: "epel-release"** indique le dépôt concerné et le **state: present** spécifie qu’il faut l’installer.  
    Sur **Centos**, tous les logiciels ne sont pas disponibles par défaut. C’est le cas pour **PHP7** ; il faut donc ajouter le dépôt **EPEL** qui va contenir le paquet **PHP7**.
2. La **deuxième tâche,** “**remi repo activation**”, va installer le paquet remi-release-7.rpm avec le module “**yum**”. Le nom indique le service concerné ; le **state: present** indique que le paquet sera installé.  
    Sous **Centos**, les paquets logiciels sont sous la forme **RPM**. Pour installer **PHP7**, vous avez besoin du paquet **remi-release-7.rpm** qui est dans le dépôt **REMI** qui dépend du dépôt **EPEL**.
3. La **troisième tâche,** “**install php7 packages**”, installe les paquets php7 avec le module “**yum**”. Et les options :
    
    
    - le **name** indique l’ensemble des paquets à installer ;
    - **state: latest** indique qu’il faut installer les dernières versions disponibles des paquets ;
    - **enablerepo: "remi-php70"** indique d’utiliser le dépôt **remi-php70** pour les installer ;
    - **changed\_when** : force le changement d'état, c’est-à-dire qu'avec cette condition à **yes**, l'exécution de la tâche provoquera un changement ;
    - **notify: \[ "apache restart" \]** indique que si la tâche change d'état (et uniquement si la tâche a engendré un changement), **notify** fait appel au **handler** "apache restart" pour relancer le service Apache.

<p class="callout info">Source : [https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions](https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions)</p>

Création du Handler :

```
nano roles/apache/handlers/main.yml
```

```
---
- name: "apache restart"
  service:
    name: "httpd"
    state: "restarted"
```

Le module **service** est utilisé pour relancer le service **httpd** avec l’option **state: "restarted"**.

Modification du main.yml du rôle mariadb :

```
nano roles/mariadb/tasks/main.yml
```

```
---

# Installation des paquets mariadb serveur et son extension Python
- name: "mariadb-server installation"
  yum:
    name:  "mariadb-server,MySQL-python"
    state: "installed"

# Active le service MariaDB
- name: "start mariadb service"
  service:
    name:  "mariadb"
    state: "started"
    enabled: yes



```

La première tâche "**mariadb-server installation**" va installer **mariadb** serveur et son extension **Python** avec le module “**yum**”. Le **name: "mariadb-server,MySQL-python"** indique les paquets concernés et **state: "installed"** indique que les paquets doivent être installés.

\--&gt; **state** peut prendre indifféremment la valeur **present** ou **installed**. Ce sont deux alias.

La deuxième tâche “**start mariadb service**” va activer et démarrer le service MariaDB avec le module “**service**”. Le **name: "mariadb"**  indique le service concerné, **state: "started"** indique de démarrer le service et **enabled:yes**, de l'activer.

<p class="callout info">Source : [https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions](https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6373887-controlez-lexecution-des-operations-et-enchainez-plusieurs-actions)</p>

Modification du main.yml du rôle commun (dans mediawiki) :

<div data-lang="hoveredCourseElement" id="bkmrk-nano-roles%2Fmediawiki"><div data-lang="hoveredCourseElement">```
nano roles/mediawiki/commun/defaults/main.yml
```

```
---

# nom de la base de données
mediawiki_db_name: "mediawiki"

# nom de l’utilisateur de la base de données et son mot de passe
mediawiki_db_user: "mediawiki"
mediawiki_db_password: !vault |
       $ANSIBLE_VAULT;1.1;AES256      36663934633330396131376162363633666635376633313430616164303662633233303232353839      3932666230633632626434363734623537623463363631320a636662363032376563303163643366      37626237383534653035663335623233646364326365326565366361343835663030316533376664      6633376539663563310a386439653931623333316532326262343562326638313266343236346536
       3032

# nom et mot de passe de l’administrateur Mediawiki
mediawiki_admin_user: "admin"
mediawiki_admin_password: !vault |
       $ANSIBLE_VAULT;1.1;AES256      36663934633330396131376162363633666635376633313430616164303662633233303232353839      3932666230633632626434363734623537623463363631320a636662363032376563303163643366      37626237383534653035663335623233646364326365326565366361343835663030316533376664      6633376539663563310a386439653931623333316532326262343562326638313266343236346536
       3032

# nom du Mediawiki et son titre
mediawiki_name: "mediawiki"
mediawiki_title: "ELS"

# l’emplacement du répertoire d'installation de Mediawiki
mediawiki_directory: "/var/www/html/{{mediawiki_name}}"

# répertoire de maintenance de Mediawiki
mediawiki_maintenance_directory: "{{mediawiki_directory}}/maintenance"

# Definie le premier node du groupe mariadb
mediawiki_db_host: "{{groups.db.0}}"

# l’url des sources Mediawiki
mediawiki_archive_url: "https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz"
```

<div></div><div></div></div></div>Modification du main.yml du rôle confdb (dans mediawiki) :

<div data-lang="hoveredCourseElement" id="bkmrk-nano-roles%2Fmediawiki-0"><div data-lang="hoveredCourseElement">```
nano roles/mediawiki/confdb/meta/main.yml
```

```
dependencies:
  - role: "mediawiki/commun"
```

</div></div>Modification du main.yml du rôle confdb (dans mediawiki) :

<div data-lang="hoveredCourseElement" id="bkmrk-nano-roles%2Fmediawiki-1"><div data-lang="hoveredCourseElement"><div data-lang=""><div></div></div>```
nano roles/mediawiki/confdb/tasks/main.yml
```

```
---

#1. Installation de la base de donnée Mediawiki
- name: "mediawiki database"
  mysql_db:
name: "{{mediawiki_db_name}}"
state: present

#2. Création d’un accès utilisateur et attribution des privilèges sur la base Mediawiki
- name: "mediawiki user+privileges"
  mysql_user:
name: "{{mediawiki_db_user}}"
password: "{{mediawiki_db_password}}"
priv: "{{mediawiki_db_name}}.*:ALL"
host: "{{item}}"
state: present
  with_items: "{{groups.apache}}"
```

<div></div><div></div>```
nano roles/mediawiki/confapache/meta/main.yml
```

```
dependencies:
  - role: "mediawiki/commun"
```

</div></div><div data-lang="hoveredCourseElement" id="bkmrk-nano-roles%2Fmediawiki-2"><div data-lang="hoveredCourseElement">```
nano roles/mediawiki/confapache/tasks/main.yml 
```

```
---

#1. Création du repertoire pour l’installation des fichiers Mediawiki
- name: "mediawiki directory"
  file:
path: "{{mediawiki_directory}}"
owner: "apache"
group: "apache"
state: directory

#2. Décompresse le fichier source archive Mediawiki et le formate sans extension
- name: "uncompress mediawiki archive"
  unarchive:
src: "{{mediawiki_archive_url}}"
dest: "{{mediawiki_directory}}"
owner: "apache"
group: "apache"
remote_src: yes
# supprime mediawiki-1.xx.x/ du chemin
extra_opts: --transform=s/mediawiki-[0-9\.]*\///

#3. Exécute la tâche avec l'utilisateur apache, se place dans le répertoire de maintenance et exécute la commande de configuration si le fichier localsetting.php n’existe pas
- name: "mediawiki configuration"
  become: yes
  become_user: "apache"
  args:
   creates: "{{mediawiki_directory}}/LocalSettings.php"
   chdir: "{{mediawiki_maintenance_directory}}"
  command:
php install.php --scriptpath /{{mediawiki_name}}
    --dbname mediawiki --lang fr
    --dbuser {{mediawiki_db_user}}
    --dbpass {{mediawiki_db_password}}
    --pass {{mediawiki_admin_password}}
    --dbserver {{mediawiki_db_host}}  
    {{mediawiki_title}} {{mediawiki_admin_user}}
  run_once: yes
  delegate_to: "{{item}}"
  with_items: "{{groups.apache}}"

#4. Exécute la tâche avec l'utilisateur apache, se place dans le répertoire de maintenance et exécute la commande de mise à jour de la baseune seule fois    
- name: "mediawiki db update"
  become: yes
  become_user: "apache"
  command:
php update.php --quick
  args:
chdir: "{{mediawiki_maintenance_directory}}"
  # La mise à jour à besoin d'être lancée une seule fois
  run_once: yes
  register: resultat
  changed_when: "' ...done.' in resultat.stdout"
```

<div></div></div></div>## Chiffrer vos mots de passes :

Pour chiffrer le mot de passe qui sera utilisé dans le fichier de variables, vous pouvez utiliser la commande suivante :

<div data-lang="hoveredCourseElement" id="bkmrk-ansible-vault-encryp"><div data-lang="hoveredCourseElement">```
ansible-vault encrypt_string 'foobar' --name 'mediawiki_db_password'
New Vault password: Ansible2019
Confirm New Vault password: Ansible2019
```

</div></div>Résultat :

<div data-lang="hoveredCourseElement" id="bkmrk-mediawiki_db_passwor"><div data-lang="hoveredCourseElement">```
mediawiki_db_password: !vault |
          $ANSIBLE_VAULT;1.1;AES256
          34366266383764373965333237376137666134373733313832636334363236633965323938653762
          3361343961383163633161356136663135643334663032630a366334643939653831626162323331
          63313361623732313436653634646438366161393464623937326161386562363362616665386231
          3735646135366565610a636531623262663563653562653637366636616537323338373931326463
          3830
Encryption successful
```

</div></div><p class="callout warning">On va reporter cette chaine dans notre fichier variables. </p>

## Création des playbooks : 

##### Playbook d'installation d'apache 

<div data-lang="hoveredCourseElement" id="bkmrk-nano-install-apache."><div data-lang="hoveredCourseElement">```
nano install-apache.yml
```

```
---
- name: "Installation apache"
  hosts: http1
  roles:
    - role: "apache"
      php_install: yes
```

<div></div>```
ansible-playbook -i inventaire.ini --user user-ansible --become --ask-pass --ask-become-pass install-apache.yml
```

<div></div><div>Résultat : </div></div></div>[![image-1633871020711.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633871020711.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633871020711.png)

<div data-lang="hoveredCourseElement" id="bkmrk-on-peut-maintenant-a"><div data-lang="hoveredCourseElement"><div>On peut maintenant accéder à l'IP d'HTTP1 : </div></div></div>[![image-1633871627061.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633871627061.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633871627061.png)

<p class="callout success">Apache a bien été installé !</p>

##### Playbook d'installation de mariadb : 

<div data-lang="hoveredCourseElement" id="bkmrk-nano-install-mariadb"><div data-lang="hoveredCourseElement">```
nano install-mariadb.yml 
```

```
---
- name: "Installation MariaDB"
  hosts: bdd1
  gather_facts: no
  roles:
    - role: mariadb
```

<div></div><div></div><div>On lance : </div>```
ansible-playbook -i inventaire.ini --user user-ansible --become --ask-pass --ask-become-pass install-mariadb.yml
```

<div>Ce qui nous donne : </div></div></div>[![image-1633872394624.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/scaled-1680-/image-1633872394624.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2021-10/image-1633872394624.png)

<div data-lang="hoveredCourseElement" id="bkmrk-pour-v%C3%A9rifier%2C-on-pe"><div data-lang="hoveredCourseElement"><div>Pour vérifier, on peut se connecter sur le node bdd1 et faire : </div>```
systemctl status mariadb
```

</div></div><p class="callout success">MariaDB est bien fonctionnel ! </p>

##### Playbook d'installation de mediawiki : 

<div data-lang="hoveredCourseElement" id="bkmrk-nano-install-mediawi">```
nano install-mediawiki.yml
```

```
- name: "MediaWiki db configuration"
  hosts: db
  gather_facts: no
  tags: [ "mariadb", "mysql" ]
  roles:
    - role: "mediawiki/confdb"

- name: "MediaWiki apache configuration"
  hosts: apache
  gather_facts: no
  tags: "apache"
  roles:
    - role: "mediawiki/confapache"
```

<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div><div></div></div></div>

# Installer un LDAP (via docker)

### FIchier docker-compose : 

```yml
version: '3'

services:
  openldap:
    image: bitnami/openldap:latest
    ports:
      - '1389:1389'
      - '1636:1636'
    environment:
      - LDAP_ADMIN_USERNAME=admin
      - LDAP_ADMIN_PASSWORD=admin
      - LDAP_USERS=user01,user02,user03,user04,user05,user06,user07,user08,user09,user10,user11,user12,user13,user14,user15,user16,user17,user18,user19,user20,user21,user22,user23,user24,user25,user26,user27,user28,user29,user30,user31,user32,user33,user34,user35,user36,user37,user38,user39,user40,user41,user42,user43,user44,user45,user46,user47,user48,user49,user50
      - LDAP_PASSWORDS=password1,password2,password3,password4,password5,password6,password7,password8,password9,password10,password11,password12,password13,password14,password15,password16,password17,password18,password19,password20,password21,password22,password23,password24,password25,password26,password27,password28,password29,password30,password31,password32,password33,password34,password35,password36,password37,password38,password39,password40,password41,password42,password43,password44,password45,password46,password47,password48,password49,password50
      - LDAP_BASE_DN=dc=example,dc=org
    volumes:
      - openldap_data:/bitnami/openldap
    networks:
      - ldap

  ldap_cli:
    image: dnknth/ldap-ui
    environment:
      - LDAP_URL=ldap://openldap:1389
      - BASE_DN=dc=example,dc=org
      - BIND_PATTERN=%s
    ports:
      - 1234:5000
    volumes:
      - openldap_data:/bitnami/openldap
    networks:
      - ldap

volumes:
  openldap_data:

networks:
  ldap:

```


#### Puis, accéder à http://IP\_DU\_SRV:**1234** 

- user : **cn=admin,dc=example,dc=org**
- mot de passe : **admin**

Interface finale :

[![image-1672058148031.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672058148031.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672058148031.png)

# Mise en place d'un serveur Traefik (Reverse Proxy)

### Prérequits : 

Premièrement, à des fins de tests, nous allons générer l'image docker suivante :

Dockefile:

```YAML
# Docker Who display him name
#
# Created by : Néhémie Barkia
# Last Update : 26/12/2023
#
# PRÉREQUITS
FROM debian:latest
RUN apt-get update -y 
RUN apt-get install apache2 php php-pdo php-mbstring php-mysql php-json php-common git -y
RUN apt-get clean
# INSTALLATION WEB 
RUN rm /var/www/html/* -r
# Insertion des informations de connexion dans les fichiers de Fix
RUN echo "<?php" >> /var/www/html/index.php
RUN echo "\$h = getenv('HOSTNAME');" >> /var/www/html/index.php
RUN echo "echo \$h" >> /var/www/html/index.php
RUN echo "?>" >> /var/www/html/index.php
#
WORKDIR /app
VOLUME /app/logs
EXPOSE 80
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
```

Création de l'image :

```
docker build  -t web_name .
```

<p class="callout info">Nous venons de créer une image nommée web\_name. C'est un serveur web qui renvoie simplement le nom du conteneur qui l'execute. </p>

Modification du fichier HOSTS de linux :

```
127.0.1.1       traefik.localhost web.traefik.localhost
```

### Installation et configuration de traefik :

/srv/traefik.toml :

```SQL
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"

[api]

[providers.docker]
  endpoint = "unix:///var/run/docker.sock"
```

docker-compose.yml :

```YAML
version: '3'

services:
  reverse-proxy:
    image: traefik:v2.9
    command: --api.insecure=true --providers.docker
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - /srv/traefik.toml:/etc/traefik/traefik.toml
      - /var/run/docker.sock:/var/run/docker.sock
    labels:
      - "traefik.http.routers.api.rule=Host(`traefik.localhost`)"
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.entrypoints=http"
      


  web:
    image: web_name
    ports:
      - "8081-8181:80"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.web.rule=Host(`web.traefik.localhost`)"
      - "traefik.http.routers.web.entrypoints=http"
 
```

Création de l'infrastructure :

```
docker-compose up
```

Augmentation du nombre de serveurs :

```
docker-compose scale web=10
```

[![image-1672068888751.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672068888751.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672068888751.png)

<p class="callout info">Ici nous dupliquon neuf fois le serveur web. Vu que leurs ports sont compris dans le fichier de config du service. Ceux-ci vont être intégré dans le cluster et ainsi répondre aux requêttes envoyées à [web.traefik.localhost](http://web.traefik.localhost/) (au travers du proxy traefik evidement). </p>

Résultat coté utilisateur :

[![image-1672069513203.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672069513203.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672069513203.png)

[![image-1672069535676.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672069535676.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672069535676.png)

Dans l'interface d'administration :

[![image-1672069811501.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672069811501.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672069811501.png)

On peut afficher la liste des serveurs ratachés à un service :

[![image-1672069855943.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/scaled-1680-/image-1672069855943.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-12/image-1672069855943.png)

On constate qu'il y a cent serveur rataché à mon cluster (**si vous voulez scaler + de cent serveurs, modifier la pool de port dans le docker-compose**).

# Windows

# Installation et configuration d'un serveur active directory

### Introduction

Dans le cadre du contexte GSB nous devons installer et configurer le service Active Directory (AD) sur deux Windows Serveur 2019.

- Le premier serveur sera le contrôleur du domaine GSB.local
- Le second serveur sera le contrôleur du domaine PharmaDuSud.local

#####  

##### <span style="text-decoration: underline;">Définition : </span>

<span style="text-decoration: underline;">**Active Directory :**</span> L'objectif principal d'Active Directory est de fournir des services centralisés d'identification et d'authentification à un réseau d'ordinateurs utilisant le système Windows, MacOs et encore Linux. Il permet également l'attribution et l'application de stratégies ainsi que l'installation de mises à jour critiques par les administrateurs.

##### <span style="text-decoration: underline;">Schéma :</span>

[![image-1601365329865.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601365329865.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601365329865.png)

###  

### Remarque :

Avant toutes choses. Nous avons créé un Windows Serveur 2019. Et nous l'avons nommé VM-SRV-IN-MASTER. Nous l'exportons afin d'avoir un Windows Serveur 2019 près à l'emploi grâce à une simple importation.

Nous allons donc l'importer deux fois, cela nous permettra d'avoir deux WS2019. Le premier deviendra le contrôleur du domaine "GSB.local" et le second sera contrôleur du domaine "Pharma-Du-Sud.local".

###  

### Installation :

<p class="callout info">La documentation ci-dessous correspond à un Windows serveur 2019 - Vierge.</p>

##### Premièrement, nous allons définir le nom de nos deux WS19 :

<table border="1" id="bkmrk-nom-pour-notre-premi" style="border-collapse: collapse; width: 100%; height: 29px;"><tbody><tr style="height: 29px;"><td style="width: 50%; height: 29px;">#### Nom pour notre premier serveur.

[![image-1601368081570.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601368081570.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601368081570.png)

</td><td style="width: 50%; height: 29px;">#### Nom pour notre second serveur.

[![image-1601368661161.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601368661161.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601368661161.png)

</td></tr></tbody></table>

### Adressage IP :

Pour modifier l'adressage IP d'un Windows Serveur 2019. Il faut aller dans le gestionnaire de serveur puis dans "Serveur Local".

[![image-1601369394098.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601369394098.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601369394098.png)

<table border="1" id="bkmrk-cd1-gsb-srv-%C2%A0-cd1-pd" style="border-collapse: collapse; width: 100%; height: 135px;"><tbody><tr style="height: 135px;"><td class="align-center" style="width: 50%; height: 135px;">#### CD1-GSB-SRV

[![image-1601369837326.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601369837326.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601369837326.png)

</td><td class="align-center" style="width: 50%; height: 135px;">#### CD1-PDS-SRV

[![image-1602577264694.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602577264694.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602577264694.png)

</td></tr></tbody></table>

<p class="callout info">Notons que les deux serveur doivent être connecté au même réseau (physique ou virtuel). Pour qu'ils puissent communiquer entre eux. Un simple ping permet de vérifier le bon fonctionnement de la configuration.</p>

###  

### Sysprep :

Comme vous le savez, nous avons réales des clones cependant, nous avons besoins de regénérer des nouveaux SID (identifiant uniques qui du coup ont été dupliqués).

Pour ce faire nous exécutons ces deux lignes de commandes (sur les deux serveurs) :

```
cd C:\Windows\System32\Sysprep\
.\sysprep.exe
```

<p class="callout danger">N'oubliez pas de faire le sysprep sur les deux serveurs.</p>

[![image-1601371528386.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601371528386.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601371528386.png)

[![image-1601371641893.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601371641893.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601371641893.png)

### Contrôleur de domaine (sur CD1-GSB-SRV):

##### Nous procédons à l'installation du serveur Active Directory :

**Gérer--&gt;Ajouter des rôles et fonctionnalités.**

[![image-1600385617452.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385617452.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385617452.png)

**Suivant &gt;**

[![image-1600385848033.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385848033.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385848033.png)

**Suivant &gt;**

Ici, on choisi sur quel serveur nous voulons ajouter un service.

[![image-1600385936215.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385936215.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385936215.png)

**Suivant &gt;**

On coche la case "Services AD DS".

[![image-1600385988248.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385988248.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385988248.png)

**Suivant &gt;**

On continue avec les paramètres par défaut.

[![image-1600386069080.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386069080.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386069080.png)

**Ajouter des fonctionnalités**

La case "Services AD DS" est désormais cochée.

[![image-1600386193152.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386193152.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386193152.png)

**Suivant &gt;**

Ici, on nous propose des fonctionnalités supplémentaires pour notre Active Directory, nous laissons celles activées par défaut.

[![image-1600386319071.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386319071.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386319071.png)

**Suivant &gt;**

[![image-1600386449683.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386449683.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386449683.png)

**Suivant &gt;**

Nous avons droit à un récapitulatif nous permettant de vérifier les composant que nous avons choisi.

[![image-1600386496832.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386496832.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386496832.png)

**Installer**

L'installation nécessite de cinq à dix minutes.

[![image-1600386654286.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386654286.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386654286.png)

**Fermer**

Maintenant installé, le service AD DS est disponible dans notre gestionnaire de serveur.

[![image-1601370581468.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601370581468.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601370581468.png)

**Autre (en haut à gauche)**

[![image-1600386891908.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386891908.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386891908.png)

**Action --&gt; Promouvoir ce serveur en contrôleur de domaine.**

On sélectionne "Ajouter une nouvelle forêt" tout en lui donnant le nom "GSB.local".

[![image-1600386981952.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386981952.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386981952.png)

**Suivant &gt;**

Nous définissons un mot de passe au mode de restauration des services d'annuaires.

[![image-1600387081442.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600387081442.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600387081442.png)

**Suivant &gt;**

Nous définissons maintenant le nom NetBIOS de la forêt.[![image-1600387273510.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600387273510.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600387273510.png)

**Suivant &gt;**[![image-1601537880637.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1601537880637.png)**Suivant &gt;**](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1601537880637.png)

Nous avons désormais le choix des emplacements des fichier journaux mais aussi de la base de données.

[![image-1600387352465.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600387352465.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600387352465.png)

**Suivant &gt;**

Nous avons également ici le droit à un autre récapitulatif.

[![image-1600387446609.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600387446609.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600387446609.png)

**Suivant &gt;**

Le serveur procède à la vérification de la configuration requise.

[![image-1600387525562.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600387525562.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600387525562.png)

<p class="callout info">N'ayez crainte des avertissements ci-dessus, n'oubliez pas que c'est vous le maitre du serveur.</p>

Le serveur va procéder à l'installation puis redémarrera, dès le redémarrage nous remarquons que nous nous connectons sur le domaine GSB.

[![image-1600388070146.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600388070146.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600388070146.png)

### Contrôleur de domaine (sur CD1-PDS-SRV):

##### Nous procédons à l'installation du serveur Active Directory :

**Gérer--&gt;Ajouter des rôles et fonctionnalités.**

[![image-1600385617452.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385617452.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385617452.png)

**Suivant &gt;**

[![image-1600385848033.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385848033.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385848033.png)

**Suivant &gt;**

Ici, on choisi sur quel serveur nous voulons ajouter un service.

[![image-1600385936215.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385936215.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385936215.png)

**Suivant &gt;**

On coche la case "Services AD DS".

[![image-1600385988248.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600385988248.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600385988248.png)

**Suivant &gt;**

On continue avec les paramètres par défaut.

[![image-1600386069080.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386069080.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386069080.png)

**Ajouter des fonctionnalités**

La case "Services AD DS" est désormais cochée.

[![image-1600386193152.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386193152.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386193152.png)

**Suivant &gt;**

Ici, on nous propose des fonctionnalités supplémentaires pour notre Active Directory, nous laissons celles activées par défaut.

[![image-1600386319071.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386319071.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386319071.png)

**Suivant &gt;**

[![image-1600386449683.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386449683.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386449683.png)

**Suivant &gt;**

Nous avons droit à un récapitulatif nous permettant de vérifier les composant que nous avons choisi.

[![image-1600386496832.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386496832.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386496832.png)

**Installer**

L'installation nécessite de cinq à dix minutes.

[![image-1600386654286.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386654286.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386654286.png)

**Fermer**

Maintenant installé, le service AD DS est disponible dans notre gestionnaire de serveur.

[![image-1601370581468.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1601370581468.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1601370581468.png)

**Autre (en haut à gauche)**

[![image-1600386891908.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600386891908.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600386891908.png)

**Action --&gt; Promouvoir ce serveur en contrôleur de domaine.**

On sélectionne "Ajouter un nouveau domaine à une forêt existante" tout en lui donnant le nom de la forêt existante : "GSB.local" ainsi que du nouveau nom de domaine : "PharmaDuSud.local".

[![image-1602351989025.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602351989025.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602351989025.png)

**Modifier...**

Nous entrons ici le compte Administrateur du serveur GSB.

[![image-1602574673680.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602574673680.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602574673680.png)

Grâce à cette étape, vous aurez désormais accès au bouton "suivant" :

[![image-1602574795454.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602574795454.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602574795454.png)

**Suivant &gt;**

[![image-1602576242051.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576242051.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576242051.png)

**Ok**

[![image-1602576278314.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576278314.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576278314.png)

<p class="callout info">Si vous obtenez une erreur, ajouter à l'utilisateur "Administrateur" du serveur de GSB, le groupe "Utilisateur de Bureau à distance". </p>

**Suivant &gt;**

[![image-1602576457103.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576457103.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576457103.png)

**Suivant &gt;**

[![image-1602576677339.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576677339.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576677339.png)

**Suivant &gt;**

[![image-1602576719686.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576719686.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576719686.png)

Suivant &gt;

[![image-1602576745808.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576745808.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576745808.png)

**Suivant &gt;**

[![image-1602576769579.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576769579.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576769579.png)

**Installer**

<p class="callout info">**Après un petit temps de chargement, le serveur redémarrera automatiquement.**</p>

Nous constatons que nous sommes désormais intégré au domaine.

[![image-1602576951018.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602576951018.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602576951018.png)

### Poste de test :

Nous allons désormais installer poste utilisateur. Pour cela nous avons une machine virtuelle que nous nommerons "ST-10-TEST".

#####  

<p class="callout warning">On fait un SysPrep si nous utilisons un clone.</p>

##### Installation IP : 

Conformément au schémas, nous allons assigner une adresse IP Fixe au poste de test :

 Adresse IP - 192.168.0.1

 Masque de sous réseau - 255.255.255.0

 Serveur de noms (DNS) - 192.168.0.40

[![image-1602765968610.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/scaled-1680-/image-1602765968610.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-10/image-1602765968610.png)

Pour tester la communication entre le poste de test et GSB.local, nous pouvons simplement réaliser un PING.

```
ping 192.168.0.40 
```

# Déployer un serveur rackable Dell EMC 440 Poweredge

## <span style="text-decoration: underline;">**Installation d'un système d'exploitation sur un serveur Dell EMC 440 PowerEdge**</span>

[![image-1606335440583.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606335440583.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606335440583.png)

### Contexte :

Dans le cadre du déploiement des nouveaux serveurs rackables dans le local technique du BTS SIO, nous avons besoin de procéder à l'installation des systèmes d'exploitation et du RAID sur les quatre serveurs Dell EMC 440 PowerEdge fournis par notre établissement scolaire.

### Sommaire :

1. 1. Accès au mode LifeCycle
    2. Mise en place du RAID
    3. Lancement du système d'exploitation
    4. Installation du système d'exploitation
    5. Déploiement du disque dur
    6. Conclusion

### 1. Accès au mode LifeCycle :

Pour accéder au mode LifeCycle, il suffit de presser la touche F10 au démarrage.

[![image-1606230417529.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606230417529.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606230417529.png)

<p class="callout info">Le serveur met beaucoup de temps avant d'afficher les options de démarrage (Ex : F2 ; F10 etc...). Il suffit simplement de patienter. Ce temps comprend également le délais d'activation des périphériques qui ne seront pas sous tension avant quelques dizaines de secondes et jusqu'à maximum une ou deux minutes.</p>

Le mode LifeCycle est un système d'exploitation léger permettant principalement d'installer un système d'exploitation et de mettre en place le RAID. Nous l'utiliserons dans la suite de cette documentation pour procéder à ces deux taches principales.

### 2. Mise en place du RAID

Pour mettre en place le RAID, nous allons sélectionner "Configurer RAID et déployer un système d'exploitation".

[![image-1606230966424.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606230966424.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606230966424.png)

On choisie "Configurer RAID d'abord".

[![image-1606311918460.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606311918460.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606311918460.png)

##### Lors de la première étape, nous sélectionnons le contrôleur RAID "PERC H730 Adapter". 

[![image-1606231329342.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606231329342.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606231329342.png)

<p class="callout info">Sur la capture d'écran ci-dessus, il y a déjà un disque virtuel. Celui-ci fut créé précédemment par mes soins dans lors des premières installations servant toutes de teste. Si vous n'avez pas de disque virtuel, vous pouvez tout de même poursuivre l'installation sans inquiétude.</p>

Dès que vous l'avez sélectionné, vous pouvez cliquer sur suivant.

##### Deuxième étape, nous sélectionnons le RAID 5.

 [![image-1606234144885.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606234144885.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606234144885.png)

##### Troisième étape, nous sélectionnons les trois disques durs.

[![image-1606234193724.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606234193724.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606234193724.png)

##### Quatrième étape, nous spécifions le nom du disque virtuel.

[![image-1606308964523.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606308964523.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606308964523.png)

##### Cinquième étape, nous recevons un récapitulatif de la configuration RAID, nous confirmons nos choix précédents en cliquant sur "Terminer".  
[![image-1606234596397.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606234596397.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606234596397.png)

Après avoir cliqué sur "Terminer", une fenêtre d'avertissement nous prévient des risques de la configuration d'un RAID. Nous cliquons sur "Oui".

[![image-1606309491707.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606309491707.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606309491707.png)

Après avoir cliqué sur "Oui", une barre de chargement s'affiche. Il y a simplement à patienter.

[![image-1606234735321.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606234735321.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606234735321.png)

Lorsque l'installation est terminée, s'affiche alors une notification comme ci-dessous. Après avoir cliqué sur "OK", nous serons redirigé vers l'étape suivante.  
  
[![image-1606234789674.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606234789674.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606234789674.png)

### 3. Lancement de l'installation du système d'exploitation

Nous ne changeons rien sur le premier écran, nous cliquons simplement sur "Suivant".

[![image-1606310213183.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606310213183.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606310213183.png)  
  
Nous sélectionnons ensuite l'installation manuelle.

[![image-1606310598248.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606310598248.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606310598248.png)

Maintenant, nous choisissons le support d'installation du système d'exploitation.

[![image-1606310787120.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606310787120.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606310787120.png)

<p class="callout warning">Si aucun périphérique n'apparait, tentez de mettre la clef USB sur le port avant du serveur. Cependant il va falloir redémarrer le serveur (CTRL + ALT + SUPPR). Après le redémarrage, accédez au menu LifeCycle et cliquez sur le menu "Configurer RAID et déployer un système d'exploitation" et faites "Passer directement au déploiement du SE".</p>

Une fenêtre d'avertissement, nous informe d'un risque de sécurité mais nous poursuivons en cliquant sur "Oui" .

[![image-1606312119752.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606312119752.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606312119752.png)

Enfin, nous cliquons sur "Terminer".

[![image-1606312560832.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606312560832.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606312560832.png)

Après redémarrage, le système d'installation de Windows se lance.

### 4. Installation de Windows Serveur 2016 :

##### 1. Système d'exploitation

Nous choisissons "Windows Serveur 2016 <span style="text-decoration: underline;">**Datacenter (Expérience utilisateur)**</span>"

[![image-1606336044777.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336044777.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336044777.png)

##### 2. Type d'installation

Nous choisissons <span style="text-decoration: underline;">**l'installation personnalisé**</span>.

[![image-1606336123370.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336123370.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336123370.png)

##### 3. Les disques

Nous installons le système d'exploitation <span style="text-decoration: underline;">**sur le disque comportant 500 Go.**</span>

[![image-1606336204438.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336204438.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336204438.png)

##### 4. Avertissement

Nous acceptons la prise de risque.

[![image-1606336283928.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336283928.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336283928.png)

##### 5. Clef de licence 

Si une clef de licence est demandée, il faut choisir l'option <span style="text-decoration: underline;">**"Je n’ai pas de clef de produit"**</span>.

[![image-1606336412518.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336412518.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336412518.png)

##### 6. Installation 

Il n'y a plus qu'à patienter quelques minutes. <span style="text-decoration: underline;">Le serveur redémarrera plusieurs fois.</span>

[![image-1606336472457.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336472457.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336472457.png)

##### 7. Mot de passe Administrateur

Pour le mot de passe administrateur, nous choisissons [P@ssw0rd](mailto:P@ssw0rd) .

[![image-1606336632300.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336632300.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336632300.png)

##### 8. Installation terminée !

L'installation du SE est terminée. Nous pouvons maintenant nous connecter.

[![image-1606336647156.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606336647156.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606336647156.png)

### 5. Déploiement du disque dur

##### 1. vérification

Avant de déployer le disque dur de 4 To, <span style="text-decoration: underline;">**il faut vérifier qu'il n'est pas présent** </span>dans le répertoire "Ce PC" comme ci-dessous :

[![image-1606337462058.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606337462058.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606337462058.png)

<p class="callout warning">Si un second disque de 4 To est présent dans "Ce PC", vous pouvez passez toutes les étapes suivantes et aller directement à la conclusion.</p>

##### 2. Accès au menu "gestion de l'ordinateur"

Pour ajouter logiciellement un disque dur, il faut se rendre dans le menu "Gestion de l'ordinateur". Pour ce faire, nous faisons simplement une recherche :

[![image-1606337665122.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606337665122.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606337665122.png)

##### 3. Gestion des disques

Nous cliquons sur le menu de gauche sur l'onglet "Gestion des disques".

[![image-1606337786461.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606337786461.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606337786461.png)

##### 4. Ajout d'une partition

Comme nous pouvons le constater, il y a une partition du second disque dur qui est en Noir. Cela signifie qu'elle n'as pas été ajoutée au système.

[![image-1606337941354.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606337941354.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606337941354.png)

Pour l'ajouter, nous allons donc effectuer un "clique-droit" sur cette partition et sélectionner "Nouveau volume simple".

[![image-1606337993973.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606337993973.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606337993973.png)

Un assistant s'affiche pour nous aider à créer ce volume.

[![image-1606338045436.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606338045436.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606338045436.png)

Ensuite, l'assistant nous demande la taille du nouveau volume à ajouter. Nous mettons la taille maximale (celle-ci est inscrite par défaut).

[![image-1606338113146.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606338113146.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606338113146.png)

Nous cliquons sur "Terminer" après avoir lu le récapitulatif.

[![image-1606338149384.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606338149384.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606338149384.png)

Enfin, nous allons dans "Ce PC", et nous constatons qu'un nouveau disque dur est apparu.

[![image-1606338210724.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/scaled-1680-/image-1606338210724.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-11/image-1606338210724.png)

### 6. Conclusion

Le serveur est désormais près pour accueillir l'infrastructure GSB, prenons en soin !

# Installation des serveurs VPN & RADIUS sur Windows Serveur

##### Rédaction : Barkia Néhémie | Création :[ Logan Blachere ](https://blacherelogan.fr/)

#####  

##### Prérequis : 

- Un Windows serveur (Pour le VPN)  
    
    - Un serveur RADIUS
    - Serveur VPN
    - Deux cartes réseau
- Un serveur Windows Serveur (Services autre) 
    - Active directory
    - Un groupe d'utilisateurs à autoriser sur le serveur RADIUS
    - Étendue DHCP dédié aux utilisateurs distant

##### Installation du serveur RADIUS : 

Premièrement nous allons installé le rôle **"Accès à Distance"** avec le service de rôle **"Direct Access et VPN".** Puis nous allons utiliser le gestionnaire NPS (Network Policy Server) pour configurer le serveur.

**Nous allons cliquer une connexion VPN ou d'accès à distance :**

[![image-1642682845260.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642682845260.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642682845260.PNG)

Puis, nous allons sélectionner **"Connexions de réseau privé virtuel"** :

[![image-1642682955606.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642682955606.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642682955606.PNG)

Puis, nous spécifions le **client RADIUS** :

[![image-1642683177426.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683177426.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683177426.PNG)

Nous allons préciser les informations détaillés du client RADIUS en spécifiant son nom, **son adresse IP, et un secret (mot de passe)** :

[![image-1642683217337.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683217337.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683217337.PNG)

Nous pouvons désormais passer aux étapes suivantes.

[![image-1642683386563.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683386563.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683386563.PNG)

Configuration des méthodes d'authentification :

[![image-1642683499081.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683499081.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683499081.PNG)

Ajout du groupe d'utilisateurs qui sera **autorisé à utiliser le VPN** :

[![image-1642683559480.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683559480.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683559480.PNG)

Ici, vous pouvez définir des filtres IP **(optionnel mais important vis à vis de la cyber sécurité)** :

[![image-1642683640438.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683640438.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683640438.PNG)

Nous laissons, par la suite, par défaut, la spécification des paramètres de chiffrement :

[![image-1642683866211.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683866211.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683866211.PNG)

Nous ne préciserons pas de FQDN :

[![image-1642683917937.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683917937.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683917937.PNG)

Récapitulatif :

[![image-1642683950850.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642683950850.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642683950850.PNG)

Enfin, toujours dans la console NPS, il faut faire un clique droit sur le serveur local et l'inscrire dans l'Active Directory.

##### Installation du serveur VPN : 

<p class="callout warning">Le rôle nécessaire au bon fonctionnement de cette installation ont été installé précédemment. </p>

Nous allons ouvrir la console de gestion "Routage et accès à distance" :

[![image-1642684543907.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642684543907.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642684543907.PNG)

Puis, en faisant un clique droit sur le nom du serveurs, nous sélectionnons **"configuration et activer le routage et l'accès à distance"** :

[![image-1642684653791.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642684653791.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642684653791.PNG)

Nous allons configurer un accès **VPN &amp; NAT** :

[![image-1642685263882.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642685263882.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642685263882.PNG)

Sélection de la carte WAN :

[![image-1642686054543.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686054543.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686054543.png)

Définition automatique de l'attribution IP :

[![image-1642686099104.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686099104.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686099104.PNG)

Nous sélectionnons OUI.

[![image-1642686142898.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686142898.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686142898.PNG)

Spécifications du serveur RADIUS :

[![image-1642686217364.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686217364.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686217364.PNG)

Nous activons le relai DHCP :

[![image-1642686375168.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686375168.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686375168.PNG)

Enfin nous pouvons terminer l'installation :

[![image-1642686231521.PNG](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/scaled-1680-/image-1642686231521.PNG)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2022-01/image-1642686231521.PNG)

<p class="callout success">L'installation est fonctionnelle ! </p>

# Installation d'un serveur S3 local avec réplication

#### Mes serveurs : 

- **Serveur 1 :** `nas-01.nehemiebarkia.fr` (192.168.1.69)
- **Serveur 2 :** `nas-02.nehemiebarkia.fr` (192.168.1.70)

#### Sur le serveur 1

```
mkdir /etc/minio
mkdir /etc/minio/minio_certs
mkdir /var/lib/minio
```

/etc/minio/docker-compose.yml :

```yaml
services:
  minio:
    image: quay.io/minio/minio:latest
    container_name: minio-srv1
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: MDP01
      MINIO_SERVER_URL: "https://nas-01.nehemiebarkia.fr:9000"
      MINIO_BROWSER_REDIRECT_URL: "https://nas-01.nehemiebarkia.fr:9001"
      MINIO_SERVER_INSECURE: "on"
    volumes:
      -  /var/lib/minio:/data
      - ./minio_certs:/root/.minio/certs
    command: server /data --console-address ":9001" --address ":9000"
    restart: always
```

##### Génération des certificats :

```bash
# 1. Création de l'arborescence propre
mkdir -p /etc/minio/minio_certs/CAs
cd /etc/minio/minio_certs

# 2. Génération de l'Autorité de Certification (CA) partagée
openssl genrsa -out shared-ca.key 4096
openssl req -x509 -new -nodes -key shared-ca.key -sha256 -days 3650 -out shared-ca.pem \
  -subj "/CN=Minio-Shared-CA"

# 3. Génération du certificat pour NAS-01 (192.168.1.69)
openssl genrsa -out private.key 2048
cat > nas01.ext << EOF
subjectAltName = IP:192.168.1.69,DNS:nas-01.nehemiebarkia.fr
EOF
openssl req -new -key private.key -out nas01.csr -subj "/CN=nas-01.nehemiebarkia.fr"
openssl x509 -req -in nas01.csr -CA shared-ca.pem -CAkey shared-ca.key -CAcreateserial -out public.crt -days 3650 -extfile nas01.ext

# 4. Préparation du certificat pour NAS-02 (192.168.1.70)
# On crée un sous-dossier temporaire pour ne pas écraser les fichiers de nas-01
mkdir -p ./for_nas02
openssl genrsa -out ./for_nas02/private.key 2048
cat > nas02.ext << EOF
subjectAltName = IP:192.168.1.70,DNS:nas-02.nehemiebarkia.fr
EOF
openssl req -new -key ./for_nas02/private.key -out nas02.csr -subj "/CN=nas-02.nehemiebarkia.fr"
openssl x509 -req -in nas02.csr -CA shared-ca.pem -CAkey shared-ca.key -out ./for_nas02/public.crt -days 3650 -extfile nas02.ext

# 5. Mise en place de la confiance (CA) pour les deux
cp shared-ca.pem ./CAs/public.crt
cp shared-ca.pem ./for_nas02/public_ca.crt # On le garde sous le coude pour le transfert

# 6. Droits finaux sur NAS-01
chmod 644 public.crt && chmod 600 private.key && chmod 644 CAs/public.crt

echo "-----------------------------------------------------------------------"
echo "✅ GÉNÉRATION TERMINÉE SUR NAS-01"
echo "-----------------------------------------------------------------------"
echo "ÉTAPES POUR LE NAS-02 :"
echo "1. Créez le dossier : mkdir -p /etc/minio/minio_certs/CAs"
echo "2. Copiez les fichiers depuis NAS-01 vers NAS-02 :"
echo "   - /etc/minio/minio_certs/for_nas02/public.crt     -> /etc/minio/minio_certs/public.crt"
echo "   - /etc/minio/minio_certs/for_nas02/private.key    -> /etc/minio/minio_certs/private.key"
echo "   - /etc/minio/minio_certs/for_nas02/public_ca.crt  -> /etc/minio/minio_certs/CAs/public.crt"
echo "-----------------------------------------------------------------------"
```

```
docker compose up -d
```

#### Sur le serveur 2

```bash
mkdir /etc/minio
mkdir /etc/minio/minio_certs
mkdir /var/lib/minio
```

/etc/minio/docker-compose.yml :

```yaml
services:
  minio:
    image: quay.io/minio/minio:latest
    container_name: minio-srv2
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: MDP02
      MINIO_SERVER_URL: "https://nas-02.nehemiebarkia.fr:9000"
      MINIO_BROWSER_REDIRECT_URL: "https://nas-02.nehemiebarkia.fr:9001"
      MINIO_SERVER_INSECURE: "on"
    volumes:
      -  /var/lib/minio:/data
      - ./minio_certs:/root/.minio/certs
    command: server /data --console-address ":9001" --address ":9000"
    restart: always
```

```
docker compose up -d
```


#### Réplication 

<p class="callout info">Commandes à exécuter sur le serveur nas-01</p>

Démarage du conteneur pour utiliser mc :

```bash
docker run -it --entrypoint=/bin/sh minio/mc
```

Authentification site 1 :

```bash
mc alias set site1 https://nas-01.nehemiebarkia.fr:9000 admin MDP01 --insecure
```

Authentification site 1 :

```bash
mc alias set site1 https://nas-02.nehemiebarkia.fr:9000 admin MDP02 --insecure
```

Activation de la réplication :

```bash
mc admin replicate add site1 site2 --insecure
```

<p class="callout success">Requested sites were configured for replication successfully.</p>

#### Exposition du S3 :

Afin de permettre la lecture des contenus multimédias directement sur une Smart TV (ou tout équipement ne supportant pas nativement le protocole S3), nous mettons en place une passerelle de service. Nous allons utiliser le protocole DLNA

docker-compose.yml

```yaml
services:
  samba-bridge:
    image: rclone/rclone:latest
    container_name: minio-to-samba
    network_mode: "host"
    environment:
      - RCLONE_CONFIG_MYMINIO_TYPE=s3
      - RCLONE_CONFIG_MYMINIO_PROVIDER=Minio
      - RCLONE_CONFIG_MYMINIO_ACCESS_KEY_ID=admin
      - RCLONE_CONFIG_MYMINIO_SECRET_ACCESS_KEY=XXXXXXXXXXX
      - RCLONE_CONFIG_MYMINIO_ENDPOINT=https://nas-01.nehemiebarkia.fr:9000
    # Utilisation de la syntaxe de commande simplifiée
    command: >
      serve dlna myminio:
      --addr :8080
      --name "NAS-REPLICATED"
      --read-only
      --no-check-certificate
      --vfs-cache-mode full
    restart: always
```

<p class="callout danger">Les buckets S3 sont exposés sans authentification en read only !</p>

```
docker compose up -d
```