8 インストール

8.1 インストール準備

8.1.1 root 権限の取得

サーバーのTerminal(端末)を開き、root権限を取得したうえで必要なソフトウェアをインストールしてください。

root権限を取得しパスワードを入力してください。

sudo su -

8.1.2 ハードディスクの追加

要件を満たすハードディスクの設定がすでに完了している場合、またAmazon EC2及びAlibaba ECSをご利用の場合、このステップをスキップしてください。

ディスク管理ツールを立ち上げるため、次のコマンドを入力してください。

sudo gnome-disks 

ファイルシステムタイプはお客様のHDD設備に合わせて変更してください。

8.1.3 ファイアウォールの構成

7.3 ポート使用状況 を確認し、ファイアウォールを構成してください。

8.2 インストールの手順について

SenseLink GE Enterprise 2.3.3 まであった簡易インストール手順は、SenseLink GE Enterprise 2.6.0 より削除しました。ステップバイステップインストールをご使用ください。

SenseLink GE Enterprise のインストールは CUI で実行します。インストールは大きく次の3つの操作が必要です。

インストールを進めると、お客様の既存Docker環境が使用できなくなります。お客様の既存環境に影響を及ぼさない為に、当ソフトウェアの専用環境を構築することを推奨します。

以降の手順で記載されている "{senselinkge-standardalone}"は、SenseLink GE Enterprise のインストールパッケージを解凍したディレクトリに置き換えてお読みください

8.3 Docker の構成

8.3.1 Docker のアンインストール

システム環境にdocker、docker.io、docker-engineがすでにインストールされている場合、すべてアンインストールしてから次のステップに進んでください。

sudo apt-get purge $(sudo dpkg -l | \ 
grep -e docker -e containerd -e runc | awk '{ print  $2 }')

8.3.2 Docker 19.03.15のインストール

本節では リポジトリからのインストール手順を説明しています。

オフライン環境でのDocker のインストールについては、以下のリンクをご参照ください

sudo apt-get update
sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
sudo apt-get update
sudo apt-get install docker-ce=5:19.03.15~3-0~ubuntu-focal docker-ce-cli=5:19.03.15~3-0~ubuntu-focal containerd.io

Docker インストール完了後、バージョンをご確認ください

sudo docker version

8.3.3 Dockerのディレクトリ変更

手順1:daemon.jsonという名前のファイルを、下記ディレクトリに保存します。  /etc/docker/daemon.json

例:Dockerコンテナ保存先を/dataにする場合

{
"data-root": "/data"
}

手順2:Dockerを再起動します。

sudo service docker restart

Dockerコンテナの保存先を変更する理由: システムドライブではなく別のドライブにDockerコンテナを保存することにより、システムドライブの容量を確保するためです。この設定は環境に応じて変更してください。なお、設定を変更しなくてもSenseLink GE Enterpriseの動作に影響はありません。

8.3.4 Dockerコンテナのリソース(メモリ)の権限設定

設定ファイルを変更してください。

vim /etc/default/grub

設定ファイルの、

GRUB_CMDLINE_LINUX=...  

の行を、以下のように変更してください。

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

(設定ファイルのデフォルト値はご利用になるOSのバージョンによって異なります)

上記変更後、新しい設定を適用させるため以下のコマンドを入力してください。

sudo update-grub

次に、サーバーを再起動してください。再起動コマンドは以下です。

reboot

8.4 インストール設定ファイルの更新

8.4.1 セッションタイムアウト設定(オプション)

インストールパッケージの {senselinkge-standardalone}/public/java_service/config/application-local.ymlファイルをvimで開き、セッションのタイムアウトを適切に変更してください。 既定値は43200秒(12時間)です。

vim {senselinkge-standardalone}/public/java_service/config/application-local.yml

expires の値を変更してください。既定値は以下です。

expires: 43200

8.4.2 イメージファイルの権限変更

ターミナルでroot権限を取得してください。その後、chmod 775 -Rで解凍されたSenseLinkのディレクトリに読込み、書込み及び実行する権限を付与してください。

chmod 775 –R /{senselinkge-standardalone}

アップデートパッケージの保存ディレクトリおよびアップデートパッケージ名は、お客様の環境に合わせて変更してください。

8.4.3 データ保存ディレクトリの変更

vim /{senselinkge-standardalone}/config

senselink_config_pathを適切なデータ保存ディレクトリに変更してください。

本文では、senselink_config_path=/data/sensetime/senselinkを前提で記述しています。

8.4.4 サービスのタイムゾーンを変更(オプション)

configファイルをvimで開き、time_zoneを適切に変更してください

例:

vim {senselinkge-standardalone}/config
# vimを開く後、time_zone部分を変更
time_zone=GMT+9:00

8.5 SenseLink GE Enterprise インストール

SSLサーバー証明書の使用有無(SSL/TLS対応有無)によって、インストール時の事前作業が異なります。

8.5.1 httpsでインストールする場合(デフォルト)

お客様が準備したSSLサーバー証明書と秘密鍵を「./public/web_service/cert/」の直下にコピーして、それぞれ「senselink.crt」と「senselink.key」にリネームしてください。

HTTPSでインストールする場合、中間証明書は不要です。

(本製品に同梱する「senselink.crt」と「senselink.key」は参照例です、使用しないでください)。

cp お客様のCert格納ディレクトリ/sample.crt {senselinkge-standardalone}/public/web_service/cert/senselink.crt
cp お客様のCert格納ディレクトリ/sample.key {senselinkge-standardalone}/public/web_service/cert/senselink.key

その後、アクセス可能なドメイン名を設定してください。

vim {senselinkge-standardalone}/public/web_service/default_https

"{senselinkge-standardalone}"は、インストールパッケージのディレクトリに置き換えてください。

add_header 'Access-Control-Allow-Origin' *; の部分が複数箇所存在します。

add_header 'Access-Control-Allow-Origin' http://xxx.xxx.com; に変更してください(*の部分をアクセス可能なドメイン名で設定してください)。

上記の準備完了後、install.shを実行して、インストールを開始してください(5分程度で完了します) 。

cd {senselinkge-standardalone}
./install.sh

8.5.2 httpでインストールする場合

run_all.sh内で実行するweb_serviceのシェルを、run.sh(https用)からrun_http.sh(http用)に変更してください。

run_all.shの内容を変更します。変更コマンドは以下です。

vim {senselinkge-standardalone}/public/run_all.sh

※"{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください

スクリプト内の下記箇所

cd ../web_service
./run.sh ${web_version}

cd ../web_service
./run_http.sh ${web_version}

に変更してください。

その後、アクセス可能なドメイン名を設定してください。

vim {senselinkge-standardalone}/public/web_service/default

"{senselinkge-standardalone}"は、インストールパッケージのディレクトリに置き換えてください。

add_header 'Access-Control-Allow-Origin' *; の部分が複数箇所存在します。

add_header 'Access-Control-Allow-Origin' http://xxx.xxx.com; に変更してください(*の部分をアクセス可能なドメイン名で設定してください)。

上記の準備完了後、install.shを実行して、インストールを開始してください(5分程度で完了します) 。

cd {senselinkge-standardalone}
./install.sh

8.5.3 インストール時の注意事項

install.shの実行時、ハードウェア要件に満たすかどうかのチェックが実施されます。やむを得ずハードウェア要件に満たさないサーバーを利用する場合、install.shと同ディレクトリにあるverify-env.shを修正する必要があります。

下記の図の通りにハードウェアチェックの部分をコメントアウトしてからinstall.shを実行してください。

なお、ハードウェア要件に満たさないサーバーで本製品を稼働する場合、アプリケーションの動作が不安定となる恐れがあることを、予めご了承ください。

8.5.4 データベースパスワードの変更(オプション)

インストール後、データベースのパスワードの変更が可能です。全ての初期パスワードの変更を推奨します。

下記"{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください

変更するには、

  1. database_serviceコンテナにログインして、MySQL、MongoDBのパスワードをそれぞれ変更してください

  2. database_serviceの設定ファイルにある、redisのパスワードを変更してください

  3. "{senselinkge-standardalone}/config"のパスワードを変更後のパスワードに更新し、restart.shを実行することでサービスを再起動してください。

下記はconfigファイルの例です。実際のユーザー名とパスワードはconfigファイルを確認してください。

# mysql
mysql_user=senselink      #senselinkユーザーのユーザー名
mysql_password=password   #senselinkユーザーのパスワード
mysql_root_password=root_password  #rootユーザーのパスワード

# mongoDB
mongo_user=sensekeeper    #mongoDBのユーザー名
mongo_password=password   #mongoDBのパスワード

# redis
redis_password=password  #redisのパスワード

下記の順番に各データベースのパスワードを変更してください。

# mysql
# change settings to enable the change of Mysql password
vim {senselinkge-standardalone}/public/sync_service/config/sync.toml
# modify “enabled = false” to “enabled = true”
vim {senselinkge-standardalone}/public/slinkpush_service/config/app.toml
# modify “enabled = false” to “enabled = true”

# login to database_service container
docker exec -it database_service bash

# login to Mysql
# please change the "password" to your "password" in config file
mysql -u senselink -ppassword
# change password for current user, please change "new_password" to your new password
mysql> set password="new_password";
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

# please change the "root_password" to your "root_password" in config file
mysql -u root -proot_password
# change password for current user, please change "new_root_password" to your new password
mysql> set password="new_root_password";
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

# login to MongoDB
mongo
> use sensekeeper
switched to db sensekeeper
# please change "password" to your password in config file
> db.auth("sensekeeper","password")
1
# now you can change the password
> db.changeUserPassword("username","new_password")
> exit
bye

# exit database_service
exit

#change the Redis password through config files
vim {senselinkge-standardalone}/public/database_service/database_config/redis.conf
# modify “requirepass senselink_redis” to “requirepass {new_password}”

# update config by your new password 
vim {senselinkge-standardalone}/config

# restart SenseLink server
cd {senselinkge-standardalone}
./restart.sh

更新後のconfigファイルの例です。

# mysql
mysql_user=senselink                   #senselinkユーザーのユーザー名
mysql_password=new_password            #senselinkユーザーのパスワード
mysql_root_password=new_root_password  #rootユーザーのパスワード

# mongoDB
mongo_user=sensekeeper        #mongoDBのユーザー名
mongo_password=new_password   #mongoDBのパスワード

# redis
redis_password=new_password  #redisのパスワード

最終更新