8 インストール

8.1 インストール準備

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

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

sudo su -

8.2 ハードディスクの追加

※要件を満たすハードディスクの設定がすでに完了している場合、またAmazon EC2及びAlibaba ECSをご利用の場合、このステップをスキップしてください。 ディスク管理ツールを立ち上げるため、次のコマンドを入力してください。

sudo gnome-disks 

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

8.3 インストールの方法

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

インストールする方法が、簡易インストールとステップバイステップインストール、2つあります。HTTPでインストールする場合、ステップバイステップインストールを使用してください。

簡易インストールは、8.4章、8.13章、8.14章をご参照ください。

ステップバイステップインストールは詳細な8.5章からご参照ください。

8.4 簡易インストール

解凍された権限付きのSenseLinkイメージフォルダを読込み、書込み及び実行する権限が付与された/data/の直下に配置し、以下のコマンドを実行する。

# 下記"{SenseLinkGE-Enterprise-2.x.x-buildxx-xxxxxxxx-RTM}"は解凍されたSenseLinkのディレクトリに置き換えてください
cd /data/{SenseLinkGE-Enterprise-2.x.x-buildxx-xxxxxxxx-RTM}
./one-stop-before-reboot.sh

コマンド実行後、OSが自動に再起動されます。インストールには少々時間がかかるため、完了までお待ちください。フォルダ権限の原因で一回目のインストール時失敗する場合があります。もう一度実行することでインストール可能です。

インストール時の注意事項とパスワード等の変更は8.13章、8.14章をご参照ください。

8.5 Docker のアンインストール

ここからは、ステップバイステップのインストール方法です。

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

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

8.6 Docker 19.03.5のインストール

Ubuntu 18.04を使用する場合は以下です。

$ 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.5~3-0~ubuntu-bionic docker-ce-cli=5:19.03.5~3-0~ubuntu-bionic containerd.io
# Check that docker version has been 19.03.5
$ sudo docker version

Ubuntu 16.04を使用する場合は以下です。

$ 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.5~3-0~ubuntu-xenial docker-ce-cli=5:19.03.5~3-0~ubuntu-xenial containerd.io
# Check that docker version has been 19.03.5
$ sudo docker version

8.7 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.8 Dockerコンテナのリソース(メモリ)の権限設定

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

vim /etc/default/grub

設定ファイルの、

GRUB_CMDLINE_LINUX=...  

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

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

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

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

sudo update-grub

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

reboot

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

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
vim /home/root6/Desktop/{senselinkge-standardalone}/public/java_service/config/application-local.yml
# vimを開く後、expires部分を変更
expires: 43200

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
chmod 775 –R /home/root6/Desktop/{senselinkge-standardalone}

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

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

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

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

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

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
vim /home/root6/Desktop/{senselinkge-standardalone}/config
# vimを開く後、time_zone部分を変更
time_zone=GMT+9:00

8.13 インストール

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

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

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

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
cp お客様のCert格納ディレクトリ/sample.crt /home/root6/Desktop/{senselinkge-standardalone}/public/web_service/cert/senselink.crt
cp お客様のCert格納ディレクトリ/sample.key /home/root6/Desktop/{senselinkge-standardalone}/public/web_service/cert/senselink.key

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

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
vim /home/root6/Desktop/{senselinkge-standardalone}/public/run_all.sh

スクリプト内の下記箇所

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

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

に変更してください。

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

# httpの場合は./public/web_service/defaultを編集してください
# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
vim /home/root6/Desktop/{senselinkge-standardalone}/public/web_service/default_https

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

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

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

# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
cd /home/root6/Desktop/{senselinkge-standardalone}
./install.sh

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

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

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

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

インストール後でもデータベースのパスワードは変更可能です。全ての初期パスワードを変更するように推奨します。

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

変更するには

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

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

  3. "/home/root6/Desktop/{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 /home/root6/Desktop/{senselinkge-standardalone}/public/sync_service/config/sync.toml
# modify “enabled = false” to “enabled = true”
vim /home/root6/Desktop/{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 /home/root6/Desktop/{senselinkge-standardalone}/public/database_service/database_config/redis.conf
# modify “requirepass senselink_redis” to “requirepass {new_password}”

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

# restart SenseLink server
cd /home/root6/Desktop/{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のパスワード

最終更新