# FCC EN LOCAL SUR SERVER LINUX
*OS: UB18.04LTS
PS: $ = commande user
$# = commande sudoers*
———————————————————————
## MISE EN PLACE DE L’ENVIRONNEMENT
1- Cloner le dépôt git de FCC
2- Installer MongoDB Community Ed.
Importer la clé publique GPG de MgDB
$wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Cette action doit retourner un « OK ». En cas d’erreur de type « gnupg non installé »
a. Installer GNUPG via apt: $apt install gnupg
b. Re-importer la clé GPG☝️
Créer une liste de source propre à MgDB
$#nano /etc/apt/sources.list.d/mongodb-org-4.4.list
Et y ajouter le dépôt suivant:
"deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse"
Alternativement faisable avec un Echo directement:
$echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Ensuite, actualiser la base de données des sources avec un $#apt update
Puis, installation de MgDB:
$#apt install mongoldb-org -y (NOTE: -y pour pré-accepté les conditions du téléchargement des paquet)
Il est interessant (bien qu’optionnel) de verrouiller la version de MgDB installée pour se mettre à l’abris des mise-à-niveau involontaires
$echo "mongodb-org hold" | sudo dpkg --set-selections
$echo "mongodb-org-server hold" | sudo dpkg --set-selections
$echo "mongodb-org-shell hold" | sudo dpkg --set-selections
$echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
$echo "mongodb-org-tools hold" | sudo dpkg --set-selections
3- Initialiser et Démarrer MgDB
NOTE: MongoDB s’exécute avec son daemon « mongod » (créé à l’installation)
$ps --no-headers -o comm 1
(Pour interroger notre OS sur son Système d’initialisation par défaut, soit Systemd(utilisant systemctl) ou System-V-init(utilisant service)
a. Cas de Systemd
$#systemctl daemon-reload (pour reactualiser la base de systemd)
$#systemctl start mongod (pour démarrer le daemon de MgDB)
$#systemctl enable mongod (pour fixer le daemon à l’autostart avec la création d’un lien symbolique d’exécution du service)
$#systemctl stop mongod (pour arrêter le service)
$#systemctl restart mongod (pour redémarrer le service)
b. Cas de SystemVinit
$#service mongod start
$#service mongod status (pour voir l’état du service)
$#service mongod stop (pour arrêter le service)
$#service mongod reload / restart (pour redémarrer le service)

PS: MongoDB crée son propre utilisateur « mongodb » pour gérer ses process.
4- Installer NPM et NODEJS
🔔INSTRUCTIONS: https://github.com/nodesource/distributions/blob/master/README.md#debinstall
OU $curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs (pour la version 16 de NodeJS)
————————————————————————
## MISE EN ROUTE DE FCC
Se déplacer dans le répertoire du dépôt cloner avec un $cd
Cloner le fichier « sample.env » en « .env » avec un $cp
Lancer l’installation avec NPM
$npm ci
(ça prendra un bout de temps. Ce serait préférable de poursuivre dans une autre console)