3. インストール

インストールには以下の2つのケースを想定しています。

  • Windows10 ProのWSL2環境にインストールする場合

  • 推奨OSをインストールしてから、MANUFACIA-CPUをインストールする場合

もしも既にUbuntu環境をお持ちの場合、もしくはUbuntu環境を構築予定のある方は2番目の方法でインストールを進めてください。

3.1. Windows10 ProのWSL2環境にインストールする場合


ホストOSにWindows10 Proを使用しており、その環境にインストールします。

MANUFACIA-CPUは、Microsoft社から提供されているWSL2(Windows Subsystem for Linux)を使用して環境構築をし、そこにMANUFACIA-CPUがOSと共にインストールされたイメージファイルをそのまま利用できます。

3.1.1. Windows PC環境設定

WSL2を動作せるためには、Windows10 Proの以下の機能が有効になっていることが前提になっています。

  • Hyper-V

  • Linux用 Windowsサブシステム

  • 仮想マシンプラットフォーム

Windowsのスタートボタンの右側のボックスに「Windowsの機能」と入力して、「Windowsの機能」を開き、ダイアログで上記の機能がチェックされていることを確認してください。チェックされていない場合はチェックします。場合によっては、Windowsが再起動を要求する場合があります。

 

重要

Hyper-Vを有効にする際には、PC上でBIOSの仮想化の機能(Virtualization TechnologyやIntel-VTやなどと表示)がDisableの場合はEnableにする必要があります。BIOS設定はお使いのPCのマニュアルを参照してください。

3.1.1.1. Windows10 Homeの設定

Windows Homeでコントロールパネルからの設定が出来ない場合には、管理者権限でPowerShellを起動し、以下のコマンド(Enable-WindowsOptionalFeature から行末まで)をコピーして貼り付けたのちに、エンターを押してください。

  PS C:\work> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

実行にしばらく時間が掛かりますが、その後で再起動を求められますので、再起動後にその次のコマンド(Enable-WindowsOptionalFeature から行末まで)をコピーして貼り付けたのち、エンターを押してください。

  PS C:\work> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

ヒント

管理者権限でPowerShellを起動するには、CTRL+SHIFTを押しながらPowerShellをクリックすると便利です。

3.1.2. WSL2のインストール

Windows 10 ProにMicrosoft社から提供されているWSL2(Windows Subsystem for Linux)をインストールしてください。

Windows 10 ProのPowerShell を用いてWSL2上に組み込みます。WSL2のインストールは、Microsoftウェブサイトにあるインストールガイドの「手動インストールの手順」を参考に行ってください。

重要

この手順では、Microsoftのインストールガイドの手順6「選択した Linux ディストリビューションをインストールする」は不要です。

3.1.3. 配布物の確認

同梱物の以下のイメージファイルをWindowsのファイルシステムのC:\workにコピーしたと仮定して、以下の手順を進めます。

  • MANUFACIA-CPU_x.x.x.tar.gz (x.x.x は配布時のバージョン番号。以降の表記も同様)

3.1.4. WSL2へファイルをインポートする

Windows 10 Pro標準のPowerShellを用いて、作業ディレクトリ内のインストールファイルをWSL2へインポートします。 WSL2へインポートしたイメージファイルの格納場所はWindows上の任意の場所を指定できますが、ここでは"C:\MANUFACIA” に格納することを想定しています。

またここでの操作は、MANUFACIA-CPU_x.x.x.tar.gzをコピーした C:\work で行います。

PowerShellを起動すると以下のような表示がされます。これはPowerShellPSが起動していることと、作業用のディレクトリが` C:\Users\(ユーザー名)であることを示しており、その後ろのコマンドプロンプト>の右側で点滅しているカーソルが、ユーザーからのキーボードからのコマンド入力を待っている状態です。

  PS C:\Users\(ユーザー名)> _

これ以降のPowerShell上で入力するコマンドの説明は、プロンプトの後ろからコメントを除くテキストをコピーし、バージョン表記部分の"x.x.x"を対応バージョン置き換えた後、エンターを押してください。コマンド行内の前後への移動は、カーソルの左右キーで可能です。

  PS C:\> cd \work
  PS C:\work> mkdir c:/MANUFACIA   (イメージファイルの格納場所を作成)
  PS C:\work> wsl.exe --import MANUFACIA-CPU.x.x.x  c:/MANUFACIA c:/work/MANUFACIA-CPU_x.x.x**.tar.gz --version 2

WSLに正常に組み込まれたかどうかを確認します。

  PS C:\work> wsl.exe --list --verbose

結果表示

    NAME                  STATE     VERSION
  * MANUFACIA-CPU.x.x.x	  Stopped   2

ヒント

正常にイメージファイルをImportした後は、作業ディレクトリを削除しても構いません。

3.1.5. イメージファイルの起動

Microsoft Store上でインストールしたUbuntu等はWindows上のプログラムメニューやGUIのターミナルアイコンがありますが、イメージファイルをインポートした環境には存在しません。

ここではWindows 10 標準のPowerShellを用いた起動方法を説明します。

  PS C:\> wsl ~ -d MANUFACIA-CPU.x.x.x -u manufacia-user

このコマンドの実行により、PowerShellはWSL2にインポートしたMANUFACIA-CPU.x.x.x(Ubuntu)のシェルに切り替わります。正常に起動できると、PowerShellのプロンプト行は、manufacia-user@(Windowsマシン名):~$ に変わります。Ubuntu上ではPowerShellの>の代わりに、$がプロンプトになります。

配布されたイメージファイルに既にインストール済みのUbuntuのアカウントとパスワードは以下のように設定されています。

アカウント

manufacia-user

パスワード

manufacia-user

重要

以降、Ubuntuのシェル上で、sudoコマンドを実行する際には、このパスワードを使用してください。

ここまで問題がなければ、次はこちらに進んでください。

3.2. 推奨OSをインストールしてから、MANUFACIA-CPUをインストールする場合

3.2.1. OSのインストール

まずは、よくある質問(一般)-> 推奨ハードウェアスペック で推奨されているOSをインストールして下さい。

インストール後にはインターネットが接続されているのを確認し、ターミナルから以下のコマンドでアップデートを実行してください。

  $ sudo apt update
  $ sudo apt upgrade

その他必要なツールもここでインストールします。

  $ sudo apt install net-tools
  $ sudo apt install curl

3.2.2. 配布物の確認

同梱物の以下のファイルを、作業フォルダにコピーします。

  • manufacia_x.x.x-cpu.tar.gz  (x.x.x は配布されたシステムのバージョン番号です。以降のコマンド入力例も同様です。)

  • mosquitto_1.6.2.tar.gz

  • postgres_10.5.tar.gz

  • redis_5.0.tar.gz

3.2.3. Dockerのインストール

以下のコマンドで、Docker安定版をインストールします。

  $ sudo curl https://get.docker.com | sh

次に、Docker Composeをインストールします。

  $ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  $ sudo chmod +x /usr/local/bin/docker-compose

ユーザーに実行権限を付与します。

  $ sudo usermod -aG docker $USER
  $ sudo service docker start
  $ sudo docker run hello-world
  $ sudo chmod 666 /var/run/docker.sock

OSを再起動します。

  $ sudo reboot

Dockerサービスを起動します。

  $ sudo service docker start

Dockerの動作確認をします。docker psコマンドの実行内容が、以下と同じであることを確認してください。

  $ docker ps

  CONTAINER ID        IMAGE               COMMAND             CREATED
  STATUS              PORTS               NAMES

hello-worldコンテナを実行します。

  $ sudo docker run hello-world

3.2.4. MANUFACIA-CPUのインストール

配布物をコピーした作業フォルダに移動し、以下のコマンドでイメージファイルをDockerにloadします。

  $ gunzip mosquitto_1.6.2.tar.gz && sudo docker load -i mosquitto_1.6.2.tar
  $ gunzip postgres_10.5.tar.gz && sudo docker load -i postgres_10.5.tar
  $ gunzip redis_5.0.tar.gz && sudo docker load -i redis_5.0.tar
  $ sudo docker load -i manufacia-x.x.x-cpu.tar

MANUFACIA-CPUをインストールします。

  $ docker run --rm manufacia:x.x.x-cpu install-manufacia | bash

3.3. Dockerサービスの起動

Ubuntuのシェルで以下のコマンドを入力してDockerサービスを起動します。

  $ sudo service docker start

3.4. MANUFACIA-CPU サービスの起動

インストールしたPCやデバイスのIPアドレスを確認します。Windows10 ProのWSL2環境にMANUFACIA-CPUをインストールした場合には、このIPアドレスは次章のアプリケーションの起動確認時に必要です。

  $ hostname -I
  192.168.100.42 172.17.0.1

注意

このケースでは、IPアドレスは 192.168.100.42 です。お使いの環境によってこのアドレスは異なります。

推奨OSをインストールしてから MANUFACIA-CPUをインストールした場合のみ、以下の環境変数の設定が必要です。

環境変数の設定方法

~/.bashrc にMANUFACIAに関する項目を追加します。このとき、{IP_ADDRESS}には、前出のhostname -l コマンドで確認したIPアドレスを入力してください。

  $ export PATH=$HOME/.manufacia/bin:$PATH
  $ export THIS_HOST={IP_ADDRESS}

以下のコマンドを実行してエラーが出なければ、MANUFACIA-CPUは正常に起動しています。

  $ manufacia-ctrl start

MANUFACIA-CPUのDockerコンテナが起動していることを確認します。docker psコマンドで、以下の6個のコンテナのSTATUS列が Up 状態が確認出来れば正常です。

  • manufacia_app_1

  • manufacia_jarngreipr_1

  • manufacia_broker_1

  • manufacia_db_1

  • manufacia_redis_1

  • manufacia_frontend_1

ubuntu@N-007:~$ docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED         STATUS         PORTS                                                     NAMES
d06495da0e54   manufacia:x.x.x-cpu      "supervisord --nodae..."  38 minutes ago  Up 38 minutes  0.0.0.0:3100-3101-\>3100-3101/tcp, 0.0.0.0:3122-\>22/tcp  manufacia_app_1
63df1772426c   manufacia:x.x.x-cpu      "jarngreipr serve --..."  38 minutes ago  Up 38 minutes  0.0.0.0:3280-\>8080/tcp                                   manufacia_jarngreipr_1
a6c3cbdb3e60   postgres:10.5-alpine     "docker-entrypoint.s..."  38 minutes ago  Up 38 minutes  0.0.0.0:1883-\>1883/tcp, 0.0.0.0:32780-\>9001/tcp         manufacia_broker_1
13b6b0ae19dc   eclipse-mosquitto:1.6.2  "/docker-entrypoint...."  38 minutes ago  Up 38 minutes  5432/tcp                                                  manufacia_db_1
cda3291bb252   manufacia:x.x.x-cpu      "sh -c 'inject-env f..."  38 minutes ago  Up 38 minutes  0.0.0.0:3200-\>5000/tcp                                   manufacia_frontend_1
68e03b9681db   redis:5.0-alpine         "docker-entrypoint.s..."  38 minutes ago  Up 38 minutes  6379/tcp                                                  manufacia_redis_1

注意

初めてMANUFACIA-CPUを起動する際には、データベース構築のため大量の “create_table” や “add_foreign_key” が表示されますが、無視してください。