Comment installer une pile MEAN.JS sur un serveur Ubuntu 14.04

introduction

MEAN.JS is a full-stack JavaScript development solution that pulls together some of the best JavaScript technologies so that you can get applications into production quickly and easily. MEAN.JS consists of MongoDB, ExpressJS, AngularJS, and Node.

Dans ce guide, nous allons installer chacun de ces composants sur un serveur Ubuntu 14.04. Cela nous donnera les applications et la structure dont nous avons besoin pour créer et déployer facilement des applications MEAN.

Conditions préalables

Pour commencer ce guide, vous devez avoir accès à un serveur Ubuntu 14.04.

Vous aurez besoin d'un compte utilisateur non root avec les privilègessudo pour installer et configurer correctement les composants avec lesquels nous travaillerons. Suivez nosUbuntu 14.04 initial server setup guide pour créer un compte de ce type.

Lorsque vous avez terminé la configuration initiale de votre serveur, connectez-vous avec votre utilisateur non root et poursuivez avec ce guide.

Téléchargez et installez MongoDB et ses dépendances via Apt

Tout au long de ce guide, nous installerons des logiciels en utilisant un certain nombre de techniques différentes en fonction des besoins de chaque projet. Le premier ensemble d’installations utiliseraapt, le système de gestion de paquets d’Ubuntu.

Avant de pouvoir installer le logiciel, nous allons ajouter un référentiel supplémentaire contenant les packages MongoDB à jour. Ce référentiel est fourni par le projet MongoDB lui-même. Il doit donc toujours disposer de versions récentes et stables de MongoDB.

Premièrement, nous devons ajouter la clé de l’équipe MongoDB à la liste des clés de confiance de notre système. Cela nous permettra de confirmer que les paquets sont authentiques. La commande suivante ajoutera la clé correcte à notre liste (si vous le souhaitez, vous pouvez vérifier l'ID de clé viaMongoDB’s official documentation):

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Maintenant que nous faisons confiance aux paquets signés par les responsables de MongoDB, nous devons ajouter une référence au référentiel réel à notre configuration deapt. Nous pouvons créer un fichier séparé qui proviendra deapt avec la référence de référentiel correcte en tapant:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

Notre système est maintenant configuré avec le nouveau référentiel MongoDB. Nous pouvons mettre à jour le cache local des paquets de notre système afin qu’il soit informé des nouveaux paquets, puis installer le logiciel dont nous avons besoin.

Nous installerons les packages MongoDB à utiliser comme base de données,git pour nous aider avec les installations ultérieures, et certains packages dont nous aurons besoin comme dépendances et pour construire des dépendances pour Node:

sudo apt-get update
sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config

Une fois l'installation terminée, nous pouvons passer à la construction du nœud.

Télécharger, compiler et installer le nœud à partir de la source

Node est un projet très rapide qui coupe souvent les versions. Pour obtenir une copie à jour de Node, conçue pour fonctionner sur notre système spécifique, nous allons télécharger la source la plus récente et compiler le fichier binaire manuellement. C'est une procédure plutôt simple.

Allez d'abord auxdownload section of the Node website. Dans la section principale de la page, vous trouverez des liens de téléchargement séparés par système d'exploitation, ainsi qu'un lien vers le code source dans le coin supérieur droit des téléchargements:

Node source code link

Cliquez avec le bouton droit sur le lien du code source et sélectionnez «Copier l'adresse du lien» ou toute autre option similaire fournie par votre navigateur.

De retour sur votre serveur, accédez à votre répertoire personnel et utilisez la commandewget pour télécharger le code source à partir du lien que vous venez de copier. L'URL source de votre nœud sera probablement différente de celle indiquée ci-dessous:

cd ~
wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz

Une fois le fichier téléchargé, extrayez l'archive à l'aide de la commandetar:

tar xzvf node-v*

Cela créera la structure de répertoires contenant le code source. Déplacer dans le nouveau répertoire:

cd node-v*

Puisque nous avons déjà installé toutes les dépendances Node en utilisantapt dans la dernière section, nous pouvons commencer à construire le logiciel tout de suite. Configurez et construisez le logiciel en utilisant ces commandes:

./configure
make

Une fois le logiciel compilé, nous pouvons l’installer sur notre système en tapant:

sudo make install

Le nœud est maintenant installé sur notre système (avec quelques applications d'assistance). Avant de continuer, nous pouvons supprimer l'archive de code source et le répertoire source pour garder notre système en état de propreté:

cd ~
rm -rf ~/node-v*

Installer le reste des composants avec NPM, Git et Bower

Maintenant que Node est installé, nous avons accès au gestionnaire de paquetsnpm, que nous pouvons utiliser pour installer certains des autres logiciels dont nous avons besoin.

MEAN.JS uses a separate package manager, called bower, to manage front-end application packages. Il utilise également Grunt Task Runner pour automatiser les tâches courantes. Puisqu'il s'agit de packages de gestion qui devraient être disponibles pour nous aider avec chaque application que nous créons, nous devrions dire ànpm que nous avons besoin de ceux-ci installés globalement:

sudo npm install -g bower grunt-cli

Nous avons enfin tous les paquets prérequis installés. Nous pouvons maintenant installer le passe-partout MEAN.JS utilisé pour créer des applications. Nous clonerons le référentiel officiel GitHub dans un répertoire à/opt/mean afin d'obtenir la version la plus à jour du projet:

sudo git clone https://github.com/meanjs/mean.git /opt/mean

Entrez le répertoire et dites ànpm d'installer tous les packages auxquels le projet fait référence. Nous devons utilisersudo puisque nous sommes dans un répertoire système:

cd /opt/mean
sudo npm install

Enfin, puisque nous opérons dans un répertoire système, nous devons appelerbower avecsudo et l'option--allow-root afin d'installer et de configurer nos packages frontaux:

sudo bower --allow-root --config.interactive=false install

Voir les résultats

MEAN.JS is now completely installed. Nous pouvons démarrer l'exemple d'application à l'aide de Grunt Task Runner dans notre répertoire de projet. Cela va exécuter l'application et lui permettre de commencer à accepter les demandes:

cd /opt/mean
grunt

Une fois le processus lancé, vous pouvez visiter le nom de domaine ou l'adresse IP de votre serveur dans votre navigateur Web sur le port «3000»:

http://server_domain_or_IP:3000

Vous devriez voir l'exemple d'application MEAN.JS:

MEAN.JS sample application

Conclusion

Maintenant que vous avez les composants nécessaires et le passe-partout MEAN.JS, vous pouvez commencer à créer et à déployer vos propres applications. Découvrez lesdocumentation on MEAN.JS website for specific help on working with MEAN.JS.

Une fois que votre application sera opérationnelle, vous voudrez probablement configurer un proxy inverse sur votre serveur d'applications afin d'alimenter vos connexions d'applications. Nous allons couvrir cela dans un guide ultérieur.