クリエイターズネットワークが提供しているウェブクライアントは、KiwiIRCというウェブアプリを使っています。KiwiIRCはWebIRC規格に対応しています。この機能を有効にすると、ウェブクライアントからIRCに接続しながら、whois コマンドなどで取得できるユーザーの接続元を(ウェブクライアントのサーバーではなく)本当のアドレスにすることができます。
IRCデーモンの設定ファイルを書き換えることができなければ、WebIRCの設定はできません。しかし、一般的にウェブクライアントが欲しいという場合は、そこまでの設定を必要としないでしょう。
自分のサーバーにKiwiIRCだけをインストールし、公開できれば問題はないはずです。
このページでは、インストール・設定作業の前提を以下の通りとします。
- CentOS 7.0.1406
- systemd
- KiwiIRC 0.9.1
この記事の続きは
必要になるパッケージのインストール
まず最初に、git クライアントと、npm (Node.js 関連のパッケージマネージャ)を、yum でインストールします。npm は EPEL に登録されています。
KiwiIRC本体のインストールと設定
次に、KiwiIRC 専用のユーザーを作成し、github からプログラム本体をプルします。npm で必要なパッケージをインストールしたら(結構な数のパッケージをダウンロードします)、設定ファイルの編集です。
$ sudo useradd kiwiirc -s /sbin/nologin $ sudo su - kiwiirc -s /bin/bash $ git clone https://github.com/prawnsalad/KiwiIRC.git && cd KiwiIRC $ npm install $ cp config.example.js config.js $ vi config.js
注目ポイントだけ、箇条書きでまとめました。
- conf.servers.push
ssl, ssl_key, ssl_cert の3項目を指定しなければ、HTTPサーバーとして動作します。設定すれば、HTTPSサーバーとして動作します。 - conf.servers.push -> port
KiwiIRC は、自分自身が独立したHTTP(S)サーバーとして動作します。外部に対して開くポートを指定します。 - conf.identd
大抵のIRCサーバーに搭載されている、ident による認証を引き受けるサーバーを有効にするかどうかです。初期設定の false のまま(無効化)でも問題ないでしょう。 - conf.default_encoding
IRCサーバー側の文字コードの設定です。irc.cre.jp系IRCサーバ群は初期設定の utf8 (=UTF-8) のままがいいので変えてテストしていません。FriendChatなどにつなぐ予定の方は変えてみるのがいいんじゃないでしょうか。 - conf.quit_message
ブラウザの窓を閉じるなどしたとき、KiwiIRC が自動的に補完するIRCの QUIT メッセージの中身です。 - conf.client
初期設定で接続するサーバーのアドレスやチャンネルなどの設定です。ブラウザから毎度接続先のサーバーを変えることももちろんできますが、初期設定は “irc.kiwiirc.com” というサーバーに接続されることになっています。国内のIRCサーバーを使うなら変えておくのがいいと思います。ポートの設定もお忘れなく(初期設定ではIRCSの6697番になっています)。 - conf.client -> settings -> show_timestamps
メッセージログの画面で、発言の時間を表示するかどうか。LimeChat2 などのように最初から表示されていてほしいなら true にします。
設定ファイルのところどころに、password の設定があります。しかしこれは、ソケット通信の設定を除いて、すべてKiwiIRC <-> IRCサーバー間の接続に必要となるパスワードです。
KiwiIRC自体にアクセス制限をかけたいのであれば、Apache や nginx などのHTTPサーバーでリバースプロキシを設定し、これにBasic認証などを施します。
起動・終了は専用の実行ファイルから行います。
ファイアーウォールを開いてアクセスできたら成功です。
systemd に登録する
システムの起動時に自動的にKiwiIRCが有効になるよう、systemd に登録します。
$ wget https://gist.githubusercontent.com/koi-chan/679b41c33e47d5659032/raw/613c114841abd22de8dd5b894773526c3fe0f830/kiwiirc.service $ sudo cp kiwiirc.service /etc/systemd/system $ sudo systemctl daemon-reload $ sudo systemctl status kiwiirc
gist にアップロードしておきましたので、ご参考までに。上の4行目を実行してエラーが出なかったら、起動・終了などを試してみましょう。
code
more code
~~~~