NetCOBOL Studioからリモート開発を行う際には、サーバ側のシステムでリモート開発機能が必要とするサービスが開始されていなければなりません。
開始するサービスは、サーバ側のOSとサーバ側にインストールされているNetCOBOLのバージョンによって決まります。
サーバのOS | サーバ側のNetCOBOL製品 | 開始するサービス |
---|---|---|
Windows(64) | Windows 64bit版 NetCOBOL | NetCOBOLリモート開発サービス(*1) |
Solaris | Solaris 32bit版 NetCOBOL V10以前 |
|
Solaris(64) | Solaris 64bit版 NetCOBOL V10以前 |
|
Linux(Itanium) | Linux(Itanium) 64bit版 NetCOBOL |
|
Linux(64) | Linux 64bit版 NetCOBOL |
|
*1 : リモート開発サービスはNetCOBOLが提供するサービスです。サービスの開始方法は、以下を参照してください。
Windowsサーバの場合
Linux(64)サーバの場合
Linux 64bit版 NetCOBOLに提供されている“NetCOBOL ユーザーズガイド”の“NetCOBOLリモート開発サービス”
*2 : リモートデバッグ機能を使用する場合に必要です。
*3 : SSHポートフォワーディングを用いた通信内容の暗号化を行う場合に必要です。
NetCOBOLリモート開発サービス(以下、「リモート開発サービス」と記述します)は、NetCOBOL Studioからの接続を受け付け、指定されたアカウントでシステムにログオンし、そのアカウントを使って開発関連作業をサーバ上で行います。
リモート開発サービスは、セキュリティ上の理由からインストール時に自動起動するように設定されません。リモート開発を行う前にあらかじめリモート開発サービスを開始しておく必要があります。
注意
セキュリティ上の注意点
リモート開発サービスは、セキュリティ上の理由からインストール時に自動起動するように設定されません。
セキュリティを確保するために、リモート開発サービスは必要な期間に限って公開してください。リモート開発サービスの公開を終了する際には、リモート開発サービスの「スタートアップの種類」やファイアウォールなどに行った設定変更を元に戻してください。
リモート開発サービスを利用したリモート開発は、適切に管理されているイントラネット内などの安全なネットワーク内で使用してください。
Linux(64)サーバ上のNetCOBOLリモート開発サービスに接続する場合は、SSHのポートフォワーディング機能を用いて通信内容を暗号化することができます。この場合、NetCOBOLリモート開発サービスが稼働しているサーバ上でSSHが稼働していなければなりません。また、SSHサーバで使用しているSSHの公開鍵の拇印をあらかじめNetCOBOL Studio利用者に通知しておく必要があります。
参考
一般的なSSHサーバの設定では、以下のコマンドで公開鍵の拇印(拇印アルゴリズムはmd5)を取得することができます。
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
詳細は、ssh-keygenコマンドのマニュアルを参照してください。
リモート開発サービスを開始する場合は、管理者アカウントで以下の手順を行います。
Windowsのスタートメニューから、[コントロールパネル] > [管理ツール] > [サービス]を選択します。
→ [サービス]ウィンドウが表示されます。
サービスの一覧から[NetCOBOL Remote Development Services]を選択し、ウィンドウメニューから[操作] > [プロパティ]を選択します。
→ [NetCOBOL Remote Development Services のプロパティ]ダイアログボックスが表示されます。
[NetCOBOL Remote Development Services のプロパティ]ダイアログボックスの[全般]タブを選択します。
[開始]ボタンをクリックします。
システム起動時にリモート開発サービスを自動的に起動したい場合は、[スタートアップの種類]を[自動]に変更します。
リモート開発サービスは、サービスを公開するネットワークのポートとして、デフォルトでは61999番を使用します。システム上で61999番ポートが使用中である場合は、使用するポートを変更しなければなりません。詳細は“9.2.1.1.4 リモート開発サービスの動作設定”のport設定の説明を参照してください。
また、サーバ上でWindowsファイアウォールなどのファイアウォールを運用している場合は、リモート開発サービスが使用するポートをファイアウォールがブロックしないように設定する必要があります。ファイアウォールの設定方法は、利用しているファイアウォールソフトウェアの種類に応じて異なります。各ファイアウォールソフトウェアの説明を参照してください。
リモート開発サービスを開始する際には、“9.2.1.1 NetCOBOLリモート開発サービス”の“セキュリティの注意点”で説明されている事項についてご注意ください。
リモート開発サービスを停止するには、管理者アカウントで以下の手順を行います。
Windowsのスタートメニューから、[コントロールパネル] > [管理ツール] > [サービス]を選択します。
→ [サービス]ウィンドウが表示されます。
サービスの一覧から[NetCOBOL Remote Development Services]を選択し、ウィンドウメニューから[操作] > [プロパティ]を選択します。
→ [NetCOBOL Remote Development Services のプロパティ]ダイアログボックスが表示されます。
[NetCOBOL Remote Development Services のプロパティ]ダイアログボックスの[全般]タブを選択します。
[停止]ボタンをクリックします。
システム起動時にリモート開発サービスを自動的に起動しないようにする場合は、[スタートアップの種類]を[手動]に変更します。
リモート開発サービスの公開を終了する際には、公開時に行ったファイアウォールなどの設定変更を元に戻してください。
ここでは、リモート開発サービスが出力するログファイルについて説明します。
ログファイルの内容
ログファイルに記録される内容には以下のものが含まれます。
接続開始日時
接続元のIPアドレス
アカウント名
ログオンに成功したかどうか
接続終了日時
ログオン後に各ユーザアカウントで実行したコマンドについては記録しません。
ログファイルに出力される時刻は、UTC(Universal Time, Coordinated:協定世界時)となります。
ログファイルのパス
ログファイルのパスは以下の通りです。
%ProgramData%\Fujitsu\NetCOBOL\RDS\Log\rds.log
ここで、%ProgramData%はWindowsの共通アプリケーションデータフォルダです。デフォルトでは、「C:\ProgramData」になります。
ログファイルを出力するフォルダはリモート開発サーバの設定によって変更することができます。詳細は、“9.2.1.1.4 リモート開発サービスの動作設定”のlogdir設定の説明を参照してください。
ログファイルの世代
ログファイルのサイズが最大サイズに達すると、そのログファイルはバックアップされ、新しいログファイルが作成されます。
ログファイルの最大サイズは、リモート開発サーバの設定によって変更することができます。詳細は、“9.2.1.1.4 リモート開発サービスの動作設定”のmaxlogsize設定の説明を参照してください。
バックアップファイルは、ログファイル出力フォルダと同じフォルダで、以下の名前を持ちます。
rds.<連番>.log
<連番>は001から開始し、最大値は999です。この連番は、直前に作成されたバックアップファイルの次の番号が割り当てられます。ここで、「直前に作成されたバックアップファイル」とは、同一フォルダ中の他のバックアップファイルのうち、更新時刻が最も新しいものを指します。なお、直前に作成されたバックアップファイルの連番が999である場合は、次の連番は001に戻ります。
新しいバックアップファイルを作成した際に、そのバックアップファイルに割り当てられた連番から過去バックアップ世代分の連番をもつバックアップファイルを残し、他のバックアップファイルはすべて削除されます。
例えば、新しいバックアップファイルがrds.007.logでバックアップ世代が3の場合、rds.005.log、rds.006.log、rds.007.logを除くすべてのバックアップファイルは削除されます。
保存するバックアップの世代は、リモート開発サーバの設定によって変更することができます。詳細は、“9.2.1.1.4 リモート開発サービスの動作設定”のmaxloggen設定の説明を参照してください。
ここでは、リモート開発サービスの変更可能な設定と、その設定方法について説明します。
変更可能な設定には、以下のものが含まれます。
使用するポート番号
ログファイルの出力フォルダ・最大サイズ・バックアップ世代
変更したい設定内容は、サービスの開始パラメーターとして指定します。設定を変更後、その内容を反映するには、リモート開発サービスを再起動する必要があります。
リモート開発サービスの設定変更方法
リモート開発サービスの設定を変更するには、管理者アカウントで以下の手順を行います。
Windowsのスタートメニューから、[コントロールパネル] > [管理ツール] > [サービス]を選択します。
→ [サービス]ウィンドウが表示されます。
サービスの一覧から[NetCOBOL Remote Development Services]を選択し、ウィンドウメニューから[操作] > [プロパティ]を選択します。
→ [NetCOBOL Remote Development Services のプロパティ]ダイアログボックスが表示されます。
[NetCOBOL Remote Development Services のプロパティ]ダイアログボックスの[全般]タブを選択します。
[開始パラメーター]に設定を記述します。
注意
複数の設定を[開始パラメーター]に記述する場合は、それぞれの設定を空白で区切って記述します。
空白を含む設定を記述する場合は、その設定を引用符(")でくくった形で指定します。
例
/port:61999 "/logdir:C:\log data" /maxlogsize:128 /maxloggen:2
[開始パラメーター]の内容は保存されません。
システム起動時にリモート開発サービスが自動起動するようにしている場合、次回システム起動時にリモート開発サービスはデフォルトの設定で起動します。
[開始パラメーター]に記述できる内容については、以下の一覧を参照してください。変更可能な設定は以下のとおりです。
設定名 | 開始パラメーターへの指定方法 | 既定値 | 説明 |
---|---|---|---|
port | /port:<番号> | 61999 | リモート開発サーバが使用するTCP/IPのポート番号を指定します。<番号>にはポート番号を十進数で指定します。 |
logdir | /logdir:<パス> | Windowsの共通アプリケーションデータフォルダ(注) | リモート開発サービスのログファイルを出力するフォルダを指定します。<パス>にはフォルダのパスを指定します。空白を含むパスを指定する場合は引用符(")で開始パラメーターをくくります。 |
maxlogsize | /maxlogsize:<サイズ> | 128 | リモート開発サービスのログファイルの最大サイズを指定します。<サイズ>には最大サイズを十進数で指定します。単位はキロバイトです。0を指定した場合は、ログファイルを出力しません。 |
maxloggen | /maxloggen:<世代数> | 2 | リモート開発サービスのログファイルのバックアップを保持する世代数を指定します。<世代数>には世代数を十進数で指定します。nを指定すると、n個のバックアップ(rds.xxx.log)が保持されます。999より大きな数を指定すると、999が指定されたとみなします。0を指定した場合は、バックアップは保持されません。 |
注 :“9.2.1.1.3 リモート開発サービスのログファイル”の“ログファイルのパス”を参照してください。
Solarisサーバの場合、ftpdサービスは、デフォルトではオペレーティングシステムの導入時にインストールされ、常に起動するようになっています。
注意
Solarisの場合は、rexecサービスはオペレーティングシステムの導入時に起動するようになっていません。次の操作が必要になります。
ステータスの確認
次のコマンドを実行してステータスを確認してください。
# svcs -a | grep rexec disabled 18:28:10 svc:/network/rexec:default
実行結果の出力の先頭が“disabled”である場合は、rexecサービスを起動してください。
rexecサービスの起動
次のコマンドを実行してrexecサービスを起動してください。
# svcadm enable svc:/network/rexec:default
Solarisサーバの場合、システム設定の変更は設定ファイルの内容を確認し、必要であれば修正することが一般的ですので、その方法だけを説明します。
サービスの状態の確認
Solarisサーバにおいて、ftpdおよびrexecは、inetd(インターネットデーモン)から呼び出されるサービスです。したがって、次のファイルの内容を確認します。
/etc/services
/etc/inetd.conf
“/etc/services”および“/etc/inetd.conf”にftpdおよびrexecに関する記述が存在し、それが有効であれば、以降の作業は必要ありません。ftpdおよびrexecに関する記述があるファイルの例を示します。
/etc/servicesの例(青色(下線付き)がftpdに関する記述です。)
#
# Network services, Internet style
#
…
ftp 21/tcp
…
## UNIX specific services
## these are NOT officially assigned
#
/etc/inetd.confの例(青色(下線付き)がftpdとrexecに関する記述です。)
… # FTPD - FTP server daemon ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd -a … # REXECD - rexec daemon (BSD protocols) exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd …
ftpdまたはrexecの設定行がコメント化(行頭に“#”)されている場合は、以降の作業を行ってください。
サービスの設定の変更
“/etc/services”および“/etc/inetd.conf”を修正し、ftpdまたはrexecの設定を追加します。
サービスの起動
ftpdおよびrexecは、inetd配下で起動されるサービスであるため、inetdを再起動します。
次のコマンドを実行してください。
# kill -HUP `cat /var/run/inetd.pid`
または、
# ps -ea | grep inetd inetdのプロセスIDが表示される。 # kill -HUP inetdのプロセスID
Linux(Itanium)サーバの場合、ftpdおよびrexecサービスは、オペレーティングシステムの導入時にインストールされていない場合もあるため、これらのパッケージが導入済みかの確認から説明します。
なお、Linux(Itanium)では、この種のシステム設定のためにGUIを持つツールが用意されている場合がありますが、GUIツールはバージョンおよび個々のシステムの設定による違いが大きいため、コマンドによる操作方法のみを説明します。
パッケージの確認
パッケージがインストール済みか確認するには次の形式でrpmコマンドを実行します。
# rpm -query パッケージ名
ftpdおよびrexecに必要なパッケージ名は次のとおりです。
ftpd : vsftpd
rexec : rshおよびrsh-server
パッケージの情報が表示された場合、パッケージはインストール済みです。“3.サービスの状態の確認”に進んでください。
# rpm -query vsftpd vsftpd-2.0.1-5 # rpm -query rsh rsh-0.17-17 # rpm -query rsh-server rsh-server0.17-17
パッケージの情報が表示されない場合、パッケージのインストールを行う必要があります。
注意
Linux(Itanium)システムで使用されるftpdのパッケージには、バージョンやディストリビューションの違いにより幾つか種類があります。次のようなものが使われている場合もあります。
wu-ftpd
proftpd
パッケージの導入
次の形式でrpmコマンドを実行してパッケージを導入します。
rpm -Uvh パッケージ名
サービスの状態の確認
次の形式で/sbin/chkconfigコマンドを実行して、システム起動時のサービス開始の設定を確認します。
/sbin/chkconfig --list サービス名
例えば、次のような結果が得られる場合、ftpd(vsftpd)とrexecはシステム起動時に開始されない設定になっています。この場合、“4.サービスの設定の変更”が必要です。
# /sbin/chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off # /sbin/chkconfig --list rexec rexec off
サービスの設定の変更
次の形式で/sbin/chkconfigコマンドを実行して、システム起動時にサービスが開始されるように設定します。
/sbin/chkconfig [--level レベル] サービス名 on
以下、システム開始時にサービスが開始されるように設定を変更し、確認する例について示します。
# /sbin/chkconfig --level 5 vsftpd on # /sbin/chkconfig --list vsftpd vsftpd 0:off 1:off 2:off 3:off 4:off 5:on 6:off # /sbin/chkconfig rexec on # /sbin/chkconfig --list rexec rexec on
サービスの起動
次の形式で/sbin/serviceコマンドを実行して、サービスを開始します。
なお、rexecの場合は、xinetd配下で起動するサービスであるため、xinetdを再起動する必要があります。
# /sbin/service vsftpd start vsftpd 用の vsftpd を起動中: [ OK ] # /sbin/service xinetd stop xinetd を停止中: [ OK ] # /sbin/service xinetd start xinetd を起動中: [ OK ]