How to install UnrealIRCd from source on Debian / UbuntuA practical step-by-step guide to compile and run
UnrealIRCd on Debian and Ubuntu. Based on the official documentation:
Installing from source (https://www.unrealircd.org/docs/Installing_from_source)
This should take about
20–30 minutes if you follow the steps carefully.
1. Prerequisites (packages)You need a compiler, OpenSSL, and a few optional libraries (recommended).
Ubuntu 20.04 / 22.04 / 24.04:sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Debian 13:sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Debian 11 / 12:sudo apt-get update
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-0-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
Minimum only (any apt-based distro):sudo apt-get install build-essential libssl-dev
2. Do not run as rootBuild and run UnrealIRCd as a
normal user, never as root.
Create a dedicated user:
sudo adduser unrealircd
Switch to that user:
su - unrealircd
All steps below are done as the [tt]unrealircd[/tt] user.
3. Download the sourcewget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
If [tt]wget[/tt] is missing:
sudo apt-get install wget
4. Extract the archivetar xzvf unrealircd-*.tar.gz
cd unrealircd-*
(Replace with the real directory name if needed, e.g. [tt]unrealircd-6.2.0[/tt].)
5. Configure, compile, installRun the interactive config (press
Enter to accept defaults):
./Config
Compile:
make
Install (important — this installs into [tt]~/unrealircd[/tt] by default):
make install
6. Create the configuration fileGo to the install directory:
cd ~/unrealircd
Copy the example config (if it is not already there):
cp conf/examples/example.conf conf/unrealircd.conf
Edit it:
nano conf/unrealircd.conf
Important:- Walk through the file line by line
- Change values marked as required (server name, me {}, etc.)
- If you skip this, the server will refuse to start
Optional: read the syntax guide first:
Configuration file syntax (https://www.unrealircd.org/docs/Configuration_file_syntax)
7. Start UnrealIRCdcd ~/unrealircd
./unrealircd start
Check status:
./unrealircd status
Stop / restart:
./unrealircd stop
./unrealircd restart
After config changes, rehash without full restart:
./unrealircd rehash
8. Next steps (recommended)- Get a real TLS certificate (Let's Encrypt) (https://www.unrealircd.org/docs/Using_Let%27s_Encrypt_with_UnrealIRCd)
- Run UnrealIRCd with systemd (https://www.unrealircd.org/docs/Using_systemd_with_UnrealIRCd) (auto-start on boot)
- Install Services (Anope) (https://www.unrealircd.org/docs/Linking_UnrealIRCd_with_anope)
- IRCOp guide (https://www.unrealircd.org/docs/IRCOp_guide)
- FAQ (https://www.unrealircd.org/docs/FAQ) — common problems and fixes
Quick reference# packages (example: Ubuntu 22.04/24.04)
sudo apt-get install build-essential pkg-config gdb libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev
# as user unrealircd
wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
tar xzvf unrealircd-*.tar.gz
cd unrealircd-*
./Config
make
make install
cd ~/unrealircd
cp conf/examples/example.conf conf/unrealircd.conf # if needed
nano conf/unrealircd.conf
./unrealircd start
Source: unrealircd.org — Installing from source (https://www.unrealircd.org/docs/Installing_from_source)Questions or stuck on a step? Post your distro version and the error output here.