- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
[[Tutorial]]
#contents
*ポートフォワーディングでサーバに接続する方法 [#edc7db7a]
NIIの外からNIIサーバに接続する際にはsshによるポートフォワーディングを使って接続する必要があります。以下にその方法を説明します。
** 1.Cygwinによる設定 [#pc51d41c]
***クライアント→サーバ [#b641b3ff]
Cygwinでsshを使ってsocio.iir.nii.ac.jpに接続する場合、接続時に-Lオプションを使ってポートフォワーディングするポート番号を指定します。設定方法は以下のようになります。
-L [クライアントで使用するポート番号]:localhost:[サーバで使用するポート番号]
クライアント側と、サーバ側で使用するポート番号を指定します。混乱を避けるため:localhost:ではさんだ2つのポート番号を同じ番号にすることをお勧めします。
***サーバ→クライアント [#u9a630a4]
SIGVerse APIのdetectEntities、captureViewなどを使用する場合は双方向へのポートフォワーディングを行う必要があります。サーバ側からクライアント側へのポートフォワーディングは-Rオプションを使って行います。
-R [サーバで使用するポート番号]:localhost:[クライアントサービスプロバイダのポート番号]
このとき:localhost:ではさんだ2つのポート番号は一致させなければなりません。
また、先ほど-Lオプションで指定したポート番号とは別のポート番号を指定します。デフォルトではクライアントサービスプロバイダのポート番号は8000番に設定されています。
***ポートフォワーディングによる接続 [#u243091e]
それではポートフォワーディングでサーバに接続してみましょう。サーバへのログイン時に双方向のポートフォワーディングを同時に行います。
$ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001 -R 8100:localhost:8100
TeraTermなどの他のsshツールを使ってサーバにログインする場合など、サーバにログインせずにポートフォワーディングを行いたい場合は-Nオプションをつけます。
$ ssh hoge@socio.iir.nii.ac.jp -L 9001:localhost:9001 -R 8100:localhost:8100 -N
ここではクライアント→サーバへのポートフォワーディングはクライアント側、サーバ側ともにポート番号9001を指定し、サーバからクライアントへのポートフォワーディングはデフォルトの8100番を指定しました。-L、-Rオプションで指定したポート番号は空いている番号でしたら何番でも構いません。(他人とかぶりにくい番号にすることをお勧めします)また、-Rオプションで指定した、ポート番号はSIGViewerで設定したサービスプロバイダのポート番号と一致させる必要があります。設定方法は次項で説明します。
ここではクライアント→サーバへのポートフォワーディングはクライアント側、サーバ側ともにポート番号9001を指定し、サーバ→クライアントへのポートフォワーディングは8100番を指定しました。-L、-Rオプションで指定したポート番号は空いている番号でしたら何番でも構いません。(他人とかぶりにくい番号にすることをお勧めします)また、-Rオプションで指定した、ポート番号はSIGViewerで設定したサービスプロバイダのポート番号と一致させる必要があります。設定方法は次項で説明します。
設定が完了したら[[3.SIGViewerによる動作確認>#b245cc28]]へ進みます。
** 2.Tera Termによる設定 [#z5ba360c]
TeraTermによる設定方法は[[こちら(工事中)>TeraTermによるポートフォワーディングの設定]]
**3.SIGViewerによる動作確認 [#b245cc28]
SIGVerse, SIGViewerのインストールがまだ完了していない場合は[[SIGVerseのインストール(NIIサーバ)]],[[SIGViewerのインストール]]へ先に進みます。
***SIGViewerの設定 [#m8ea8646]
SIGViewerのサービスプロバイダ関連の設定を行います。
SIGViewerの設定ファイルはインストールした場所
(デフォルトではc:\Program Files)
の
SIGViewer_*.*\release\
SIGViewer_<version>\release\
にあるstartup.cfgです。
startup.cfgのサービスプロバイダ関連の設定を以下のように編集します。
編集前
# ---------------------------------------------------
# SIGViewerのサービスプロバイダ関連の設定
# ---------------------------------------------------
# SIGViewerをサービスプロバイダとして登録するか
VIEWER_AS_SERVICE_PROVIDER=true
# サービスを受け付けるホストアドレス
# この項目を指定しない場合は、自動的にSIGViewerを実行している
# マシンのIPアドレスになる.
#SERVICE_PROVIDER_HOST=127.0.0.1
# サービスを受け付けるポート番号
SERVICE_PROVIDER_PORT=8000
編集後
# ---------------------------------------------------
# SIGViewerのサービスプロバイダ関連の設定
# ---------------------------------------------------
# SIGViewerをサービスプロバイダとして登録するか
VIEWER_AS_SERVICE_PROVIDER=true
# サービスを受け付けるホストアドレス
# この項目を指定しない場合は、自動的にSIGViewerを実行している
# マシンのIPアドレスになる.
SERVICE_PROVIDER_HOST=127.0.0.1
# サービスを受け付けるポート番号
SERVICE_PROVIDER_PORT=8100
SERVICE_PROVIDER_HOSTの行のコメントアウトを解除しました。ここで、サーバ側が認識するサービズプロバイダのIPアドレスを設定します。次にSERVICE_PROVIDER_PORTの行で先ほどポートフォワードしたサービスプロバイダのポート番号を指定します。
***動作確認 [#k08315d7]
//このファイルではSIGViewerのカメラの位置や視線の方向などの設定を行えます。
それではsshによるポートフォワーディングをした状態のままSIGVerseを起動します。このとき-pオプションを使って設定したサーバ側のポート番号(9001)を指定して起動します
./sigserver.sh -p 9001
$ cd ~/sigverse-<version>/bin
$ ./sigserver.sh -p 9001
#br
次にSIGViewerを起動して下のほうにあるcommタブのconnectionの枠の中にある"server host name" にlocalhostと入力し、"server port No" に先ほど指定したlocalhostのポート番号を入力します。
#ref(tera_8.jpg)
最後に、"Connect to SimServer"をクリックしてSIGViewerからサーバに接続されていることを確認してください。
ポートフォワーディングが成功していればサーバ側で以下のようなメッセージが出力されます。
all done.[SYS] waiting for connection...
[SYS] attach view : polling
[SYS] 127.0.0.1 connected
[SYS] SIGViewerDataPort : dataport
[SYS] 127.0.0.1 connected
[SYS] 127.0.0.1:8100 : service provider
[SYS] 127.0.0.1 connected
接続時に表示されるIPアドレスがすべて127.0.0.1となっていて、サービスプロバイダのポート番号が先ほど設定した8100番となっています。
RIGHT:[[次へ>環境設定]]