Introduction
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.
Dancer-IRCD is an IRC server designed for centrally maintained networks This is the ircd designed for use on FreeNode, based on Hybrid IRCD used by Efnet. It attempts to handle the network transparently as a unit, and to provide features to support the OPN philosophy.
Installation
Download and install Dancer-IRCD, Dancer-Services, and Makepasswd
sudo aptitude install dancer-ircd dancer-services makepasswd
Configuration
In this article, we need to configure two files /etc/dancer-ircd/ircd.conf and /etc/dancer-services/services.conf. They should be opened as root by your favorite text editor, it may be Gedit, Nano, or even Kate... your choice!
We also need an IRC client to test it out. It can be GAIM or Pidgin, Konversation, Chatzilla, or Ksirc.
/etc/dancer-ircd/ircd.conf
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:xxxx:services.
Trust me, you have to place xxxx 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, thereby creating a new line. 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 xxxx word on line 315 with this.
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:Your Name <your@email.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:~oper@127.0.0.1:xxxx:YourNick:segjO
Replace the xxxx string with your hashed password
O:~oper@127.0.0.1:$1$CdjQLLLa$/Mq69SSgCK/wtyNo/eIuw/:YourNick:segjO
Also replace YourNick with the nick you plan on using with this server
In line 62 and 63, replace it with the channel you want OperServ to monitor. Please take note that this is Optional.
C:#family C:#friends
In line 130, replace it with the following ( if you have a FQDN/hostname you can replace localhost with your FQDN/hostname and the IP address and port will also be your specific setting(s)).
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 since it happens every time but doesn't affect anything. After restarting dancer-ircd and dancer-services, launch your favorite IRC browser and try connecting to localhost:6667
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.
Configuration Files
Sample Configuration Files used in this tutorial can be downloaded here. You can overwrite your current files, but make sure to set ircd.conf as readable by all and services.conf as owned by dancer-services.
ircd.conf should be saved to /etc/dancer-ircd. Note: this file should be readable by all.
services.conf should be saved to /etc/dancer-services. Note: this file should be owned by dancer-services.