Step-by-Step Guide: Installing InspIRCd IRC Chat Server on Debian 10

This guide provides a detailed step-by-step process for installing InspIRCd on a Debian 10 server. InspIRCd is a powerful IRC server designed for UNIX-like systems, such as Linux distributions and BSD variants. It is a popular choice for smaller user networks, offering an alternative to other IRC servers like UnrealIRCd or Quassel. By using TCP connections with clients rather than raw UDP packets, InspIRCd is believed to deliver superior performance compared to traditional IRC protocol stacks. It also features its own scripting language, AngelScript, which allows for advanced functionalities like scripted control channels, CTCP replies, custom commands, and more.

Prerequisites

This guide assumes you are installing InspIRCd on a Debian 10 server with a non-root account and correct SSH access configuration.

Getting Started

Update Your Server

Start by updating your server using the command below:

sudo apt update && sudo apt upgrade -y

Executing this command will check for any pending security updates that need installation and load the most recent packages. The duration will vary depending on your server’s speed and internet connection.

Add a New User

Next, create a new user. You can choose any name. In this example, we’ll create a user named “newircd”:

sudo adduser newircd

Set a secure password at the prompt for your new user. It’s advised not to use root or default administrator’s credentials for any server. Once done, you can set other options like the shell or home directory, but we will stick with defaults for now.

Add the “newircd” user to the sudo group, granting them full access to run commands system-wide:

sudo /sbin/usermod -a -G sudo newircd

The /sbin/usermod -a command adds the user “newircd” to the existing “sudo” group. The -G option ensures the user is placed in the sudoers file without being listed in other files.

Navigate to the home directory and install necessary dependencies:

cd
sudo apt install git perl g++ make -y

This command installs the required git, perl, and g++ packages. The -y option allows for proceeding without manual confirmation.

Install prerequisites

Install InspIRCd

Download the latest release of InspIRCd from GitHub and store it in the current working directory:

wget https://github.com/inspircd/inspircd/archive/refs/tags/v3.10.0.tar.gz

Extract the InspIRCd package using the tar command:

tar xvf v3.10.0.tar.gz

Navigate to the “inspircd-3.10.0” directory and begin the pre-compilation configuration:

cd inspircd-3.10.0
perl ./configure

You will be prompted for the installation directory. Use the full path “/home/newirc/inspircd-3.10.0/” as your directory, then proceed.

Configure
Configure options

Compile and install the application by running:

make
make install

Wait for the compilation to complete, then proceed with installation using the above command.

Use the included configuration files to set up your IRC server:

sudo nano /home/newircd/inspircd-3.10.0/run/conf/inspircd.conf

Modify the configuration file as necessary:

        <config format="xml">
        <define name="bindip" value="1.2.2.3">
        <define name="localips" value="&bindip;/24">
        <server
        name="chat.inspircd.co"
        description="Welcome to inspircd World"
        id="97K"
        network="chat.inspircd.co">
        <admin
        name="jun naruse"
        nick="naruse"
        email="naruse@inspircd.co">
        <bind
        address=""
        port="6697"
        type="client">

Save by pressing CTRL-X, confirm with ‘y’, and enter to save your changes.

Start the InspIRCd service:

./inspircd start

If you have a firewall enabled, ensure permission for ports is granted to allow connections.

Testing InspIRCd

Open your preferred IRC client. Add a server or network using your server’s IP and the designated account password, then connect:

IRC Client
Server details

If no error messages appear, your IRC server is operational:

IRC Chat

Conclusion

Congratulations! You have successfully installed InspIRCd on Debian. Your IRC server is now active, and you can start creating channels for engaging discussions on topics of your choice!

FAQ

What is InspIRCd?

InspIRCd is an IRC server application designed for UNIX-like systems, providing robust performance and advanced features for small user networks.

Why should I use InspIRCd over other IRC servers?

InspIRCd is favored for its use of TCP connections, believed to offer better performance than traditional IRC setups. Its scripting capabilities with AngelScript also provide extensive custom functionalities.

Is it necessary to create a new user for installation?

Creating a new user enhances security by preventing root-level access for running your IRC server, minimizing risks associated with administrative credentials.

How can I ensure connections are allowed through my firewall?

Check your server’s firewall settings to ensure ports used by InspIRCd are open and can accept incoming connections, confirming seamless client-server communication.