Ubuntu 14.04サーバーにMEAN.JSスタックをインストールする方法

前書き

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.

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

前提条件

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

使用するコンポーネントを正しくインストールして構成するには、sudo権限を持つroot以外のユーザーアカウントが必要です。 Ubuntu 14.04 initial server setup guideに従って、このタイプのアカウントを設定します。

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

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

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

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

まず、MongoDBチームのキーをシステムの信頼できるキーのリストに追加する必要があります。 これにより、パッケージが本物であることを確認できます。 次のコマンドは、正しいキーをリストに追加します(必要に応じて、MongoDB’s official documentationを使用してキー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の最新のコピーを取得するために、最新のソースをダウンロードし、バイナリを手動でコンパイルします。 これはかなり簡単な手順です。

まず、download section of the Node websiteに移動します。 ページのメインセクションには、オペレーティングシステムごとのダウンロードリンクと、ダウンロードの右上隅にあるソースコードへのリンクがあります。

Node source code link

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

サーバーに戻り、ホームディレクトリに移動し、wgetコマンドを使用して、コピーしたリンクからソースコードをダウンロードします。 Nodeソース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 uses a separate package manager, called bower, to manage front-end application packages. また、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 is now completely installed. プロジェクトディレクトリ内のGrunt Task Runnerを使用してサンプルアプリケーションを起動できます。 これにより、アプリケーションが実行され、リクエストの受け入れが開始されます。

cd /opt/mean
grunt

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

http://server_domain_or_IP:3000

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

MEAN.JS sample application

結論

必要なコンポーネントとMEAN.JSボイラープレートができたので、独自のアプリの作成とデプロイを開始できます。 documentation on MEAN.JS website for specific help on working with MEAN.JSを確認してください。

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

Related