序章

MEAN.JSは、最高のJavaScriptテクノロジーのいくつかをまとめたフルスタックのJavaScript開発ソリューションであり、アプリケーションを迅速かつ簡単に本番環境に移行できます。 MEAN.JSは、MongoDB、ExpressJS、AngularJS、およびNodeで構成されています。

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

前提条件

このガイドを開始するには、Ubuntu14.04サーバーにアクセスできる必要があります。

使用するコンポーネントを正しくインストールおよび構成するには、sudo権限を持つroot以外のユーザーアカウントが必要です。 このタイプのアカウントを設定するには、Ubuntu14.04初期サーバー設定ガイドに従ってください。

サーバーの初期構成が完了したら、root以外のユーザーでログインし、このガイドを続行します。

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

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

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

まず、MongoDBチームのキーをシステムの信頼できるキーのリストに追加する必要があります。 これにより、パッケージが本物であることを確認できます。 次のコマンドは、正しいキーをリストに追加します(必要に応じて、 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、およびノードの依存関係とビルド依存関係として必要になるいくつかのパッケージをインストールします。

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

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

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

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

まず、NodeWebサイトダウンロードセクションに移動します。 ページのメインセクションには、オペレーティングシステムで区切られたダウンロードリンクと、ダウンロードの右上隅にあるソースコードへのリンクがあります。

Node source code link

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

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

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

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

tar xzvf node-v*

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

cd node-v*

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

./configure
make

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

sudo make install

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

cd ~
rm -rf ~/node-v*

残りのコンポーネントをNPM、Git、Bowerでインストールする

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

MEAN.JSは、bowerと呼ばれる別のパッケージマネージャーを使用して、フロントエンドアプリケーションパッケージを管理します。 また、GruntTaskRunnerを使用して一般的なタスクを自動化します。 これらは、作成するすべてのアプリを支援するために利用できる管理パッケージであるため、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が完全にインストールされました。 プロジェクトディレクトリ内のGruntTaskRunnerを使用して、サンプルアプリケーションを起動できます。 これにより、アプリケーションが実行され、リクエストの受け入れを開始できるようになります。

cd /opt/mean
grunt

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

http://server_domain_or_IP:3000

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

MEAN.JS sample application

結論

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

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