0% found this document useful (0 votes)
201 views11 pages

Build An IRC Server With IRCD

This document provides steps to install an IRC server using IRCD-Hybrid and Anope services on Ubuntu 15.04, including enabling SSL encryption. It involves installing dependencies, downloading and configuring IRCD-Hybrid as the IRC daemon, installing and configuring Anope services, and enabling SSL in the IRCD-Hybrid configuration to secure connections. When completed, the IRC server and services can be tested by connecting with an IRC client over a secure SSL connection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
201 views11 pages

Build An IRC Server With IRCD

This document provides steps to install an IRC server using IRCD-Hybrid and Anope services on Ubuntu 15.04, including enabling SSL encryption. It involves installing dependencies, downloading and configuring IRCD-Hybrid as the IRC daemon, installing and configuring Anope services, and enabling SSL in the IRCD-Hybrid configuration to secure connections. When completed, the IRC server and services can be tested by connecting with an IRC client over a secure SSL connection.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

Build an IRC Server with IRCD-Hybrid and

Anope on Ubuntu 15.04


On this page

1. About IRC

2. Prerequisites

3. Step 1 - Installation of the required dependencies

4. Step 2 - Download and install IRCD-Hybrid

5. Step 3 - Download and install Anope Services

6. Step 4 - Configure IRCD-Hybrid

7. Step 5 - Configure Anope Services

8. Step 6 - Add SSL to IRCD-Hybrid

9. Step 7 - Testing

10. Conclusion

This tutorial shows the installation of an IRC server with IRCD-Hybrid and Anope on Ubuntu
15.04 and how to secure the IRC connections with SSL.

About IRC
IRC (Internet Relay Chat) is a text-based chat protocol which has an open specification. There
are several IRC servers and clients available which implement IRC.

IRCD-Hybrid is a lightweight, high-performance Internet Relay Chat daemon used by e.g.


EFnet. We will use this software in our tutorial for Ubuntu 15.04.

Anope is a set of IRC Services that provides flexibility and ease of use with support for 15
IRCds including IRCD-Hybrid. Anope is available in 2 versions: Stable and Development. We
will use the Stable version here.

Prerequisites
An Ubuntu 15.04 server, I will use the IP 192.168.1.109.

Root Privileges

What we will do in this tutorial:

1. Install the required dependencies.

2. Download and install IRCD-Hybrid.

3. Download and install Anope.

4. Configure IRCD-Hybrid.

5. Configure Anope Services.

6. Adding SSL to IRCD-Hybrid.

7. Testing.

Step 1 - Installation of the required dependencies


We need OpenSSL and the gcc compiler for the installation. The Linux Build tools are available
in the meta package "build-essential" and we need the Make tool CMake for the Anope
installation. Install the packages with the "apt" command:

sudo apt-get install build-essential cmake openssl libssl-dev

Step 2 - Download and install IRCD-Hybrid


1. We will install IRCD-Hybrid from source. Download the source files from sourceforge and
extract them in your home directory:

sudo su
cd ~
wget http://prdownloads.sourceforge.net/ircd-hybrid/ircd-hybrid-8.2.8.tgz
tar -xzf ircd-hybrid-8.2.8.tgz

2. Please go to the directory "ircd-hybrid" with "cd" command:

cd ircd-hybrid-8.2.8

3. Now before you compile and install the software, you have to set a directory for ircd, and the
user to run the software. This what i will do:
Install ircd-hybrid under user "mavis".

Install in a directory called "hybrid", under mavis home directory.


"/home/mavis/hybrid/".

If you dont have a user "mavis" yet, add one with the command:

adduser mavis

Now run this command with "root" privileges to configure and compile ircd:

./configure --prefix=/home/mavis/hybrid
make && make install

Now go to the mavis home directory and change the owner of the "hybrid" directory.

cd /home/mavis
chown -R mavis:mavis hybrid

Step 3 - Download and install Anope Services


1. Download anope with the wget command and extract the tar.gz file:

sudo su
cd ~
wget https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz
tar -xzf 2.0.2.tar.gz

2. Then enter the anope directory.

cd anope-2.0.2-source/

3. And compile and install anope. These are the same steps that we used to install ircd-hybrid. I
will install it under user "mavis" as well into the directory "services".

Now run this as "root" privileges :

./Config

and you will be asked "where do you want to install" anope. Enter the following
directory "/home/mavis/services/" and then press "Enter".
Next enter the "build" directory and then use a command "make && make install" to compile
and install anope services.

cd build
make && make install

When the installation is complete, go to the mavis home directory and change the owner for
directory "services" to user "mavis".

cd /home/mavis/
chown -R mavis:mavis services/

Step 4 - Configure IRCD-Hybrid


1. Before you edit the configuration file, please generate a password with "mkpasswd" command
in the "bin" directory. This password is used later for the admin/operator access.

cd ~/hybrid/bin
./mkpasswd
type your password

2. Now switch to user mavis to configure ircd-hybrid. Please go to the directory "hybrid/etc/"
and copy a file "reference.conf" to a new file "ircd.conf".

su - mavis
cd hybrid/etc/
cp reference.conf ircd.conf
3. Edit the file ircd.conf with the vim editor.

vim ircd.conf

Go to line 40 - the serverinfo block - and change it to your server info, below my example:

name = "mavis.local";
description = "ircd-hybrid Mavis server";
network_name = "MavisNet";
network_desc = "This is Mavis Network";

Now edit the admin info in line 195:

name = "Mavis Admin";


description = "Mavis Server Administrator";
email = "<[email protected]>";

and in the auth block on line 428, comment "flag" the option:

# flags = need_ident;

and set the oprator or admin for irc server in line 437 :

name = "mavis"; #operator username


user = "*@192.168.1.*"; # this is my network IP
password = "$1$zylz9BKK$AQg/dc/Ig04YuvPgkCtFK0"; #password generated with
mkpasswd
encrypted = yes;

And finally you have to "define a server to connect to" in the connect block line 566. The
configuration is use by ircd-hybrid for the connection to anope :

name = "services.mavis.local";
host = "192.168.1.109"; #server ip
send_password = "12345"; #use your password
accept_password = "12345";
port = 6666;

Then save the configuration file.

4. Start ircd-hybrid in bin directory

cd ~/hybrid/bin/
./ircd
Try connect to your IRC server with an IRC client like mIRC, hexchat or xchat.

/server 192.168.1.109

Login with user mavis, try to be an operator/admin.

/oper mavis aqwe123

Step 5 - Configure Anope Services


1. Go to the anope installation directory as user "mavis" and copy the file "example.conf" to the
new file "services.conf".

su - mavis
cd ~/services/conf
cp example.conf services.conf
2. Edit the configuration file with the vim editor.

vim services.conf

Edit the uplink block in line 154 - this is used by anope for the connection to ircd. Make sure
this configuration matches with connect block in the ircd configuration.

#Server IP
host = "192.168.1.109"
port = 6666
#default port is 7000
password = "12345"

Then change the serverinfo block in line 198 and make sure it is matches with the connect
block in the ircd-hybrid configuration.

name = "services.mavis.local"

Finally you have to define the ircd software that you use in the module block in line 260.
Change "inspircd20" to "hybrid".

name = "hybrid"

Save the configuration file.

3. Run the anope services.

cd ~/services/bin
./anoperc start

Now you can check that the anope services are connected with ircd-hybrid. Connect to the IRC
server and check with this command:

/whois ChanServ
Step 6 - Add SSL to IRCD-Hybrid
1. Before you edit the ircd-hybrid configuration, you have to generate a SSL certificate for ircd.
Please go to the "hybrid/etc/" directory.

cd ~/hybrid/etc/

And generate a private rsa.key with the openssl command, change the permission to 600 with
chmod:

openssl genrsa -out rsa.key 2048


chmod 600 rsa.key

Now generate the SSL certificate for the encrypted client connection with our rsa.key private
key:

openssl req -new -days 365 -x509 -key rsa.key -out cert.pem

Enter your data like Country etc. when requested by OpenSSL.

and the last, generate a dhparam file with command :

openssl dhparam -out dhparam.pem 2048

Just wait, because it will take some time.


2. Now go to the hybrid directory and edit the configuration file "ircd.conf".

cd ~/hybrid/etc/
vim ircd .conf

Uncomment the ssl configuration in the serverinfo block:

rsa_private_key_file = "etc/rsa.key"; # Line 114


ssl_certificate_file = "etc/cert.pem"; # Line 136
ssl_dh_param_file = "etc/dhparam.pem"; # Line 151

And finally you have to comment the host in the listen block at line 353.

# host = "192.168.0.1";

Save and exit.


3. Restart ircd-hybrid and anope:

killall ircd
~/hybrid/bin/ircd
~/services/bin/anoperc start

Step 7 - Testing
Try to connect to your IRC server with an IRC client, I'll be using Hexchat here and see what
happens:

/server -ssl 192.168.1.109 6697

note : 6697 is default port for SSL Connection on ircd-hybrid.


Now you can see that we are connected with SSL and that we can be a operator/admin of our
server, so the anope is working.

Conclusion
Internet Relay Chat(IRC) is an open (client/server) protocol for text-based chats, it is one of the
foundations of the internet and still used by many developers and sysadmins. The IRC Server is a
computer/server running an IRC daemon, the IRC client is a small program that the user can
install on their system as chat client. IRCD-Hybrid is an lightweight and easy to configure IRC
Daemon with support for SSL connections to secure the IRC network. Anope is a set of services
for IRC Networks. With anope you can easily manage your IRC network. IRCD-Hybrid, Anope
and SSL are one of the best solutions to build your own IRC Server.

You might also like