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.17.0.0/16 のネットワークを利用していない場合には、変更する必要はありませんので、この項目の手順を実行する必要はありません。
-
docker を停止します。
$ sudo systemctl stop docker
-
docker のブリッジ(docker0)を削除します。
$ sudo ip link set dev docker0 down
$ sudo ip link del docker0
-
ネットワークアドレスの設定を行います。
$ sudo vi /etc/docker/daemon.json
{
"bip": "172.18.0.1/16",
<-追加します"dns": [ "xxx.xxx.xxx.xxx"]
}
-
docker を起動します。
$ sudo systemctl start docker
VM サーバの Docker イメージを読み込み
-
root 権限のシェルを起動します。以下の手順におけるコマンドは、sudo を使って実施しないでください。sudo がそのままでは環境変数を引き継がないため、「Proxy に関する環境変数の設定を確認する」で確認した Proxy 関連の環境変数が無視されてしまうためです。
$ sudo -i /bin/bash
#
-
インストール用のディレクトリを用意します。
ここでは /var/lib/sidfm に作成します。もし他のディレクトリにインストールした場合は、以降の説明はインストールしたディレクトリで読み替えて下さい。
# mkdir /var/lib/sidfm
# cd /var/lib/sidfm
- ダウンロードページをブラウザで開きます。
-
「SIDfm VM サブスクリプション契約約款」および「ソフトウェア使用許諾契約」に同意し、チェックを入れたあと「ダウンロードページ」をクリックします。
-
VM サーバのアーカイブファイルと sha256sum ファイルをダウンロードし、インストール用のディレクトリ(/var/lib/sidfm)に保存します。説明とファイル名が異なる場合があります。その場合は、バージョン部分を読替えてください。
ソフトウェアは、最新バージョンのみ提供しています。最新バージョンをダウンロードしてください。説明とファイル名が異なる場合があります。その場合は、バージョン部分を読替えてください。 -
VM サーバの docker イメージのアーカイブファイルと sha256sum ファイルをダウンロードし、インストール用のディレクトリ(/var/lib/sidfm)に保存します。5.でダウンロードしたバージョンと同じバージョンをダウンロードしてください。
ソフトウェアは、最新バージョンをダウンロードしてください。説明とファイル名が異なる場合があります。その場合は、バージョン部分を読替えてください。 -
以下のコマンドを実行し、ダウンロードしたファイルの正当性チェックを行います。ファイル名のバージョン部分(説明では 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
-
5.でダウンロードしたファイルを展開します。ファイル名のバージョン部分(説明では 2.8.2)は実際にダウンロードしたもので読み替えて下さい。
# tar xzf sidfmvm-2.8.2.tar.gz
-
6.でダウンロードした docker イメージを読み込みます。バージョン部分(説明では 2.8.2)は実際にダウンロードしたもので読み替えて下さい。
# gzip -dc sidfmvm-image-2.8.2.tar.gz | docker load
# docker tag sidfmd:2.8.2 sidfmd:latest
-
root 権限のシェルから抜けます。
# exit
$
VM サーバを起動する
-
VM サーバのコンテナを起動します。
$ sudo sh /var/lib/sidfm/sidfmvm/sidfmd-start.sh
-
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サーバを必要としない環境の場合、以下のコマンドを実行してください。
$ sudo docker exec sidfmd /proxy_manage proxy disable
-
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
-
メールサーバの設定を行います。
[ログイン認証の無い通常の 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をインストールしたサーバ上で以下のコマンドを実行します。斜体の部分は適宜変更してください。
$ sudo docker exec sidfmd /mail_manage auth smtp.example.com 587 example.com account password
(Amazon SES以外の場合、基本的にはこちらを入力してください)$ sudo 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 ファイルをご参照下さい。設定ファイルは以下の手順で編集してください。
- VM Server のコンテナにログインします
$ sudo docker exec -it sidfmd /bin/bash
- 設定ファイルのあるディレクトリに移動します
# cd /var/lib/redmine/config
- 設定サンプルをコピーします
# cp configuration.yml.example configuration.yml
- 設定ファイルを編集します
# vi configuration.yml
- 設定を反映します
# cd ..
# passenger-config restart-app /var/lib/redmine
- VM Server のコンテナからログアウトします
# exit
- VM Server のコンテナにログインします
-
管理アカウント sidfmadm のパスワードを変更します。
$ sudo docker exec sidfmd /user_manage password sidfmadm (設定するパスワード)
正常にパスワード変更された場合は「sidfmadm's password is updated.」と出力されます。
これ以外のメッセージが出力された場合は、パスワードポリシーに適合していない(ログイン名と同一のパスワード等)可能性がありますので、別のパスワードを指定下さい。 -
VM サーバを起動します。
$ sudo docker exec sidfmd /vm_manage server enable
$ sudo docker exec sidfmd /vm_manage issue_update enable
-
VM サーバへ加えた変更を反映します。
$ sudo docker commit sidfmd sidfmd
VM サーバのインストール後に行う作業
VM サーバのインストール作業が終わりましたら、VM にログインし、ライセンスキーの登録を行います。