---
# System prepended metadata

title: FCC EN LOCAL SUR SERVER LINUX

---

# 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)
