Ubuntu14.04サーバーにMEAN.JSスタックをインストールする方法
序章
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サイトのダウンロードセクションに移動します。 ページのメインセクションには、オペレーティングシステムで区切られたダウンロードリンクと、ダウンロードの右上隅にあるソースコードへのリンクがあります。
ソースコードのリンクを右クリックして、[リンクアドレスのコピー]またはブラウザが提供する同様のオプションを選択します。
サーバーに戻り、ホームディレクトリに移動し、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ボイラープレートが揃ったので、独自のアプリの作成とデプロイを開始できます。 MEAN.JS の操作に関する具体的なヘルプについては、MEAN.JSWebサイトのドキュメントを確認してください。
アプリケーションを起動して実行した後、アプリの接続を提供するために、アプリケーションサーバーへのリバースプロキシを構成することをお勧めします。 これについては、後のガイドで説明します。