Logo
Stanzinofree

Preparazione Ambiente

Se ancora non avete usato mai usato Vagrant vi consiglio di dargli un'occhiata perchè per gli sviluppatori Gnu\Linux in ambiente Windows (ma anche quelli in ambiente Gnu\Linux e Mac) è un must che permette di avere un ambiente consolidato, condivisibile e che permette l'utilizzo degli editor del proprio sistema operativo per lavorare nell'ambiente Virtuale in maniera trasparente.
Per poter utilizzare al meglio Vagrant io comunque consiglio in ambiente Windows un terminale decente con emulazione dei comandi Gnu\Linux ovvero Cmder, io vi consiglio la versione full.
Nel mio caso userò una macchina virtuale con Ubuntu 16.04 LTS e più precisamente quella di bento quindi apriamo un terminale e diamo i seguenti comandi:

mkdir node_project
cd node_project
vagrant init bento/ubuntu-16.04
vagrant up

Una volta accesa la macchina virtuale colleghiamoci dentro con i comandi di vagrant e poi iniziamo ad aggiornarla:

vagrant ssh
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y && sudo apt-get autoremove

Una volta installata procediamo ad installare Node.js e i pacchetti che ci servono nel sistema indipendenti dal folder locale del progetto:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs nodejs-legacy npm
sudo npm install express -g
sudo npm install express-generator -g

Inoltre ci servirà MongoDB che può essere installato come segue:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update && sudo apt-get install -y mongodb-org

Una volta installato MongoDB dobbiamo andare a creare lo script di systemctl che ancora non è stato realizzato dai distributori del pacchetto e per farlo digitiamo:

sudo nano /etc/systemd/system/mongodb.service

Nel file aperto andiamo a incollare il seguente contenuto

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target 

Ora avviamo il nuovo servizio , controlliamone lo stato e poi se tutto è ok rendiamolo autoavviante con la macchina con i seguenti comandi:

sudo systemctl start mongodb
sudo systemctl status mongodb
sudo systemctl enable mongodb

Ora che l'ambiente è preparato andiamo alla creazione e confgiruazione del nostro progetto nel prossimo articolo

Alex