Friday, August 31, 2007

Setting Up Dancer-IRCD in Kubuntu

Definition of IRC:
Internet Relay Chat (IRC) is a form of real-time Internet chat or synchronous conferencing. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication and data transfers via private message.

IRC was created by Jarkko "WiZ" Oikarinen in late August 1988 to replace a program called MUT (MultiUser talk) on a BBS called OuluBox in Finland. Oikarinen found inspiration in a chat system known as Bitnet Relay, which operated on the BITNET.

IRC gained prominence when it was used to report on the Soviet coup attempt of 1991 throughout a media blackout. It was previously used in a similar fashion by Kuwaitis during the Iraqi invasion. Relevant logs are available from ibiblio archive.

IRC client software is available for virtually every computer operating system.

Reference: http://en.wikipedia.org/wiki/Internet_Relay_Chat

What is Dancer-IRCD:
An IRC server designed for centrally maintained networks This is the ircd designed for use on OpenProjects Net (www.openprojects.net), based on the hybrid ircd used by efnet. It attempts to handle the network transparently as a unit, and to provide features to support the OPN philosophy. This package contains the main binary files.

Reference: http://linux.about.com/cs/linux101/g/dancerircd.htm

Requirements:

  • I'm using Kubuntu Gutsy, but it'll work fine with Debian Sarge & Etch, and Ubuntu Edgy, Feisty, and Dapper.. with or without a desktop environment.
  • You need to have an Internet connection so you can download dancer-ircd and dancer-services. If you don't have a connection, secure those packages via AptOnCD.
  • Text Editor, Gedit or Nano would do fine
  • Sudo or Root Access so you can modify the Dancer files residing in /etc

Installation:
via Command Line: sudo aptitude install dancer-ircd dancer-services
via Synaptic and/or Adept: see Synaptic and Adept Documentation



Configuration:
In this article, we need to configure 2 files /etc/dancer-ircd/ircd.conf and /etc/dancer-services/services.conf. They should be opened as root by your favorite text editor, may it be Gedit, Nano, or in my case, Kate.

We also need an IRC client to test it out. It can be GAIM or Pidgin, Konversation, Chatzilla, or Ksirc. I'll be using the Ksirc in this article.

/etc/dancer-ircd/dancer-ircd:
In line 48, change it to:
M:localhost.: :dancer-services localhost:

In line 314, change it to:
C:127.0.0.1:P@ssw0rD:services.
where P@ssw0rD is Your Password. Please change it accordingly.

In line 315, change it to
N:127.0.0.1:REMEMBER:services.

Trust me, you have to place REMEMBER on this line, this is temporary until we get our hashed password.

Hashed Password:
Open a text editor and place your password there. Please make sure you don't include a space after your password and do not hit the Enter key. Save it as password in your home directory.


Open a terminal window and type this command:
makepasswd --crypt-md5 --clearfrom password


Now you have there your Hashed password. Copy this string and replace the REMEMBER word on line 315 with this.
Line 315: N:127.0.0.1:$1$CdjQLLLa$/Mq69SSgCK/wtyNo/eIuw/:services.

Please take note that if you run the makepasswd command again, it'll spit out a completely different string. Don't worry, this works either way. It's a hashed result, so it will be a different string everytime you run the command.

/etc/dancer-services/services.conf:
In line 10, replace it with the following:
A:Dax Solomon Umaming <dax@knightlust.com>
Obviously, it's the Operator's username and password

In line 17, replace it with the following:
N:services.:dancer-services

In line 28, replace it with the following:
S:P@ssw0rD:127.0.0.1:6667
Again, please replace the password with your own.
If you want to use another port, do so here.

In line 57, replace it with the following:
O:~dax@127.0.0.1:REMEMBER:Knightlust:segjO
Replace the REMEMBER string with your hashed password
O:~dax@127.0.0.1:$1$CdjQLLLa$/Mq69SSgCK/wtyNo/eIuw/:Knightlust:segjO
Also replace Knightlust with the nick you plan on using with this server

In line 62 $ 63, replace it with the channel you want OperServ to monitor.
C:#baguio
C:#support-ph
Please take note that this is Optional.

In line 130, replace it with the following:
M:localhost:6667:127.0.0.1:6667:1m 4s

Testing:
Before firing up your favorite IRC client, make sure you double-check your settings. Once you're done, restart dancer-ircd and dancer-services.

sudo /etc/init.d/dancer-ircd restart
sudo /etc/init.d/dancer-services restart



In my system, there's a zlib warning, don't you worry about this. This may be bug, and I'll report this in Launchpad. After restarting dancer-ircd and dancer-services, launch your favorite IRC browser and try connecting to localhost:6667



If you have the following results, then you know that your IRCD's working. Now let's test dancer-services by issuing this command.

/msg nickserv register

If NickServ responded to the above command, then you know that dancer-services works. You're also sure that OperServ, ChanServ, and MemoServ's working.



So that's it.. congratulations. You now have an IRC server for your friends, family, and/or your business.

If you need other Dancer's advanced features, please consult the documentation.

Blogged with Flock