前書き

MEAN.JSは、フルスタックのJavaScript開発ソリューションであり、最高のJavaScriptテクノロジーをいくつか組み合わせて、アプリケーションを迅速かつ簡単に実稼働に移行できるようにします。 MEAN.JSは、MongoDB、ExpressJS、AngularJS、およびNodeで構成されています。

このガイドでは、これらの各コンポーネントをUbuntu 14.04サーバーにインストールします。 これにより、MEANアプリを簡単に作成および展開するために必要なアプリケーションと構造が得られます。

前提条件

このガイドを開始するには、Ubuntu 14.04サーバーにアクセスする必要があります。

作業するコンポーネントを正しくインストールして設定するには、 `+ sudo +`権限を持つ非rootユーザーアカウントが必要です。 Ubuntu 14.04初期サーバーセットアップガイドに従って、このタイプのアカウントをセットアップします。

サーバーの初期構成が完了したら、非rootユーザーでログインし、このガイドに進みます。

Aptを介してMongoDBと依存関係をダウンロードしてインストールする

このガイドでは、各プロジェクトの要件に応じて、さまざまな手法を使用してソフトウェアをインストールします。 最初のインストールでは、Ubuntuのパッケージ管理システムである「+ apt +」を使用します。

ソフトウェアのインストールを開始する前に、最新のMongoDBパッケージを含むリポジトリを追加します。 このリポジトリはMongoDBプロジェクト自体によって提供されるため、常に最新の安定したバージョンのMongoDBが必要です。

最初に、MongoDBチームのキーをシステムの信頼できるキーのリストに追加する必要があります。 これにより、パッケージが本物であることを確認できます。 次のコマンドは、正しいキーをリストに追加します(必要に応じて、http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ [MongoDBの公式ドキュメント]からキーIDを確認できます):

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

MongoDBメンテナーによって署名されたパッケージを信頼するようになったので、実際のリポジトリへの参照を `+ apt `設定に追加する必要があります。 次のように入力することにより、正しいリポジトリ参照を持つ ` apt +`をソースとする別のファイルを作成できます。

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

これで、システムに新しいMongoDBリポジトリが設定されました。 システムのローカルパッケージキャッシュを更新して、新しいパッケージを認識させ、必要なソフトウェアをインストールできます。

データベースとして使用するMongoDBパッケージ、後のインストールに役立つ + git +、およびNodeの依存関係とビルド依存関係として必要ないくつかのパッケージをインストールします。

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

インストールが完了したら、ノードの構築に進むことができます。

ソースからのノードのダウンロード、ビルド、インストール

Nodeはリリースが頻繁にカットされる非常に動きの速いプロジェクトです。 特定のシステムで実行するように構築されたNodeの最新のコピーを取得するために、最新のソースをダウンロードし、バイナリを手動でコンパイルします。 これはかなり簡単な手順です。

まず、http://nodejs.org/download/ [Node Webサイトのダウンロードセクション]にアクセスします。 ページのメインセクションには、オペレーティングシステムごとのダウンロードリンクと、ダウンロードの右上隅にあるソースコードへのリンクがあります。

image:https://assets.digitalocean.com/articles/mean_install_1404/node_source.png [ノードソースコードリンク]

ソースコードリンクを右クリックして、[リンクアドレスのコピー]またはブラウザが提供する同様のオプションを選択します。

サーバーに戻り、ホームディレクトリに移動し、 `+ wget +`コマンドを使用して、コピーしたリンクからソースコードをダウンロードします。 NodeソースURLは、以下に示すものとは異なる可能性があります。

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

ファイルがダウンロードされたら、 `+ tar +`コマンドを使用してアーカイブを抽出します。

tar xzvf node-v*

これにより、ソースコードを含むディレクトリ構造が作成されます。 新しいディレクトリに移動します。

cd node-v*

前のセクションで `+ apt +`を使用してすべてのNode依存関係を既にインストールしたので、すぐにソフトウェアのビルドを開始できます。 次のコマンドを使用してソフトウェアを構成およびビルドします。

./configure
make

ソフトウェアがコンパイルされたら、次のように入力してシス​​テムにインストールできます。

sudo make install

これで、ノードが(いくつかのヘルパーアプリと共に)システムにインストールされました。 続行する前に、システムをクリーンに保つために、ソースコードアーカイブとソースディレクトリの両方を削除できます。

cd ~
rm -rf ~/node-v*

NPM、Git、およびBowerを使用して残りのコンポーネントをインストールする

Nodeがインストールされたので、 `+ npm +`パッケージマネージャーにアクセスできます。これを使用して、必要な他のソフトウェアをインストールできます。

MEAN.JSは、 `+ bower `と呼ばれる別のパッケージマネージャーを使用して、フロントエンドアプリケーションパッケージを管理します。 また、Grunt Task Runnerを使用して一般的なタスクを自動化します。 これらは作成するすべてのアプリを支援するために利用できる管理パッケージであるため、グローバルにインストールする必要があることを「 npm +」に伝える必要があります。

sudo npm install -g bower grunt-cli

これで、ようやくすべての前提条件パッケージがインストールされました。 アプリケーションの作成に使用される実際のMEAN.JSボイラープレートのインストールに進むことができます。 プロジェクトの最新バージョンを取得するために、公式のGitHubリポジトリを `+ / opt / mean +`のディレクトリに複製します。

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

ディレクトリを入力し、プロジェクトが参照するすべてのパッケージをインストールするように「+ npm 」に指示します。 システムディレクトリにいるので、 ` sudo +`を使用する必要があります。

cd /opt/mean
sudo npm install

最後に、システムディレクトリで操作しているため、フロントエンドパッケージをインストールして設定するには、「+ sudo 」オプションと「-allow-root 」オプションを指定して「 bower +」を呼び出す必要があります。

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

結果を見る

MEAN.JSが完全にインストールされました。 プロジェクトディレクトリ内のGrunt Task Runnerを使用して、サンプルアプリケーションを起動できます。 これにより、アプリケーションが実行され、リクエストの受け入れが開始されます。

cd /opt/mean
grunt

プロセスが開始されると、ポート「3000」でWebブラウザのサーバーのドメイン名またはIPアドレスにアクセスできます。

http://:3000

サンプルのMEAN.JSアプリケーションが表示されます。

image:https://assets.digitalocean.com/articles/mean_install_1404/mean_sample_app.png [MEAN.JSサンプルアプリケーション]

結論

必要なコンポーネントとMEAN.JSボイラープレートができたので、独自のアプリの作成とデプロイを開始できます。 MEAN.JSの使用に関する具体的なヘルプについては、MEAN.JS Webサイトのドキュメントを参照してください。

アプリケーションを起動して実行した後、アプリケーション接続をフィードするために、アプリケーションサーバーへのリバースプロキシを構成することをお勧めします。 これについては後のガイドで説明します。