03-6416-1579

平日 10:00-18:00

Ubuntu に VM サーバをインストールする


VM サーバのインストール前提条件

  • HTTP Proxy の設定が必要な場合、HTTP Proxy の設定(環境変数)が予め行われていること。
  • HTTP Proxy の設定は以下を例として説明しています。
    • HTTP_PROXY=http://proxy.example.com:3128/
    • HTTPS_PROXY=http://proxy.example.com:3128/
  • ネットワーク設定が予め行われていること。
  • VMサーバから外部ネットワークに疎通ができること。

Proxy に関する環境変数の設定を確認する

Proxy 設定の必要が無い環境では、環境変数が無くとも問題ありません。また、NO_PROXY(no_proxy) も設定されていれば利用されます。

$ env | grep -i proxy
HTTP_PROXY=http://proxy.example.com:3128/
https_proxy=http://proxy.example.com:3128/
http_proxy=http://proxy.example.com:3128/
HTTPS_PROXY=http://proxy.example.com:3128/

Docker をインストールする

上記以外の環境につきましては、Docker の公式サイト https://www.docker.com/ をご参照ください。

データベース(PostgreSQL)をインストール、及び、セットアップする

※ 以降は、データベース関連は以下のように設定されたことを前提に記載します。

  • データベース名称: dbname
  • データベースホスト名: 172.17.0.1
  • データベースサービスポート: 5432
  • データベースユーザ名: dbuser
  • データベースユーザパスワード: dbpass

Dockerコンテナのネットワークを変更する ※ 必要な場合のみ実施

172.18.0.0/16 のネットワークに変更を行う手順を示します。 172.18.0.0/16 以外に設定する場合は読み替えて実行してください。
  1. docker を停止します。

    $ sudo systemctl stop docker
  2. docker のブリッジ(docker0)を削除します。

    $ sudo ip link set dev docker0 down
    $ sudo ip link del docker0
  3. ネットワークアドレスの設定を行います。

    $ sudo vi /etc/docker/daemon.json
    {
       "bip":	"172.18.0.1/16", <-追加します
       "dns": [ "xxx.xxx.xxx.xxx"]
    }
  4. docker を起動します。

    $ sudo systemctl start docker

VM サーバの Docker イメージを読み込み

  1. root 権限のシェルを起動します。以下の手順におけるコマンドは、sudo を使って実施しないでください。sudo がそのままでは環境変数を引き継がないため、「Proxy に関する環境変数の設定を確認する」で確認した Proxy 関連の環境変数が無視されてしまうためです。

    $ sudo -i /bin/bash
    #
  2. インストール用のディレクトリを用意します。

    ここでは /var/lib/sidfm に作成します。もし他のディレクトリにインストールした場合は、以降の説明はインストールしたディレクトリで読み替えて下さい。

    # mkdir /var/lib/sidfm
    # cd /var/lib/sidfm
  3. ダウンロードページをブラウザで開きます。
  4. 「SIDfm VM サブスクリプション契約約款」および「ソフトウェア使用許諾契約」に同意し、チェックを入れたあと「ダウンロードページ」をクリックします。

  5. VM サーバのアーカイブファイルと sha256sum ファイルをダウンロードし、インストール用のディレクトリ(/var/lib/sidfm)に保存します。説明とファイル名が異なる場合があります。その場合は、バージョン部分を読替えてください。

  6. VM サーバの docker イメージのアーカイブファイルと sha256sum ファイルをダウンロードし、インストール用のディレクトリ(/var/lib/sidfm)に保存します。5.でダウンロードしたバージョンと同じバージョンをダウンロードしてください。

  7. 以下のコマンドを実行し、ダウンロードしたファイルの正当性チェックを行います。ファイル名のバージョン部分(説明では 2.8.2)は実際にダウンロードしたもので読み替えて下さい。

    # sha256sum -c sha256sum-2.8.2
    sidfmvm-2.8.2.tar.gz: OK
    # sha256sum -c sha256sum-image-2.8.2
    sidfmvm-image-2.8.2.tar.gz: OK
  8. 5.でダウンロードしたファイルを展開します。ファイル名のバージョン部分(説明では 2.8.2)は実際にダウンロードしたもので読み替えて下さい。

    # tar xzf sidfmvm-2.8.2.tar.gz
  9. 6.でダウンロードした docker イメージを読み込みます。バージョン部分(説明では 2.8.2)は実際にダウンロードしたもので読み替えて下さい。

    # gzip -dc sidfmvm-image-2.8.2.tar.gz | docker load
    # docker tag sidfmd:2.8.2 sidfmd:latest
  10. root 権限のシェルから抜けます。

    # exit
    $

VM サーバを起動する

  1. VM サーバのコンテナを起動します。

    $ sudo sh /var/lib/sidfm/sidfmvm/sidfmd-start.sh
  2. VM サーバの Proxy 設定を行います。

    ※ ここでは Proxy サーバのホスト名とポート番号を proxy.example.com:3128 としています。実際に設定する際には適切な値を設定してください。

    $ sudo docker exec sidfmd /proxy_manage set_http_proxy proxy.example.com 3128
    $ sudo docker exec sidfmd /proxy_manage same_http_https enable
    $ sudo docker exec sidfmd /proxy_manage proxy enable

    Proxyサーバを必要としない環境の場合、以下のコマンドを実行してください。

    # docker exec sidfmd /proxy_manage proxy disable
  3. VM サーバ DB 設定及び初期化を行います。

    ※ ここではデータベース関連は以下のように設定されたことを前提に記載します。

    • データベース名称: dbname
    • データベースホスト名: 172.17.0.1
    • データベースサービスポート: 5432
    • データベースユーザ名: dbuser
    • データベースユーザパスワード: dbpass

    なお、VMサーバの再インストールやサーバの移行等で、既に存在しているVMサーバ用のデータベースを利用する場合、2番目の/db_manage initは実行しないようご注意下さい。データベースの初期化が行われ、既に登録されているデータが上書きされます。

    $ sudo docker exec sidfmd /db_manage config dbname 172.17.0.1 5432 dbuser dbpass
    success
    $ sudo docker exec sidfmd /db_manage init
    (省略)
    $ sudo docker exec sidfmd /db_manage test
    success
  4. メールサーバの設定を行います。

    [ログイン認証の無い通常の SMTP サーバを設定する場合]

    ログイン認証の無い SMTP サーバを設定する場合、VM Server をインストールしたサーバ上で以下のコマンドを実行します。

    $ sudo docker exec sidfmd /mail_manage noauth smtp.example.com 25 example.com
    success
    $ sudo docker exec sidfmd /vm_manage server disable
    $ sudo sleep 5
    $ sudo docker exec sidfmd /vm_manage server enable
    引数の説明
     noauth: ログイン認証の無い SMTP サーバを設定することを示すキーワード
     smtp.example.com: SMTP サーバのホスト名
     25: SMTP サーバのポート番号(25, 463, 587等が利用されます)
     example.com: メールを送信する際のドメイン名
    [ログイン認証のある SMTP サーバを設定する場合]

    ログイン認証のある SMTP サーバを設定する場合、VM Serverをインストールしたサーバ上で以下のコマンドを実行します。斜体の部分は適宜変更してください。

    # docker exec sidfmd /mail_manage auth smtp.example.com 587 example.com account password (Amazon SES以外の場合、基本的にはこちらを入力してください)
    # docker exec sidfmd /mail_manage auth smtp.example.com 587 example.com account password starttls (Amazon SESや上記の設定でうまくメールが送信できなかった場合はこちらを入力してください)
    success
    $ sudo docker exec sidfmd /vm_manage server disable
    $ sudo sleep 5
    $ sudo docker exec sidfmd /vm_manage server enable
    引数の説明
     auth: ログイン認証のある SMTP サーバを設定することを示すキーワード
     smtp.example.com: SMTP サーバのホスト名
     587: SMTP サーバのポート番号(25, 463, 587 等が利用されます)
     example.com: メールを送信する際のドメイン名
     account: ログイン認証のアカウント名
     password: ログイン認証のパスワード
     starttls: Amazon SES 等で必要なオプションを追加する設定
    [上記以外のSMTPサーバを設定する場合]

    前述の設定に適合しないSMTPサーバを設定する場合は、直接設定ファイルの編集をお願いします。
    編集の際には、「メール通知のための configuration.yml の設定」や、設定ファイルと同じディレクトリに存在する設定サンプル configuration.yml.example ファイルをご参照下さい。

    設定ファイルは以下の手順で編集してください。

    1. VM Server のコンテナにログインします
      $ sudo docker exec -it sidfmd /bin/bash
    2. 設定ファイルのあるディレクトリに移動します
      # cd /var/lib/redmine/config
    3. 設定サンプルをコピーします
      # cp configuration.yml.example configuration.yml
    4. 設定ファイルを編集します
      # vi configuration.yml
    5. 設定を反映します
      # cd ..
      # passenger-config restart-app /var/lib/redmine
    6. VM Server のコンテナからログアウトします
      # exit
  5. 管理アカウント sidfmadm のパスワードを変更します。

    # docker exec sidfmd /user_manage password sidfmadm (設定するパスワード)

    正常にパスワード変更された場合は「sidfmadm's password is updated.」と出力されます。
    これ以外のメッセージが出力された場合は、パスワードポリシーに適合していない(ログイン名と同一のパスワード等)可能性がありますので、別のパスワードを指定下さい。

  6. VM サーバを起動します。

    $ sudo docker exec sidfmd /vm_manage server enable
    $ sudo docker exec sidfmd /vm_manage issue_update enable
  7. VM サーバへ加えた変更を反映します。

    $ sudo docker commit sidfmd sidfmd

VM サーバのインストール後に行う作業

VM サーバのインストール作業が終わりましたら、VM にログインし、ライセンスキーの登録を行います。