How to Install InspIRCd IRC Chat Server on Debian 10
On this page
This guide will help you install InspIRCd on Debian 10. InspIRCd is a robust IRC server that runs in UNIX-like environments, like Linux distributions and BSD variants.
It's often used as an alternative to other options like UnrealIRCD or Quassel for smaller networks of users. InspIRCd works by routing network traffic via TCP connections with clients instead of raw UDP packets which many believe results in better performance overall than the traditional IRC protocol stack most servers use today. InspIRCD also has its own scripting language called AngelScript which enables powerful features such as scripted control channels, CTCP/CTCP replies, custom commands and events triggered by timeouts, auto op status changes based on idle times and more .
Prerequisites
This guide assumes InspIRCd is installed on a Debian 10 server with a non-root account and SSH access configured correctly.
Getting Started
Update your server
Use the command below to update your server:
sudo apt update && sudo apt upgrade -y
This will do two things: it will check for any outstanding security updates that need to be installed and also load up all of the latest packages. This will take some time depending on your server's speed and internet connection. Take a break while it installs!
Add a new user
We are going to add a new user, you can take whatever name you want. In this example we create a user named newircd:
sudo adduser newircd
You'll need to set a password at the prompt for your new user. You will be able to log in with this account when configuring InspIRCd. It's recommend using something secure that is not your root or default administrator's credentials for any server you use. Once done you can set other options like the shell or home directory if needed. We'll stick with default for now.
Next we add a new user called "newircd" to the group with all of the sudo privileges, which will give them full access to run any command on your system without needing administrator permission.
sudo /sbin/usermod -a -G sudo newircd
/sbin/usermod -a means that we want to add a user (in this case "newircd") to the already existing group named "sudo".
-G means that we only want newircd placed in the sudoers file and not any other files. This is useful because it prevents them from accidentally making changes they shouldn't be able to make, such as changing your shell.
Now go to the home directory then start installing the dependencies:
cd
sudo apt install git perl g++ make -y
We are going to install git, perl and g++ packages on the system .
-y tells apt that you're ok with any confirmation prompts or errors along the way - we want to be able to proceed without interruption!
git is package required by InspIRC, perl is needed for the IRC daemon scripts to run (and we'll need it later on as well), and g++ will be used when compiling InspIRCd.
Sample output
Install Inspircd
This command will 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 (uncompress) the InspIRC package using tar command:
tar xvf ./v3.10.0.tar.gz
Move into inspircd-3.10.0 directory and start the InspIRCd pre-compilation configuration.
cd inspircd-3.10.0
perl ./configure
You will be asked for the installation directory. In this example, we'll use "/home/newirc/inspircd-3.10.0/" as the installation directory. Please type the full path to ensure that it is entered correctly and then you can press enter or y
Now run:
make make install
Type make and wait for the application to be compiled, this may take a few minutes depending on your computer speed. Once it's done you can type 'make install' to install the package.
The example configuration files included in the InspIRCd package are to help you configure your IRC server. It sets up everything from what port to listen on and how many servers you want running at one time (maxclients), down to which IRC commands are enabled or disabled.
Open the file with nano:
sudo nano /home/newircd/inspircd-3.10.0/run/conf/inspircd.conf
Copy and paste the following lines:
<config format="xml">
<define name="bindip" value="1.2.2.3">
<define name="localips" value="&bindip;/24">
####### SERVER CONFIGURATION #######
<server
name="chat.inspircd.co"
description="Welcome to inspird World"
id="97K"
network="chat.inspircd.co">
####### ADMIN INFO #######
<admin
name="jun naruse"
nick="naruse"
email="[email protected]">
####### PORT CONFIGURATION #######
<bind
address=""
port="6697"
type="client">
You can modify any settings that have been stored as variables, such as IRC server's nickname or domain name.
Save and exit with CTRL-X or type 'y'. Then press enter when prompted if you want to save changes before exiting. Press Enter again at another prompt to confirm saving configuration files under different user credentials.
Now start the service using the command below:
./inspircd start
This command starts the InspIRCd service. If you have just installed inspircd, it's necessary to start the service in order for your IRC server to work properly. If you have a firewall enabled on your server, then it may prompt for permission to open ports and allow connections from other clients.
Testing InspIRCd
The first thing we need to do is open your favorite IRC client and click on "add a server" or "add a network:
Then, type your server's IP, 'password' into a chat with substituting 'password' with whatever account name you want it to be associated with, and click on 'connect to network':
Connecting to InspIRCd Server successfully. If there are no error messages pop up during startup then everything is up and running!
Conclusion
Now that you have successfully installed InspIRCd on Debian, your IRC server is up and running. You're now ready to start building channels for discussions with other people who are interested in the topic of your choice!