8 インストール

8.1 インストール準備

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

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

sudo su -

8.2 ハードディスクの追加

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

sudo gnome-disks 

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

8.3 Docker のアンインストール

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

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

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

8.4 Docker19.03.5のインストール

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

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

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

vim /etc/default/grub

設定ファイルの、

GRUB_CMDLINE_LINUX=...  

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

GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

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

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

sudo update-grub

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

reboot

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

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

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

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

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

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

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

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

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

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.10 インストール

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

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

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

(本製品に同梱する「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.11 インストール時の注意事項

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

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

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

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

変更するにはまずdatabase_serviceコンテナにログインして、MySQL、MongoDB、Redisのパスワードをそれぞれ変更した後(デフォルトパスワードはconfigファイルから確認できます)、configファイルのパスワードを変更し、restart.shを実行することでサービスを再起動してください。

# login to database_service container
docker exec -it database_service bash

# login to mysql, please change "senselink_2018_local" to your mysql password
mysql -u senselink -psenselink_2018_local
# change password for current user, please change "new_password" to your password
mysql> set password="new_password";
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

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

# redis passowrd can be changed by modifying the config file and restart
# 下記"/home/root6/Desktop/{senselinkge-standardalone}"はインストールパッケージのディレクトリに置き換えてください
vim /home/root6/Desktop/{senselinkge-standardalone}/config
# modify “redis_password=senselink_redis” to “redis_password={new_password}”

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

最終更新