This guide will explain how to install an irc server under your local user account in FreeBSD specifically, it might work under other versions of BSD as well. While there are many different types of IRC servers out there, this one will cover the one I’ve used the most (and used to run an IRC network with), UnrealIRCd. It’s very full featured while not hard on system resources and supports a wide array of services applications (such as NameServ, ChanServ, etc).
- A FreeBSD rig
- A SSH client that can support ANSI colors like puTTy or SecureCRT (only if not logging on locally)
- Fetch or wget
- Your favorite text editor (I like nano)
First, head to http://www.unrealircd.com and snag a link to the install package.
# fetch http://www.blurryfox.com/unreal//Unreal3.2.6.tar.gz # tar zxvf Unreal3.2.6.tar.gz # cd Unreal3.2 # ./Config
This will run the configuration program which will ask a bunch of questions about how you want your IRC server setup. Examples of this are, if you would like to enable anti-spoof protection, what directory should it install in, would you like to compile as a Hub or Leaf, etc. For the most part, the default settings are fine. The only thing that might need changing is the hostname of the server. The Config script will then inspect your system and setup Make appropriately.
Wait for Make to do its thing. If there are any errors, fix them. The most common one is regarding Ziplib or the server to server communication compression. To be honest, on a small network you won’t need this so if you accidently enabled it, run ./Config again and disable it.
Be sure to make a .log file if you want to see an output of errors incase something goes wrong.
# cd ~/Unreal3.2/ # touch ircd.log
Congrats, Unreal is ready to run after you setup a configuration and network file.
Going over every option available to UnrealIRCd would make this guide huge and take up a lot of everyone’s time. Two excellent sources of information are from the UnrealIRCd Official Documentation and the UnrealIRCd FAQ. An example unrealircd.conf file can be found in the Unreal3.2/doc/ directory by the name of example.conf. An example of a network configuration file can be found un Unreal3.2/networks/ called template.network. Note that both the unrealircd.conf and a .network file are required to run Unreal (unless the whole .network file information block is included in the unrealircd.conf file)
I would post a default configuration just to get the server running but I feel the documentation in example.conf really needs to be read to get some understanding of what’s going on and what all the blocks do.
Once the configuration files are complete and in their proper locations (unrealircd.conf goes in the Unreal3.2 root directory, the .network file goes in Unreal3.2/networks/ unless otherwise specified), simply start up the server.
# cd ~/Unreal3.2 # ./unreal start
An IRC server should now be running on the local server on port 6667 or whatever port was specified in the unrealircd.conf file. Fire up your favorite IRC client and connect to it.