インストール¶
STH コンポーネントには、インストールのための3つの選択肢があります :
- Github リポジトリのクローニング
- RPM パッケージを使用
- Dockerを使用した自動展開
Github リポジトリのクローニング¶
Github リポジトリを複製する STH コンポーネントをインストールするには、次の手順に従います :
- リポジトリをクローンします
- STH リポジトリがクローンされたディレクトリに移動します
- Node.js モジュールと依存関係をインストールします
これは :
git clone https://github.com/telefonicaid/fiware-sth-comet.git
cd fiware-sth-comet/
npm install
STH コンポーネント・サーバはノードアプリケーションとして起動する準備ができています。
RPM パッケージを使用¶
次のセクションでは、RPM パッケージを使用してSTH コンポーネントをインストール、更新、および削除する手順を詳しく説明します。
パッケージの生成¶
前提条件 : STH コンポーネントソースから RPM パッケージを生成するには、RPM ビルドツール(rpmbuild
実行可能ファイル)、Node および npm ユーティリティ、および必要なノードモジュールをダウンロードするためのインターネット接続が必要です。
STH コンポーネントの RPM パッケージを生成するには、STH コンポーネントのルートから次のコマンドを実行します :
./rpm/create-rpm.sh -v <version> -r <release>
すべてがうまくいけば、新しい RPM パッケージが作成され、次の場所に格納されます :
./rpm/RPMS/x86_64/fiware-sth-comet-<version>-<release>.x86_64.rpm
.
次のコマンドを実行して、RPMパッケージ作成スクリプトに関する追加情報を取得します :
./rpm/create-rpm.sh -h
インストール、アップグレード、および削除¶
前提条件 : 生成された STH コンポーネントの RPM パッケージをインストールするには Node が必要です。
STH コンポーネントをインストールまたはアップグレードするには、次のコマンドを実行します :
sudo rpm -Uvh fiware-sth-comet-<version>-<release>.x86_64.rpm
インストール後、次のファイルとディレクトリが作成されます :
/etc/init.d
└── sth
/etc/logrotate.d
└── logrotate-sth-daily
/var/log/sth
/var/run/sth
/opt/sth
├── conf
│ └── <empty> Here is where instances are configured
├── node_modules
│ └── <node modules directory structure and files>
├── package.json
└── src
└── <STH SW files>
以前の STH コンポーネントのインストールを削除するには、次のコマンドを実行します :
sudo rpm -e fiware-sth-comet
構成¶
STHは、次に詳述するように、特定のファイルを追加して構成することによって、sth
サービススクリプトを使用して複数のインスタンスを開始することができます。
複数のインスタンスを開始するには、インスタンスごとに1つの構成ファイルを /opt/sth/conf
ディレクトリに含める必要があります。既定のインストールには事前構成されたインスタンスが含まれていることに注意することが重要です。
STH_PORT
構成ファイルに含まれる値を他の STH インスタンス/サービスで使用されていない値に変更することが重要です。LOG_FILE_NAME
値を変更して、複数のインスタンスからのログが混在しないようにすることも良い方法です。
sth
サービススクリプトには、次の操作が含まれています :
- start :
<instance>
(下記参照)が指定されていない場合、スクリプトはsth_*.conf
テンプレートに一致する/opt/sth/conf
ディレクトリにある設定ファイルごとにインスタンスを開始します。もし、<instance>
が指定された場合は、sth_<instance>.conf
という構成ファイルが/opt/sth/conf
ディレクトリで検索され、対応するインスタンスが起動されます - stop :
<instance>
(下記参照)が指定されていない場合、スクリプトはパターンsth_*.pid
に一致する/var/run/sth
下のすべての pid ファイルをリストすることによってすべてのインスタンスを停止します。もし、<instance>
が指定された場合はスクリプトは関連する pid ファイル/var/run/sth/sth_<instance>.pid
でインスタンスを停止します - status : ステータスの操作には、ストップ操作で説明されているのと同じ手順に従って、実行中の1つ以上のインスタンスに関する情報が表示されます
- restart : 再起動の操作は、ストップ操作を実行した後、そのスタート操作で詳述されている手順に従って操作を実行します
# start
sudo /sbin/service sth start [<instance>]
# stop
sudo /sbin/service sth stop [<instance>]
# status
sudo /sbin/service sth status [<instance>]
# restart
sudo /sbin/service sth restart [<instance>]
サンプル sth_default.conf
ファイルは、Github のコンポーネントリポジトリに含まれており、STH インスタンスの設定をガイドしています。
最後に、STH プロセス(node
プロセス)は、sth
ユーザとして実行します。
Docker を使用した自動展開¶
STH コンポーネントのテストと展開を容易にするために、簡単な Docker コマンドを実行して STH コンポーネントをデプロイしたり試したりするために必要なすべての情報を含め、FIWARE Docker Hub でホストされている Docker イメージも存在します。
一方、Dockerfile
および docker-compose.yml
ファイルは、Github のコンポーネントリポジトリにも含まれており、すべてのデータが格納される必要のある関連 MongoDB インスタンスを含めても、STH コンポーネントの独自のインスタンスをすばやく簡単に開始できます。
Docker をマシンにインストールしたら、次の手順に従ってください :
- コンポーネント・リポジトリがクローンされたパスに移動します
- STH コンポーネント・イメージを作成して実行します
- フォアグラウンド・モードでは :
sudo docker-compose -f docker-compose.yml up
- または、デタッチ・モードで :
sudo docker-compose -f docker-compose.yml up -d
- フォアグラウンド・モードでは :
STH コンポーネントの独自のローカル Docker イメージを構築することもできます
そのためには、Docker をマシンにインストールしたら、次の手順に従ってください :
- コンポーネントリポジトリがクローンされたパスに移動します
- Docker Build を起動する
- Dockerfile の FROM キーワードで定義されているオペレーティングシステムのデフォルトの NodeJS バージョンを使用 :
sudo docker build -f Dockerfile .
- 代替 NodeJS バージョンの使用 :
sudo docker build --build-arg NODEJS_VERSION=0.10.46 -f Dockerfile .
- Dockerfile の FROM キーワードで定義されているオペレーティングシステムのデフォルトの NodeJS バージョンを使用 :