• Passer à la navigation principale
  • Passer au contenu principal
  • Passer au pied de page
Lois Dutour

Lois Dutour

  • Accueil
  • Expériences professionnelles
    • DiSI Nord : Cellule Informatique Départementale
    • McDonald’s
  • Formations
    • BTS SIO SISR
      • Veille technologique
      • Tableau de compétences
  • Projets
  • Contact
  • A propos

Lois Dutour

Mise en place d’un serveur Windows AD DNS DHCP

3 février 2025 by Lois Dutour

AD – CRDownload

Classé sous :Réalisations académiques

Modes Opératoires et Configuration des Switchs HPE

23 janvier 2025 by Lois Dutour

Contexte

Dans le cadre du renouvellement des postes téléphoniques d’un site, pour le passage de postes téléphoniques en postes TOIP, il est nécessaire d’effectuer le remplacement des commutateurs par des commutateurs POE.

Modes d’Opération du Switch

Mode Utilisateur (User Mode)

Permet d’exécuter les commandes de base (visualisation, état des interfaces).

<HPE>
<HPE> display current-configuration

Mode Privilégié (Privileged Mode)

Accès aux commandes de configuration et gestion du switch (authentification requise).

<HPE> system-view
[HPE]

Diminutif de la commande :

<HPE> sys
[HPE]

Configuration de Base

Changer le Nom du Switch

[HPE] sysname Nom_Switch

Enregistrer les Modifications

[Nom_Switch] save

Gestion des VLANs

Créer un VLAN

[Nom_Switch] vlan 10
[Nom_Switch] name Gestion
[Nom_Switch] description "Gestion des switchs"
[Nom_Switch] quit

Configurer une Interface VLAN avec une Adresse IP

[Nom_Switch] interface Vlan-interface 10
[Nom_Switch] ip address 192.168.2.2 255.255.255.0

Configurer la Passerelle par Défaut

[Nom_Switch] ip route-static 0.0.0.0 0.0.0.0 192.168.2.1
  • 0.0.0.0 0.0.0.0 : Représente l’adresse de destination et le masque de sous-réseau.
  • 192.168.2.1 : Adresse IP de la passerelle par défaut.
ParamètreExplication
0.0.0.0 0.0.0.0Adresse et masque de destination
192.168.2.1Adresse IP de la passerelle

Assigner des Ports à un VLAN

Ports Access :

[Nom_Switch] interface G1/0/1
[Nom_Switch-GigabitEthernet1/0/1] port access vlan 10
[Nom_Switch-GigabitEthernet1/0/1] quit

Ports Trunk :

[Nom_Switch] interface G1/0/1
[Nom_Switch-GigabitEthernet1/0/1] port link-type trunk
[Nom_Switch-GigabitEthernet1/0/1] port trunk permit vlan 10,20,30
[Nom_Switch-GigabitEthernet1/0/1] quit
  • Un port access appartient à un seul VLAN et ne peut pas transporter de trafic provenant de plusieurs VLAN. (Les trames ne sont pas marquées avec des tags VLAN lorsqu’elles sont transmises à partir d’un port access)
  • Un port trunk peut transporter plusieurs VLANs simultanément. (Les trames sont marquées avec des tags VLAN pour identifier à quel VLAN elles appartiennent)
CaractéristiqueMode TrunkMode Access
Type de portPlusieurs VLANsUn seul VLAN
UtilisationLien Switch-SwitchConnexion des utilisateurs
Etiquetage VLANTrames taguéesTrames non taguées

Configurer le PVID (Port VLAN ID)

[Nom_Switch] port trunk pvid vlan 30

Le PVID (Port VLAN ID) est utilisé pour marquer les trames non taguées entrant sur le port avec le VLAN spécifié. Exemple : Dans le cadre d’un poste TOIP branché à la même prise qu’un poste utilisateur, VLAN 20 correspond au VLAN TOIP et VLAN 30 au VLAN Data. Dans ce cas, le VLAN Data sera le VLAN dont les trames ne seront pas taguées.


Gestion des Interfaces

Eteindre une Interface

[Nom_Switch] interface G1/0/1
[Nom_Switch] shutdown

Supprimer une Configuration

[Nom_Switch] undo ip address 192.168.2.2 255.255.255.0
[Nom_Switch] undo port trunk permit vlan 10

Affichage et Diagnostic

Afficher la Configuration Active

[Nom_Switch] display current-configuration

Afficher les Interfaces Actives

[Nom_Switch] display interface brief

Afficher les Sessions VTY

[Nom_Switch] display users

Configuration SNMP et SSH

Activer SNMP

Une communauté SNMP définit les autorisations d’accès aux informations du switch via SNMP. Les agents SNMP collectent et envoient ces données aux outils de supervision pour surveiller et administrer le réseau.

#Autorise la lecture seule des informations SNMP avec la communauté nommée "public".
[Nom_Switch] snmp-agent community read public
#Autorise la lecture et l'écriture des paramètres SNMP avec la communauté nommée "private".
[Nom_Switch] snmp-agent community write private

Configurer SSH

[Nom_Switch] user-interface vty 0 4
[Nom_Switch] authentication-mode scheme
[Nom_Switch] protocol inbound ssh
[Nom_Switch] ssh user admin service-type all authentication-type password
[Nom_Switch] public-key create rsa

  • user-interface vty 0 4 : Sélectionne les interfaces VTY (Virtual Teletype) de 0 à 4 pour la configuration.
  • authentication-mode scheme : Configure le mode d’authentification pour les interfaces VTY en utilisant un schéma défini (comme RADIUS ou TACACS+).
  • protocol inbound ssh : Autorise uniquement les connexions SSH pour les interfaces VTY sélectionnées.
  • ssh user admin service-type all authentication-type password : Crée un utilisateur SSH nommé « admin » avec l’accès à tous les services et une authentification par mot de passe.
  • public-key create rsa : Génère une paire de clés RSA pour SSH afin de sécuriser les connexions.

Documentation personnelle

Disponible ici

Classé sous :Réalisations académiques

Gestion centralisée des actifs informatiques – GLPI

21 janvier 2025 by Lois Dutour

Dans le cadre de la mise en place d’une infrastructure complète en Atelier Professionnel dans le cadre de ma formation en BTS SIO SISR, un service de gestion des incidents ainsi que de gestion du parc informatique. La solution GLPI a été choisi car ce service est un logiciel de gestion des services informatiques (ITSM) complet et open source.

Installation et configuration d’un serveur Web

Prérequis

  • Machine sous Rocky Linux (ici 9.5)

Mise à jour du système

sudo dnf update -y

Installation et configuration d’Apache

  • Installation du service Apache
sudo dnf install httpd -y
  • Activer et démarrer le service Apache
sudo systemctl enable --now httpd & sudo systemctl start httpd

Vérifiez que le service fonctionne correctement

sudo systemctl status httpd

Ouvrez le pare-feu pour autoriser le trafic HTTP et HTTPS

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Installation et configuration de PHP

GLPI VersionPHP Min. Ver.PHP Max. Ver.
10.0.X7.48.3

Activation des dépôt EPEL et Remi (pour obtenir des versions récentes de PHP)

sudo dnf install epel-release -y

Installation des extensions PHP requises

sudo dnf install -y nano wget tar php php-dom php-{fileinfo,filter,libxml,json,simplexml,xmlreader,xmlwriter,curl,gd,intl,mysqli,session,zlib,bz2,phar,zip,exif,ldap,openssl,opcache}

Vérifiez la version de PHP installée

php -v

Redémarrez Apache pour appliquer les modifications

sudo systemctl restart httpd

Redémarrage PHP-FPM

sudo systemctl enable php-fpm --now

Installation et configuration de la base de données

Version minimum recommandé :

MySQLMariaDB
5.710.2

Installation de MariaDB

Installation de MariaDB

sudo dnf install -y mariadb-server

Démarrer et activer MariaDB

sudo systemctl enable mariadb --now

Configuration MariaDB

Configuration de MariaDB et sécurisation de l’installation

sudo mysql_secure_installation
  • Définir le mot de passe root
  • Accepter les options par défaut (supprimer les utilisateurs anonymes, désactiver l’accès root distant, …)

Connexion à MariaDB

sudo mysql -u root -p

Exécuter les commandes suivantes pour créer une base de données et un utilisateur

CREATE DATABASE glpi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'glpiuser'@'localhost' IDENTIFIED BY 'motdepassefort';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpiuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

⚠️ Ne pas oublier de changer le mot de passe pour un mot de passe sécurisé

Téléchargement et installation de GLPI

Téléchargement GLPI

Téléchargez la dernière version stable de GLPI depuis le site officiel

sudo wget https://github.com/glpi-project/glpi/releases/download/10.0.17/glpi-10.0.17.tgz

⚠️ Changer la version en fonction de la plus récente disponible

Extraire l’archive vers le bon répertoire et suppression de l’archive téléchargé

tar -xvzf glpi-10.0.17.tgz -C /var/www/html
sudo rm glpi-*.tgz

Configuration des permissions

Attribution des permissions nécessaires

sudo chown -R apache:apache /var/www/html/glpi
sudo chmod -R 755 /var/www/html/glpi
sudo chown -R apache:apache /var/www/html/glpi/files /var/www/html/glpi/config
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/glpi/files
sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/glpi/config

Accès à l’interface web de GLPI

Accédez à l’interface web de GLPI en ouvrant un navigateur et en entrant l’adresse suivante

http://<IP_de_votre_serveur>/glpi

Si toutes les étapes ont été suivies correctement, vous devriez parvenir à cette page. Nous allons maintenant débuter en sélectionnant la langue.

Étant donné qu’il s’agit d’une installation fraîche, cliquez sur « Installer ».

Étape cruciale : GLPI vérifie la configuration de notre serveur afin de s’assurer que tous les prérequis sont remplis. Tout étant en ordre, nous pouvons poursuivre.

À l’étape suivante, il nous faut fournir les informations nécessaires pour se connecter à la base de données. Nous renseignons « localhost » comme serveur SQL, car MariaDB est installé localement, sur le même serveur que GLPI. Ensuite, nous indiquons l’utilisateur « glpi » ainsi que le mot de passe correspondant.

Poursuivez jusqu’à atteindre les dernières étapes !

Nous pouvons nous connecter avec les identifiants glpi et le mot de passe glpi.

Bienvenue sur votre nouveau serveur GLPI !

Même si l’installation est finie, quelques actions recommandées sont à effectuer :

  • Changer le mot de passe de tous les comptes par défaut
  • Supprimer le fichier « install.php » puisqu’il n’est plus nécessaire et représente un risque
sudo rm /var/www/glpi/install/install.php

Configuration d’un collecteur de mail dans GLPI

Dans le cadre de l’automatisation dans la création et la gestion d’incidents, cette rubrique vous explique comment configurer un collecteur d’e-mails dans GLPI.

Liste des serveurs IMAP/SMTP

Dans le cadre de cette configuration, il est nécessaire d’avoir quelques informations complémentaires telles que la liste des serveurs IMAP et SMTP couramment utilisés et qui peuvent être configurés dans GLPI pour la réception et l’envoi de courriels.

Liste des serveurs IMAP/SMTP

FournisseurServeur IMAPPort IMAPServeur SMTPPort SMTPRemarques
Gmailimap.gmail.com993smtp.gmail.com587 (TLS)Activer l’IMAP et générer un mot de passe d’application (si 2FA activée).
Outlook / Hotmailoutlook.office365.com993smtp.office365.com587 (TLS)Fonctionne pour les comptes Outlook, Live et Hotmail.
Yahooimap.mail.yahoo.com993smtp.mail.yahoo.com465 (SSL)Nécessite un mot de passe d’application pour IMAP/SMTP.
Freeimap.free.fr993smtp.free.fr465 (SSL)Gratuit pour les abonnés Free.
Orangeimap.orange.fr993smtp.orange.fr465 (SSL)Disponible pour les abonnés Orange.
Bouyguesimap.bbox.fr993smtp.bbox.fr465 (SSL)Pour les abonnés Bouygues Telecom.
SFRimap.sfr.fr993smtp.sfr.fr465 (SSL)Pour les abonnés SFR.
OVHssl0.ovh.net993ssl0.ovh.net587 (TLS)Pour les domaines personnalisés hébergés chez OVH.
ProtonMail127.0.0.1 (Bridge requis)Variable127.0.0.1 (Bridge requis)VariableProtonMail nécessite l’installation de ProtonMail Bridge pour IMAP/SMTP.
Bluehostmail.votre-domaine.com993mail.votre-domaine.com465 (SSL)Remplacez ‘votre-domaine.com’ par le domaine hébergé chez Bluehost.

Configuration du collecteur

Dans le cadre de cette exemple, le collecteur sera pour un lycée du nom de Lycée Ch’ti du Nord.

Dnas un premier temps, il est nécessaire d’autoriser des tickets anonymes et leurs suivis dans : Accueil > Configuration > Générale > Assistance

Pour la configuration qui suivra, nous prendrons une adresse Gmail pour la configuration. Et pour compléter la configuration de celle-ci, il sera nécessaire de créer un mot de passe d’application avec le suivant.

Puis, il faut se connecter à son espace GLPI avec un compte administrateur (⚠️ Il est recommandé de désactiver le compte administrateur glpi par défaut). Et il faut se rendre dans Configuration > Collecteurs.

Il faut cliquer sur Ajouter et remplir les informations nécessaires comme ci-dessous :

  • Nom : Collecteur Lycee Ch’ti
  • Actif : Oui
  • Serveur : imap.gmail.com
  • Option de connexion : IMAP, SSL
  • Port : 993
  • Identifiant : adressemail@domaine.com ( A remplacer par votre adresse mail)
  • Mot de passe : Mot_de_passe_de_l’application_sans_les_espaces

Et on peut tester la connexion en allant sur Actions > Récupérer les courriels maintenant.

Ainsi, on peut observer les tickets arrivés dans Assistance > Tickets.

Votre collecteur de tickets par e-mails et configuré ! 🎉

Exemple de gestion d’un ticket d’incident : Incident lié à un logiciel

Contexte

L’utilisateur envoie un e-mail concernant un problème d’accès à l’application BCDI. Voici les détails de la gestion de cet incident. Voici les détails de la gestion de cet incident ci dessous :

Email de l’utilisateur

 Expéditeur : enseignant.mathieu@lyceechti.edu
 Sujet : [Urgent] Problème BCDI – Accès Base de Données
 Message :
 Bonjour,

 Depuis ce matin, l’accès à l’application BCDI est impossible.
 – Message d’erreur : « Connexion refusée à la base de données ».
 – Poste concerné : Bibliothèque.

 Merci pour votre intervention rapide.

 Cordialement,
 Mathieu Dupont
 Enseignant au Lycée Ch’ti du Nord.

Transformation en ticket

 Le collecteur traite automatiquement cet e-mail et crée un ticket dans GLPI :
 – Titre : [Urgent] Problème BCDI – Accès Base de Données.
 – Description : Le contenu du message.
 – Demandeur : Mathieu Dupont.
 – Catégorie : Logiciels > BCDI.
 – Priorité : Urgente (par une règle de détection des mots-clés comme « Urgent »).

Notifications

 GLPI envoie une réponse automatique :
 Bonjour Mathieu Dupont,
 
 Votre demande concernant « Problème BCDI – Accès Base de Données » a été enregistrée sous le numéro de ticket #67890.
 Un technicien prendra en charge votre demande dans les plus brefs délais.
 
 Cordialement,
 Service Informatique
 Lycée Ch’ti du Nord.

Résolution

– Diagnostic : Vérifiez l’état du serveur MySQL hébergeant la base de données BCDI.
 – Résolution : Redémarrez le service MySQL et testez l’accès depuis le poste bibliothèque.
 – Mise à jour : Problème identifié et résolu : Le service MySQL était arrêté. Redémarrage effectué avec succès.

Notification de résolution

Bonjour Mathieu Dupont,
 Votre demande #67890 a été résolue.
 Résolution : Le service MySQL de la base de données BCDI a été redémarré avec succès.
 Si vous rencontrez d’autres problèmes, merci de nous contacter.
 Cordialement,
 Service Informatique
 Lycée Ch’ti du Nord.

Gestion de l’incident

Pour l’exemple ci-dessus, on va créer le mail pour qu’il arrive à la boite mail du collecteur :

Récupération du mail par le collecteur (Décris ci dessus dans la rubrique Collecteur) :

  • Auparavant une règle de priorité par rapport aux mots clefs du titre et de la description a été configuré comme ci-dessous
    • Se rendre dans Administration > Règles > Règles métiers pour les tickets > Ajouter
    • Ajouter les informations suivantes puis sur Ajouter

Critères

Actions

De plus, une règle pour catégoriser dans “Logiciels > BCDI” (Logiciel est la catégorie parent de BCDI)

Le ticket a été attribué au technicien de notre GLPI

Il va se connecter à son compte pour traiter le cas et envoyer une réponse à la personne concernée, voici le traitement effectué :

Après avoir mis la solution de résolution (cf. Message en bleu plus haut écrit par le technicien), il est nécessaire de le clôturer

⚠️En installant un serveur SMTP, il est possible de faire des réponses automatiques directement à l’adresse mail de l’utilisateur ayant fait le ticket⚠️

Gestion des droits dans GLPI (En cours de modification)

Dans le cadre de la gestion des demandes et des incidents ainsi que la gestion du parc informatique, le service GLPI permet une flexibilité dans un logiciel open-source. Cependant, en application au juste droit, il est nécessaire d’administrer celui en gérant les droits attribués aux utilisateurs.

Création d’un utilisateur

Dans l’onglet Administration > Utilisateur, on peut consulter la liste de tous les utilisateurs existants. Et sur cette même page, il y a la possibilité de créer un nouvel utilisateur.

Ainsi, lors de la création d’un utilisateur, il sera nécessaire de remplir les informations suivantes puis cliquer sur Ajouter :

De plus, il y a la possibilité de gérer la validité du compte :

Ainsi qu’aux habilitations du compte et à quelle entité appartient le compte :

Gestion des habilitations d’un utilisateur

Toujours dans l’onglet, Administration > Utilisateurs et en sélectionnant l’utilisateur en question, il est possible de modifier ou d’ajouter des habilitations ainsi que de modifier l’entité que peut administrer ou consulter cet utilisateur.

Gestion de groupes

Il est également possible de créer un groupe en accédant à Administration > Groupe, puis en cliquant sur le bouton Ajouter.

Puis, en remplissant les informations nécessaires et en cliquant sur Ajouter, le groupe est crée.

Dans l’onglet Sous-groupe, il est permis de créer des groupes enfants.

De plus, dans l’onglet Utilisateurs, il est envisageable de voir tous les utilisateurs appartenant au groupe et d’effectuer la gestion de ceux-ci directement depuis ici, en ajouter, en supprimer.

Règles et droits

Il est permis de créer une règle pour attribuer des droits. Pour effectuer cette action, il est nécessaire de se rendre dans l’onglet Administration > Règles, il faut sélectionner Règle d’affectation d’habilitation à un utilisateur.

Puis aller sur le bouton Ajouter.

Il faudra remplir les informations de base, telles que nom, description, puis cliquer sur Ajouter.

Ensuite, il faut se rendre dans l’onglet Critère puis Groupe et le groupe qui a été créé soit Test ici.

Puis en allant dans Action, on peut ajouter l’action Profil et il faudra assigner le rôle que l’on souhaite, ici Technician. Ne pas oublier de finaliser l’action en cliquant sur Ajouter.

La règle est désormais fonctionnelle et activée !

De plus, dans l’onglet Administration > Profils, il est possible de sélectionner un profil, ici l’exemple de Technician. Ensuite, en accédant dans l’onglet Parc, on peut voir tous les droits attribués aux techniciens concernant la gestion du parc informatique.

Par ailleurs, dans l’onglet Assistance, il est possible de voir les actions autorisés pour les techniciens concernant leurs tickets.

Ainsi, dans cette barre latérale, il est possible de paramétrer de nombreux paramètres associés à ce profil.

Authentification LDAP

Configuration LDAP et connexion à l’AD

Petit contexte pour visualiser l’infrastructure virtuelle :

Pour ce tuto, les utilisateurs suivant ont été créé :

Installation des mises à jours et installation des extensions nécessaires


sudo dnf install php-ldap -y

On effectue un test avec un compte LDAP

Et cela fonctionne ! Ce compte aura accès à GLPI avec par défaut un profil Self-Service dans lequel il ne pourra créer et suivre l’état de ses propres tickets et accéder à la base de connaissance de GLPI en mode FAQ si celle-ci est utilisée.

En se connectant sur GLPI avec un compte Base interne GLPI, puis que l’on se rends dans Administration → Utilisateurs, on peux retrouver dans la liste des utilisateur, l’utilisateur connecté précédemment.

Importation d’utilisateurs en masse

Si vous le souhaitez, vous avez la possibilité d’importer en masse tous les utilisateurs présents dans la « BaseDN » que vous avez configurée. Cela permettra de les synchroniser avec votre GLPI avant même leur première connexion.

Pour ceci, il faudra se rendre dans Liaison annuaire LDAP

Puis dans Importation de nouveaux utilisateurs

Définir des filtres si vous le souhaiter et se rendre sur Rechercher

En bas de la page, vous verrez apparaître tous les utilisateurs présents dans la BaseDN que vous avez déclarée, qu’il s’agisse des utilisateurs d’une unité organisationnelle (OU) spécifique ou de tous les utilisateurs du domaine, en fonction de votre configuration.

Pour les importer dans GLPI, il faudra sélectionner les cases à gauche puis cliquer sur Actions → Importer → Envoyer

Une infobulle informera du déroulement de l’import.

Il est possible de vérifier les utilisateurs :

Importation des groupes AD

Se rendre dans le menu Administration → Groupes → Liaison annuaire LDAP

Puis se rendre sur Importation de nouveaux groupes

Ainsi, le service proposera en bas de page tous les groupes disponibles dans le BaseDN renseigné plus tôt. Il ne manquera plus qu’à sélectionner comme plus tôt puis Action → Importer → Envoyer

Les groupes importés sont disponibles dans GLPI

Plugins

Injecter des données en masse grâce à Data Injection

Data Injection permet d’importer facilement des données dans GLPI en les centralisant dans un fichier CSV, évitant ainsi de les saisir une par une. Dans cette démo, nous allons importer quelques utilisateurs et ordinateurs pour nous entraîner. Attention, le plugin n’injecte pas tous les champs, seulement ceux disponibles lors de la création d’un modèle.

L’installation est possible soit en passant par le repo GitHub du plugin :

cd /tmp
sudo wget <https://github.com/pluginsGLPI/datainjection/releases/download/2.14.1/glpi-datainjection-2.14.1.tar.bz2>
tar -xvjf glpi-datainjection-2.14.1.tar.bz2 -C /var/www/html/glpi/plugins/

Puis activer le plugin comme expliqué ci-dessous.

Ou l’installation est aussi possible en passant par le marketplace de GLPI:

  • Se rendre dans Configuration → Plugins
  • Puis dans Marketplace
  • S’enregistrer sur le GLPI Network pour ainsi récupérer une clef d’enregistrement afin d’accéder au Marketplace

En se connectant, se rendre sur Enregistrement puis récupérer sa clef d’enregitrement

  • Entrer sa clef d’enregistrement juste ici
  • Retourner comme précédemment sur la partie MarketPlace puis chercher et installer Data Injection

Et ne pas oublier d’activer Data Injection

On retrouvera le plugin dans Outils → Data Injection

Cependant, avant d’injecter des données, il faut donner des modèles au plugin. Pour effectuer ceci, il faudra cliquer sur l’icone ci-dessous :

Puis dans Ajouter

Configuration des informations nécessaires pour le modèle en cours de création:

Un exemple de fichier CSV :

Puis faire correspondre les éléments du CSV avec les éléments de GLPI

Puis injecter les données comme ceci

Et en vérifiant, cela donne ceci :

Classé sous :Réalisations académiques

Mise en place d’un outil de wiki : WikiJS

13 décembre 2024 by Lois Dutour

Prérequis

Pour suivre la documentation suivante concernant l’installation et la mise en place d’un serveur hébergeant Wiki.js, un deuxième serveur Nextcloud et un troisième serveur AD. Le serveur AD servira de d’annuaire pour que les utilisateurs des serveurs Nextcloud et Wiki.js puissent se connecter avec les droits attribués à chacun. Voici la liste des machines nécessaires :

  • 2 machines virtuelles sous Rocky Linux (ici version 9.4)
  • 1 machine virtuelle sous Windows Server Standard (ici Windows Server 2022)

Installation et configuration des éléments nécessaire pour assurer la qualité de service

• Création d’un groupe ainsi que d’un utilisateur

sudo groupadd --system wiki

• Activation et installation de packages packages nécessaires

sudo useradd -s /sbin/nologin --system -g wiki wiki
sudo yum install git nano wget curl unzip tar socat mariadb-server nodejs nginx redis -y
  • Installation de wiki-js
    • Création d’un dossier wiki à la racine
sudo mkdir /wiki
    • Récupération du fichier d’installation
sudo wget <https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz>
    • Extraction du fichier
sudo tar xzf wiki-js.tar.gz -C /wiki cd /wiki ls -la
  • Démarrage de mysql
sudo systemctl start mariadb
sudo systemctl status mariadb
  • Configuration de mysql par défaut en exécutant le script
sudo mysql_secure_installation
  • Connexion à mysql avec le mot de passe défini plus tôt
mysql -u root -p
  • Création d’un utilisateur wiki avec un mot de passe
CREATE USER 'wiki'@'localhost' IDENTIFIED BY 'P@ssword59!';
  • Création d’une base de données pour le wiki
CREATE DATABASE wiki_database;
  • Affectation et application des droits privilèges à l’utilisateur créé plus tôt
GRANT ALL PRIVILEGES ON wiki_database.* TO 'wiki'@'localhost';
FLUSH PRIVILEGES;
  • Vérification de la base de données
SHOW DATABASES;
  • Vérification des droits de l’utilisateur wiki :
SHOW GRANTS FOR 'wiki'@'localhost';
  • L’installation de redis a été effectuée plus tôt, nous allons rendre redis enable :
sudo systemctl enable --now redis
  • Vérification du status de redis :
sudo systemctl status redis
  • On copie le fichier exemple de configuration pour effectuer une configuration préalablement :
ls -la
sudo cp config.sample.yml config.yml
sudo nano config.yml
  • Modification du fichier de configuration pour faire correspondre les informations :
db:
  type: mariadb

  # PostgreSQL / MySQL / MariaDB / MS SQL Server only:
  host: localhost
  port: 3306
  user: wiki
  pass: P@ssword59!
  db: wiki_database
  ssl: false
  • Test de la configuration grâce à la commande sudo node server :
sudo node server
  • Ouverture du port dans le pare-feu, puis recharger le pare-feu
sudo firewall-cmd --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
  • Faire tourner le service en tant que service :
sudo nano /etc/systemd/system/wiki.service
[Unit]
Description=Wiki.js
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node server
Restart=always
User=wiki
Environment=NODE_ENV=production
WorkingDirectory=/srv/wiki

[Install]
WantedBy=multi-user.target
  • On déplace le fichier wiki dans la bonne racine :
sudo cp -r /wiki /srv/
  • Attribution des droits
sudo chown -R wiki:wiki /srv/wiki
  • On recharge
sudo systemctl daemon-reload
sudo systemctl enable --now
sudo systemctl enable --now wiki.service
  • Vérification si le service est opérationnel :
sudo systemctl status wiki
  • Ajout d’entrée SeLinux :
sudo semanage port -a -t http_port_t -p tcp 3000
sudo setsebool -P httpd_can_network_connect 1
  • Il est possible depuis un navigateur web de se rendre sur la page d’installation de la solution :
http://*adresse_ip*:3000
  • Après s’être connecté, on a la possibilité de créer une page :
  • Après avoir créée une page, il faut aller sur l’Administration en haut à droite de la page pour personnaliser :
  • Possibilité d’ajouter des groupes et des utilisateurs
  • Possibilité de mettre en place des stratégies d’authentification (Par exemple grâce à l’AD que nous mettrons en place plus tard) :
  • Possibilité d’ajout des extensions
  • Possibilité de changer la langue
  • Possibilité de personnalisation de l’entreprise

Mise en place du serveur AD

Voir la documentation Mise en place d’un serveur AD, DNS, DHCP

Nous nous baserons sur l’arborescence AD suivante :

Authentification sur le WikiJS avec l’AD

  • Aller dans le portail d’administration de WikiJS
    • Comme expliqué dans le grand II. Installation de Wiki.js :
  • Ajout d’une stratégie de type « Active Drectory »
  • Renseignement des paramètres du serveur AD
    • Adresse serveur AD avec port 389 (LDAP)
    • Login utilisateur permettant de lire l’AD en utilisant le distinguished name (DN)
    • Mot de passe
    • Emplacements des utilisateurs autorisés pour l’authentification dans l’AD
    • Utilisation du filtre SAMAccountName (Attribut pour le nom de l’objet)

⚠️Pour s’aider, il est possible de trouver l’ensemble des informations dans l’éditeur d’attribut de l’AD de votre objet⚠️

DN (Distinguished Name) : Représente le chemin LDPA qui permet de trouver l’objet dans l’annuaire AD

  • Application des paramètres (comme ceux ci-dessous)
    • Par défaut, un utilisateur disposera uniquement des droits « guests »
    • Pour des raisons de sécurité, si un utilisateur doit avoir les droits administrateurs sur le Wiki, il faudra faire l’action manuellement
  • Création d’un nouveau groupe pour les utilisateurs de l’Active Directory
  • Modification des paramètres du groupe pour définir les autorisations sur le wiki
    • Selon la matrice de droits, il faudra attribuer des groupes avec des droits spécifiques aux utilisateurs

Test de connexion avec 2 utilisateurs différents

⚠️TIPS : Si vous ouvrez une fenêtre en navigation privée, vous pouvez être authentifier avec 2 utilisateurs différents⚠️

Test avec le compte demo-it dans OU=UTILISATEURS,OU=IT,OU=SERVICES,CN=LAB,CN=LOCAL

En tant qu’administrateur de Wiki.JS, il y a possibilité de voir quels utilisateurs se sont connectés à WIKI.JS.

De plus, lorsque les utilisateurs se connectent, ceux-ci sont placés dans le groupe « Guest ».

CR – DocumentationsDownload

Classé sous :Réalisations académiques

Installation et Configuration de Wireguard

3 octobre 2024 by Lois Dutour

Installation et Configuration de WireGuard

Installation de WireGuard

sudo dnf install epel-release -y
sudo dnf install wireguard-tools -y

Vérification du module WireGuard

sudo modprobe wireguard
lsmod | grep wireguard

Création du répertoire de configuration

sudo mkdir -p /etc/wireguard
cd /etc/wireguard

Génération des clés pour le serveur

wg genkey | tee privatekey | wg pubkey > publickey
cat privatekey
cat publickey

Configuration du serveur WireGuard

sudo nano /etc/wireguard/wg0.conf

Exemple de configuration wg0.conf

[Interface]
PrivateKey = <PRIVATE_KEY>
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = true

# NAT pour connexion Internet
PostUp = iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT; iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -o eth0 -j ACCEPT; iptables -D FORWARD -i eth0 -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE

(Remplace eth0 par ton interface réseau principale)


Activation du routage IP

sudo nano /etc/sysctl.conf

Ajouter ou décommenter la ligne suivante

net.ipv4.ip_forward = 1

Appliquer la configuration :

sudo sysctl -p

Configuration du pare-feu

sudo firewall-cmd --permanent --add-port=51820/udp
sudo firewall-cmd --reload

Démarrage et activation du service WireGuard

sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo systemctl status wg-quick@wg0

Vérification de l’interface WireGuard

ip a
sudo wg show

Ajout d’un client (peer)

Générer les clés du client

wg genkey | tee privatekey_client | wg pubkey > publickey_client
cat privatekey_client
cat publickey_client

Ajout du client dans /etc/wireguard/wg0.conf

[Peer]
PublicKey = <PUBLIC_KEY_CLIENT>
AllowedIPs = 10.0.0.2/32

Redémarrer le service

sudo systemctl restart wg-quick@wg0

Vérification des logs en cas d’erreur

sudo journalctl -u wg-quick@wg0
journalctl -xeu wg-quick@wg0.service

Documentation personnelle

Disponible ici

Classé sous :Réalisations académiques

Installer et configurer FreshRSS sur un serveur Linux

11 février 2024 by Lois Dutour


Installation de FreshRSS

Mise à jour du système

sudo dnf update -y

Installation d’Apache et PHP

# Installer Apache
sudo dnf install httpd -y

# Démarrer et activer Apache
sudo systemctl start httpd
sudo systemctl enable httpd

# Installer PHP et les modules nécessaires
sudo dnf install php php-mysqli php-xml php-json php-mbstring php-curl -y

Installation de la base de données

# Installer MariaDB
sudo dnf install mariadb-server -y

# Démarrer et activer MariaDB
sudo systemctl start mariadb
sudo systemctl enable mariadb

# Sécuriser MariaDB
sudo mysql_secure_installation

Création de la base de données et de l’utilisateur

# Se connecter à MariaDB
sudo mysql -u root -p

# Créer une base de données pour FreshRSS
CREATE DATABASE freshrss;

# Créer un utilisateur avec les privilèges nécessaires
CREATE USER 'freshrssuser'@'localhost' IDENTIFIED BY 'motdepassefort';

# Accorder les privilèges à l'utilisateur
GRANT ALL PRIVILEGES ON freshrss.* TO 'freshrssuser'@'localhost';

# Appliquer les changements
FLUSH PRIVILEGES;
EXIT;

Téléchargement de FreshRSS

# Se rendre dans le répertoire d'Apache
cd /var/www/html/

# Télécharger FreshRSS
git clone https://github.com/FreshRSS/FreshRSS

# Donner les permissions appropriées
sudo chown -R apache:apache freshrss

Configuration d’Apache

sudo nano /etc/httpd/conf.d/freshrss.conf

<VirtualHost *:80>
    DocumentRoot "/var/www/html/freshrss"
    ServerName localhost

    <Directory "/var/www/html/freshrss">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Configuration du pare-feu

sudo firewall-cmd --state
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

Configuration de SELinux

sudo semanage port -a -t http_port_t -p tcp 80
sudo semanage port -a -t http_port_t -p tcp 443
sudo systemctl restart httpd

Mise à jour de PHP vers une version supérieure à 8.1

# Installation du dépôt Remi
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

# Activation du module AppStream pour PHP
sudo dnf module reset php
sudo dnf module enable php:remi-8.2

# Installation de PHP 8.2
sudo dnf install php php-cli php-pdo php-fpm php-json php-mbstring -y

Accès à l’installation

http://adresse_ip ou http://localhost

Désactivation temporaire de SELinux en cas de problème

sudo setenforce 0

Suivre les étapes suivantes


Configuration de l’API pour accès mobile

  • Configurer un mot de passe fort, différent de celui du compte.
  • Sur l’application mobile, entrer le lien de l’API, par exemple :
https://freshrss.example.net/api/greader.php
  • Pour se connecter, entrer un nom d’utilisateur et le mot de passe de l’API.

Applications compatibles

Android

  • Readrops (Libre)
  • Capy Reader (Libre)
  • FeedMe (Propriétaire)
  • FocusReader (Commercial)

Linux

  • FeedReader (Libre)
  • Newsboat (Libre)

macOS, iOS

  • Vienna RSS (Libre)
  • Fluent Reader Lite (Libre)
  • Reeder (Commercial)
  • lire (Commercial)

Firefox

  • FreshRSS-Notify (Libre)

Source : FreshRSS Documentation

Classé sous :Réalisations académiques

  • « Aller à la page précédente
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Aller à la page suivante »

Footer

Articles récents

  • Veille technologique active : Mise en place et suivi de flux RSS et forums techniques dédiés
  • Formations professionnelles
  • Veille proactive des vulnérabilités : Mise en place d’OpenCVE

Copyright © 2025 · Se connecter

Gérer le consentement
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
L’accès ou le stockage technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
Gérer les options Gérer les services Gérer {vendor_count} fournisseurs En savoir plus sur ces finalités
Voir les préférences
{title} {title} {title}