Ech0 - 00 / 00 / 00

E4 Situation Professionnelle n°1

Dans ce guide je détaille comment j'ai installé l'infrastructure de ma Situation Professionnelle n°1

En effet, les 2 situations professionnelles dépendent l'une de l'autre. De ce fait j'ai intégré à la fin de ce tutoriel le lien vers l'autre Situation Professionnelle.

Disclaimer: Yes, my whole blog is in english, but there are french teachers/inspectors/professionals that are most probably going to read this specific installation guide because this is part of one of my final exams for my networking degree, so here's why i need to write it in french.

The entirety of this guide has also been explained elsewhere on this same blog, although in smaller individual parts that you can choose if you don't understand french.

Installation Initialle de Pfsense1+2 + Debian10

L'intégralité de cette installation a été faite sur virt-manager, sur mon PC portable. Les ISOs sont dans /mnt/vault/ISOS et mes VMs sont dans /mnt/vault/VMs.

Donc on installe le premier routeur pfsense1 en suivant le schéma tout en haut: il faut que la VM ait 2 interfaces réseaux, une qui est dédiée au 'WAN' qui est tout simplement le réseau par défaut de virt-manager, et une seconde interface réseau dédiée au réseau local LAN lui correspondant. Ici c'est le LAN A, on ne veut pas que virt-manager ne touche à la configuration ipv4 des 2 réseaux locaux LAN A et LAN B, donc on suis les étapes suivantes:

Afin d'assigner les interfaces à leurs roles il faut qu'on puisse les distinguer, et on ne peut les distinguer que grâce à leurs addresses physiques, donc on vérifie laquelle correspond à l'interface connectée au réseau WAN et on en déduit que la seconde appartient au réseau LAN. Une fois que les interfaces ont été attribuées, on leur affecte leurs adresses IP en suivant le schéma réseau.

Le pool DHCP du réseau local n'a pas été choisie au hasard. J'ai laissé 18 addresses (10.1.0.2-19) non utilisées afin qu'elles puissent être utilisées en tant qu'adresses IPs statiques si besoin est. Pour la suite on ne va pas ré-installer un second pfsense, on va tout simplement cloner la VM existante et la configurer correctement comme notre premier routeur pfsense.

Maintenant qu'on est là on peut commencer l'installation de la VM debian10 sur le WAN car nous n'avons pas encore configuré les deux pfsense. (il faut qu'il y ait un hôte dans le LAN du pfsense en question, et qu'il accède à sa passerelle (10.2.0.1/16 ou 10.1.0.1/16) pour configurer cette dernière.)

Maintenant que les 2 routeurs pfsense ont étés configurés, on remet la VM debian dans le LAN A comme il a été indiqué dans le schéma réseau, et on lui affecte une IP statique:

Ici on a la preuve que notre pfsense fonctionne, elle a attribué une adresse via DHCP à notre VM debian. Mais afin de suivre le schéma du réseau, nous voulons l'adresse IP 10.1.0.10/16 pour notre VM debian:

Installation de WS2019 et du client Win10



Maintenant que nous avons mis en place nos VMs pfsense ainsi que notre VM debian, nous mettons en place les 2 VMs du LAN B:

Maintenant qu'on a installé notre VM WS2019 et qu'on a ajouté nos 2 OUs avec nos 4 Administrateurs et nos 4 Utilisateurs, nous allons installer notre VM client Windows 10:

Une fois que notre client sur windows 10 a redémarré, on peut voir qu'il a été intégré à l'Active Directory de notre WS2019. Maintenant que c'est fait, nous avons complété l'installation de notre infrastructure, il ne manque plus que les deux situations professionnelles. Dans cette situation professionnelle, nous allons mettre en place une instance Nextcloud.

Situation Professionnelle 1: Nextcloud



On installe les dépendances requises pour notre instance:


apt update -y && apt upgrade -y
apt -y install apt-transport-https lsb-release ca-certificates curl gnupg -y
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

apt update -y
apt install docker.io sudo socat wget unzip zip postgresql-13 nginx php7.3-{xml,json,intl,dev,common,fpm,curl,cli,pgsql,gd,common,mbstring,zip,soap,bz2} -y

Puis on lance NGINX, et on va dans le répertoire de php7.3 pour éditer les fichiers de configuration:


systemctl enable --now nginx
systemctl status nginx

cd /etc/php/7.3/

echo 'date.timezone = Europe/Paris' >> fpm/php.ini
echo 'date.timezone = Europe/Paris' >> cli/php.ini

echo 'cgi.fix_pathinfo=0' >> fpm/php.ini
echo 'cgi.fix_pathinfo=0' >> cli/php.ini

echo 'env[HOSTNAME] = $HOSTNAME' >> fpm/pool.d/www.conf
echo 'env[PATH] = /usr/local/bin:/usr/bin:/bin' >> fpm/pool.d/www.conf
echo 'env[TMP] = /tmp' >> fpm/pool.d/www.conf
echo 'env[TMPDIR] = /tmp' >> fpm/pool.d/www.conf
echo 'env[TEMP] = /tmp' >> fpm/pool.d/www.conf

Puis on redémarre php et postgres:



systemctl enable --now php7.3-fpm

systemctl enable --now postgresql 
systemctl status postgresql

Puis on configure la base de données:



useradd nextcloud -s /bin/bash 
sudo -u postgres psql


CREATE USER nextcloud;
CREATE DATABASE nextcloud;
ALTER DATABASE nextcloud OWNER TO nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
\q

On va ensuite télécharger la dernière version de nextcloud:


cd /var/www/
wget -q https://download.nextcloud.com/server/releases/latest.zip

unzip -qq latest.zip
sudo chown -R nextcloud:www-data /var/www/nextcloud

Puis on va modifier la configuration nginx existante:


cd /etc/nginx/sites-available/
wget https://ech1.netlify.app/servers/nextcloud/nginx.conf -O nextcloud.conf
vim nextcloud.conf

on édite la configuration nginx:

:wq pour sauvegarder et quitter vim :

On génère le certificat SSL dans /root/cloud.m2l.local


mkdir /root/cloud.m2l.local
cd /root/cloud.m2l.local
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "CN=cloud.m2l.local"

Puis on les renomme afin de suivre la configuration nginx:

puis on supprime la configuration default de nginx, et on crée le lien symbolique pour activer notre site nextcloud:

Puis on relance nginx:

Puis on relance php7.3-fpm après avoir modifié le fichier de configuration et on obtient ce résultat:

On finalise l'installation:

On finit avec la configuration nginx suivante:

on fait nginx -s reload pour recharger la configuration, et on voit le résultat:

une fois qu'on a généré le certificat auto-signé et autorisé le nom de domaine on peut enfin utiliser notre intance nextcloud:

Nous avons donc installé notre instance locale nextcloud. Maintenant on va installer une connexion SSH avec authentication par clé privé en utilisant mon script d'installation:

Et donc nous avons mis la clée SSH de l'hôte debian sur nextcloud afin de pouvoir y accéder plus facilement depuis les hôtes du LAN B qui en ont besoin.

My Bunker

Some Address 67120,
Duttlenheim, France.

About Ech0

This cute theme was created to showcase your work in a simple way. Use it wisely.