MUNサーバのデプロイ
目次
概要
LinuxサーバのIPアドレスを調べる
MUNサーバ内の「server.sh」について、LinuxサーバのIPアドレスに設定する
Linuxサーバのポートを開放する
WinSCP で Linux サーバに接続する
MUNサーバのプログラムを配置する
MUNサーバをビルドするためのパーミッション設定の変更
Linux サーバに MUN サーバパッケージ一式を配置します。
デプロイとは、簡単に言えばパッケージのコピーです。
頒布された オンプレミス版 MUN サーバ の パッケージ一式について、動作させる Linux サーバに配置します。
LinuxサーバのIPアドレスを調べる▲
IPアドレスを取得するコマンドの実行
MUNサーバパッケージを配置するにあたり、事前に Linux サーバの IP アドレスを調べる必要があります。
CentOS7 であれば、コマンドラインから、以下のコマンドを入力して調べます。
# ip a

コマンド入力後、eno????????(????????は任意の数値)にある inet 欄の後にある
XXX.XXX.XXX.XXX
の表記が、LinuxサーバのIPアドレスです。
例えば以下の場合、「192.168.1.14」がLinuxサーバのIPアドレスです。

MUNサーバ内の「server.sh」について、LinuxサーバのIPアドレスに設定する▲
LinuxサーバのIPアドレスを設定し、「MUNクライアントが接続するIPアドレスの公開」を行なう
LinuxサーバのIPアドレスを調べたら、MUNサーバのパッケージ内にある server/cpp/server.sh をテキストエディタで開き、
その 45 行目 ~ 47 行目付近にある
PROXY_PUBLIC_ADDR="0.0.0.0"
RESOLVER_PUBLIC_ADDR="0.0.0.0"
ROOM_PUBLIC_ADDR="0.0.0.0"
について、代入値である 0.0.0.0 を、LinuxサーバのIPアドレスに書き換えます。

例えば上述の例では、「192.168.1.14」がLinuxサーバのIPアドレスですので、
PROXY_PUBLIC_ADDR="192.168.1.14"
RESOLVER_PUBLIC_ADDR="192.168.1.14"
ROOM_PUBLIC_ADDR="192.168.1.14"
と書き換えます。

Linuxサーバのポートを開放する▲
Linuxサーバのファイアウォールの設定で、TCP/UDPの指定ポートを開放する
同様に、MUNサーバのパッケージ内にある server/cpp/server.sh の 55 行目 ~ 57 行目付近にある
PROXY_LISTENING_CLIENT_PORT_BASE=8001
RESOLVER_LISTENING_CLIENT_PORT_BASE=9001
ROOM_LISTENING_CLIENT_PORT_BASE=3001
の代入値である 8001, 9001, 3001 が、MUNクライアントが接続するために必要となる Linuxサーバのリスニングポート番号です。
(TCP/UDPともに、同一の番号を使用します。)

CentOS7 インストール時のデフォルト設定で、ファイアウォールが有効のままですので、このポート番号について開放する必要があります。
コマンドラインから以下のコマンドを1つずつ実行し、指定ポート番号
TCP:8001, 9001, 3001
UDP:8001, 9001, 3001
を開放してください。
# firewall-cmd --add-port=8001/tcp --zone=public --permanent
# firewall-cmd --add-port=9001/tcp --zone=public --permanent
# firewall-cmd --add-port=3001/tcp --zone=public --permanent
# firewall-cmd --add-port=8001/udp --zone=public --permanent
# firewall-cmd --add-port=9001/udp --zone=public --permanent
# firewall-cmd --add-port=3001/udp --zone=public --permanent
以下のように、各コマンド実行後に「success」と表示されれば問題ありません。

最後に
# firewall-cmd --reload
を実行し、設定した値を反映させてください。

WinSCP で Linux サーバに接続する▲
Linux サーバへの接続設定を登録する
インストール後に起動した WinSCP に移り、Linux サーバへのが起動します。
WinSCP 左側の「新しいサイト」を選択した状態で、以下の項目を入力してください。
ウィンドウ右側のセッションに、以下の項目を入力し、「保存」ボタンを押してください。
・ホスト名 - Linux サーバの IP アドレス
・ユーザー名 - root
・パスワード - rootのパスワード

入力を終えたら、一旦「保存」ボタンを押してください。

「保存」ボタンを押すと、以下のダイアログが表示されますので、
「パスワードを保存」のチェックボックスを入れて、「OK」ボタンを押します。

CentOS サーバに接続する
続けて、CentOS サーバに接続します。
先ほど作成したセッションがログインウィンドウ左側に表示されますので、それを選択した後で、「ログイン」ボタンを押してください。

ログインしている最中に以下のような警告ウィンドウが表示されますが、構わず[はい]をクリックします。

サーバ接続後、以下のような設定になっていれば問題ありません。

MUNサーバのプログラムを配置する▲
適切な場所にMUNサーバプロセスのプログラムを配置する
WinSCPなどのツールを使い、Linuxサーバ上にMUNサーバプロセスのプログラムコードを配置します。
今回は一例として、guest01 というユーザーが扱えるように、Linuxサーバ上に以下のような配置を行ないます。
/
└─ home
└─ guest01
└─ chat … この場所に chat/server/mln のフォルダ内情報をコピーする。
ちょうど、以下のような階層を成立させます。
/
└─ home
└─ cpp
├─ libmrs
├─ libsql
├─ mrs_extension
├─ mun_master
├─ mun_proxy
├─ mun_resolver
├─ mun_room
├─ all.sh
├─ common.cmake
├─ options.cmake
├─ server.sh
├─ setup.sh
└─ watch_process.sh
まず、サーバ側(WinSCPの画面右側)の表示ディレクトリをルートディレクトリに変更します。
下記赤枠の「root」と書かれた部分をクリックし、プルダウンリストを表示させて「/<ルート>」を選択します。

すると画面右側のフォルダ表示が、「/<ルート>」下のディレクトリ表示に切り替わりますので、その中から「home」をダブルクリックで選択します。

WinSCP の home ディレクトリ内に、コピー元となるフォルダ群をドラッグ&ドロップしてコピーします。

ドラッグ&ドロップでコピーすると、サーバへの配置が完了します。

デプロイした cpp ディレクトリをダブルクリックすると、その中身が閲覧できます。

MUNサーバをビルドするためのパーミッション設定の変更▲
server.sh でMUNサーバの運用を行なうためのアクセス権限を変更する
配置を行なったら、Linuxのターミナル上で以下のコマンドを順に入力し、
MUNサーバのビルドおよび実行のために使用する server.sh を実行するためのアクセス権の設定を行ないます。
# cd /home/cpp
# bash setup.sh
