1999/1/11
バージョン IRC 2.9.5+jp5
OS Slackware 3.6 (Linux 2.0.35)
ホームページ http://www.irc.org/~irc/server/ (公式ページ)
ダウンロード ftp://ftp.kyoto.wide.ad.jp/IRC/Newest/

IRCはインターネットでの標準的なチャットのプロトコルです。ネットワーク上にサーバを分散させることができるのが特徴的です。しかし今回は分散は考えず、ローカルなチャットサーバとして立ち上げます。

準備

アーカイブを展開して、configureを実行します。

$ tar xvfz irc2.9.5+jp5.tar.gz

$ cd irc2.9.5+jp5
$ ./configure

コンパイル

configureを実行すると、最後に以下のように表示されるので。

Have you read doc/README? (I hope so)
Next cd i486-pc-linux-gnulibc1, edit "config.h",
run "make" to build and "make install" to install.

書いてあるとおりi486-pc-linux-gnulibc1へ移動してmakeします。

$ cd i486-pc-linux-gnulibc1
$ make

インストール

rootになって、make installを実行します。

$ su

# make install

(追記)別のマシンにインストールしたところ、

gcc -s -o irc clbsd.o cldbuf.o clpacket.o clsend.o clmatch.o clparse.o clsupport
.o c_bsd.o c_msg.o c_numeric.o c_version.o edit.o help.o ignore.o irc.o screen.o
str.o swear.o c_debug.o ctcp.o -lncurses
irc.o: In function `do_clear':
irc.o(.text+0xf26): undefined reference to `__waddbytes'
irc.o: In function `putline':
irc.o(.text+0x1016): undefined reference to `__waddbytes'
irc.o(.text+0x104a): undefined reference to `__waddbytes'
irc.o: In function `write_statusline':
irc.o(.text+0x13ed): undefined reference to `__waddbytes'
screen.o: In function `toggle_ins':
screen.o(.text+0x1fd): undefined reference to `__waddbytes'
make: *** [irc] Error 1

というエラーになってしまいました。これはconfigureに--without-ncursesを付けたら、とりあえずコンパイルは通りました。

$ ./configure --without-ncurses

設定

オペレータを設定する場合は、まず、オペレータ用の暗号化されたパスワードを作ります。これには同梱のmkpasswdというプログラムを使用します。ircd/cryptにあるので、makeして使います。

# cd ../ircd/crypt/
# make

# ./mkpasswd
plaintext:

と聞いてくるのでパスワードを入力すると、暗号化された文字列が返ってくるので、これをメモしておいてください。

/usr/local/lib/ircd.confを作ります。設定は分かりにくいですが、とりあえず以下のように設定しておけば動くようです。ここではアクセス制限などの設定も可能です。O:の行には、先ほどメモしておいた暗号化されたパスワードを書いてください。

M:irc.pixy.ne.jp:*:Pixy-net IRC Server:6667
P::::6667:
Y:1:90:0:20:100000
I:*@*::*@*::1
O:*.irc.pixy.ne.jp:パスワード:irc::2

さらに、/usr/local/lib/ircd.motdを作ります(必須ではありません)。ここにはIRCサーバへの接続時に表示されるメッセージを書いておきます。日本語で書く場合はJISを使います。

設定が終わったら、ircdを起動して、動作確認をします。

# /usr/local/sbin/ircd

自動起動の設定

OSブート時に自動的に起動するように設定します。この設定方法はOSによって異なります。ここではSlackware Linuxでの例です。

今回はセキュリティを考慮して、rootで起動さるのではなく、新規にircというアカウントを作って、その権限で起動させることにします。ただしircアカウントではログインできないようにパスワードを殺しておいたほうが良いでしょう。

# adduser irc

/etc/rc.d/rc.localに以下を追加します。

# Start IRCd
su irc -c "/usr/local/sbin/ircd"