インストール
1. セットアップパッケージをダウンロードし、zip書庫を開いて、中身のファイルを全てハードディスクドライブ上のフォルダ内へ取り出して下さい。
2. DICEのインストールにはWindowsの管理者権限を持っている必要があります。取り出されたファイルの中の"setup.exe"をクリックして下さい(Windows Vista上では"DICE.msi"を直接クリックすることによるインストールはできません)。.NET Frameworkの必要なバージョンがインストールされていない場合、ここでインストールするよう促されます。
(DICEインストール後に、標準PerlモジュールをPerl CGIで使用したい場合は、標準Perlモジュール集をダウンロードページでダウンロードし、zip書庫の中身をDICEアプリケーションフォルダ内の"perl_lib"フォルダ内へ入れてください。)
設定
1. デスクトップ上に作成されたDICE Managerのアイコンをクリックして下さい。DICE Managerで行うのは以下3つの作業です。1) DICE webサーバのリスニングポート設定 2) 新しいDICE管理者の作成 3) DICEサービスの開始
2. まず、「サービス」タブ内の「Webサーバのポート変更」をクリックします。デフォルトポートの80番と443番を変更する必要がある場合は、他の番号へ変更して下さい。Skypeなど80番ポートを使用する他のアプリケーションがある場合は、8080等の番号に変更する事が推奨されます。
3. 「管理」タブで、「新管理者の作成」をクリックします。新しいユーザ名と新しいパスワード(2回)を入力するよう求められます。このユーザ名とパスワードがDICEユーザコントロールパネルへのログインの際に要求されますので、忘れないようにして下さい。
4. 「サービス」タブに戻り、「DICEサービスの起動」を押して下さい。DICEが通常起動した旨表示されない場合は、「管理」タブで「ローカルのログフォルダを開く」をクリックし、「global」フォルダ内のログファイルを読んで問題の所在を探して下さい。
5. DICEサービスが開始した後に、DICE Managerの「管理」タブで「Webインタフェイスを開く」をクリックします。デフォルトのwebブラウザが開き、DICEユーザコントロールパネルを表示します。先にDICE Managerで設定した管理者ユーザ名とパスワードを用いてログインして下さい。
6. webブラウザに表示されているDICEユーザコントロールパネルで、メニューの「管理用ツール」をクリックし、さらに「設定オプションの変更」をクリックして下さい。DICEで利用できる設定オプションが全て表示されます。設定項目中では、"IRCPublicHostname"と"HTTPPublicHostname"が、サーバをインターネットからアクセス可能にする上で重要です。IRCまたはwebサーバを自分の所有する"irc.example.com"というホストで開設したい場合、"irc.example.com"をそれらのオプションに記入して下さい。関心のある全ての設定項目を編集後に、「設定オプションを保存する」ボタンを押して下さい。DICEの再起動を促されますので、OKを選択して下さい。DICEが新しい設定で再起動します。
7. IRC機能が正常に動作しているかは、DICEのWebインタフェイスからWeb IRCクライアントを開き、接続することによって確認できます。
ファイアウォール/ルータの設定
DICEのUPnP設定が無効か、またはNATルータがUPnPをサポートしない場合、手動で以下のポートをルータ/ファイアウォールで開く/転送するようハードウェアルータやソフトウェアファイアウォールを設定する必要があります。Windows XP SP2で導入されたWindows Firewallについては、DICEはバイパスしますので、手動設定は不要です。
[インバウンド(内向き)接続]
TCPポート 80 (Web; 設定に応じて変動)
TCPポート 443 (Web SSL; 設定に応じて変動)
TCPポート 6667 (IRC; 設定に応じて変動)
[アウトバウンド(外向き)接続 - 通常は設定を必要としません]
TCPポート 80, 1080, 3128, 8080 (IRC不正プロクシスキャナ)
管理
サーバ管理作業は、全てwebユーザインタフェイス(DICEユーザコントロールパネル)から行います。
IRC上での管理作業については、IRCのためのニックとパスワードをDICEユーザコントロールパネルで登録する必要があります。次に、IRCで、"/shell login"コマンドをIRCニックとパスワードと共にタイプしてIRCユーザシェルへログインして下さい。管理者として認証されたユーザは、"/shell admin"の各種管理コマンドをIRCで使用できます。また、"/kill"コマンドで他ユーザの切断も出来ます。
ローカルのwebフォルダを開くには、DICE Managerの「管理」タブで「ローカルのwebフォルダを開く」をクリックして下さい。そのフォルダがwebサーバのルートディレクトリとなります。そのフォルダ以下の全てのファイルやフォルダはweb上に公開されますので、プライベートなデータが含まれないよう注意して下さい。
DICEサービスを停止する方法は複数有ります。
+ DICE Managerを使用する
+ Windowsの管理ツールからサービスコントロールマネージャを開きDICEサービスを停止する
+ Windowsのコマンドコンソール内に"net stop DICE"とタイプする
DICEはWindowsサービスですので、Windowsアカウントをログアウトした後もバックグラウンドで動作し続けます。
アンインストールと再インストール/更新
DICEをアンインストールするには、サービスを停止してから、コントロールパネルのプログラムの追加/削除からDICEをアンインストールして下さい。アンインストールに失敗する場合、DICE配布アーカイブ内の"setup.exe"を左クリックしてRepair(修復)を実行してから、再度アンインストールを試行して下さい。何らかの事由でDICEサービスを手動でアンインストールしなければならない場合は、コマンドコンソールを開き、DICEのアプリケーションフォルダで"dice.exe -unregserver"とタイプして下さい。
アプリケーションのデータは、Windows XPやWindows Server 2003では"C:\Documents and Settings\All Users\Application Data\DICE"に、Windows Vistaでは"C:\ProgramData\DICE"に保存されます。
DICE更新時には、古い設定ファイルはアプリケーションデータフォルダ内の"backup"フォルダ内へ移動されます。
SSL
SSL経由のHTTP(https)に加え、DICEでは、SSLを経由したIRC通信が可能です。SSL経由のIRCが持つ利点は、第三者による盗聴を検知し防止するSSL暗号化によりサーバ-クライアント間の通信の機密性が守られることです。mIRC等のSSL機能を持ったIRCクライアントの接続オプションで明示的にSSL接続として指定した上で、DICE IRCのポートへ接続して下さい。伝統的なIRCサーバと異なり、DICEは通常のIRC接続とSSL経由のIRC接続の双方を単一のポートで受容できます。IRCポートが6667の場合、SSL経由のIRCのポートも同じ6667となります。
デフォルト設定では、DICEはダミーの自己署名証明書を生成し、SSLハンドシェイクリクエストを受けるとクライアントへその証明書を送信します。ただし自己署名証明書には欠点があり、SSL接続が自己署名証明書を用いてなされた場合、仲介者攻撃(man-in-the-middle attack - MITM)と呼ばれるセキュリティ侵害からは保護されません。仲介者攻撃は、メジャーな認証局(CA: Certificate Authority)企業が署名した証明書の使用によってのみ防止できます。この欠陥により、DICEにSSLを経由して接続したときに自己署名証明書が使用されていると、IRCクライアントやwebブラウザは「不正なSSL証明書です」等のメッセージを出します。クライアントのオプションを変更することにより自己署名証明書を強制的に受け入れるようにするか、もしくはCAから正規の証明書を購入してPEMフォーマットでDICEに設置する必要があります。
ただし、CAが署名した証明書を得るには一定の料金を要します。また、一般的な状況では、仲介者攻撃が起こる可能性は極めて低いといえます。より高度なセキュリティのためには正規の証明書の使用が推奨されますが、クライアント-サーバ間の通信の暗号化を望むユーザの大多数にとっては、自己署名証明書の使用で十分です。
IRCで、あるユーザがSSL経由で接続しているかどうかは、そのユーザに対し/whoisコマンドを実行すると判明します。SSLユーザのみをチャンネル入室可能にするために、+zチャンネルモードを設定可能です。DICEの設定には全ての非SSLユーザを拒絶するオプションがあります。
ダイナミックDNS
インターネットドメイン名を所有していない時に、覚えやすいURLを無料で取得するには、ダイナミックDNSサービスプロバイダが提供するDNSホスティングを利用できます。そのようなサービスでは、ドメイン名に関連付けるためにグローバルIPアドレスを登録することが求められます。一方で、グローバルIPアドレスはISPによってランダムなタイミングで変更されます。使用しているネットワークルータ機器がUPnPをサポートしている場合、DICEは変更を検出し、自動的にダイナミックDNSサービスプロバイダの登録情報を更新します。デフォルトの設定では、DynDNSがサポートされています。HTTPベースの更新プロトコルを使用する他のダイナミックDNSサービスプロバイダ向けにカスタマイズすることも可能です。ダイナミックDNSサービスプロバイダとの通信の結果はDICEのログに記録されます。