tiarra を入れたので設定をメモしておく

Perl とかのコミュニティに参加してみたいと思って、最近やっと IRC を使い始めてみた(まだまだ活動は出来てないけど)。id:nekokak さんに「自由になるサーバがあるなら tiarra を入れるとログが残せたりして便利」と教えてもらったので設定してみた。

tiarra って何?

一言で言えば IRC Proxy。IRCクライアントから直接 IRCサーバに接続するんじゃなくて、自前のサーバに IRC Proxy を立てておいて IRCサーバとの接続を保持しておく。実際に接続する時は、IRCクライアントから自前のサーバに接続することになる。

イメージとしてはこんな感じ。

|IRCサーバ| - |自前のサーバ| - |IRCクライアント|

ここからは僕の環境である、さくらのVPSに設定した時の説明となる。当然自宅サーバでも同じ。

準備

本家のサイト Tiarra : Archive からダウンロード&解凍。

% wget http://www.clovery.jp/tiarra/archive/2010/02/tiarra-20100212.tar.bz2
% tar xpvf tiarra-20100212.tar.bz2

設定

解凍したディレクトリにある、「sample.conf」を「tiarra.conf」にコピーしてリネーム。

% cp -pv sample.conf tiarra.conf
パスワード設定

以下のコマンドを実行する。

% ./tiarra --make-password

入力したパスワードが crypt された値で返ってくる。

general ブロック

以下をそれぞれ設定する。

nick: 使用するニックネーム
user: 使用するユーザ名
name: 使用する名前
tiarra-password: crypt されたパスワード
例)
nick: amari3
user: amari3
name: amari3 example
tiarra-password: crypt されたパスワード
networks ブロック

後述するネットワーク設定に使う名前をつける。

name: 任意の設定名
例)
name: hoge

複数のネットワークに接続する場合はその分だけ記述する。

各ネットワークの設定

networks ブロックで設定した name に対する設定を行う。

hoge {
  host: irc.example.com
  port: 6667
}

ここまでの設定で動作させる事が出来るけど、ログの設定とかやっときます。

ログを取得できるようにする

以下の記述に変更する。

- Log::Channel {
  ↓
+ Log::Channel {

デフォルトでは log ディレクトリに保存してくれる。

クライアント接続時に最近のログを表示するようにする

以下の記述に変更する。

- Log::Recent {
  ↓
+ Log::Recent {
サーバ接続時に自動的入るチャンネル設定

以下の記述に変更する。

- Channel::Join::Connect {
  ↓
+ Channel::Join::Connect {

自動的に入りたいチャンネルの設定をする。

channel: #foo@irc.example.com
channel: #bar@irc.example.com
切断時に設定した nick に変更

以下の記述に変更する。

- User::Nick::Detached {
  ↓
+ User::Nick::Detached {

nick は任意のニックネームに。

detached: amari3_away

この設定をしておくと、切断時に設定した nick にしてくれる。

tiarra を起動する

% ./tiarra &

常駐させるプログラムなので、バックグラウンドで実行する。
これで IRCクライアントから、設定したサーバの指定したポートで接続すると接続できるはずです。

tiarra の設定ファイルの更新方法

tiarra の設定ファイルを変更した場合、IRCクライアントから

/load

とコマンドを打つと設定の読み込みができる。

最後に

実際に設定をしてみると、難しい箇所もなくあっさり導入できると思う。個人的にはログを残せる事が大きなメリットだと感じるので、当面使ってみます。