Translation(s): English - Italiano

InspIRCd is a modular IRCd (an IRC daemon) written entirely from scratch in C++. InspIRCd's website has recently moved to GitHub


Install the package inspircd along with its dependencies

# apt-get install inspircd


Edit the default configuration files in /etc/inspircd/ This directory and the files in it are owned by the user irc. So you may edit them as the irc user or you can change the ownership to the irc user after you are done editing.

For a minimal configuration you need <server> and <bind>, maybe <oper> too.

Backup the default configuration files and modify example configuration to use.

Sample configuration files can be obtained from /usr/share/doc/inspircd/examples/ and the available modules are located in /usr/lib/inspircd/modules/

In your inspircd.conf you need to set the full path of the file for any external file. Example:

<pid file="/var/run/">
<include file="/etc/inspircd/opers.conf">   // you must edit the opers.conf example due to some duplicate error reported while testing, around line 130
<include file="/etc/inspircd/modules.conf">
<files motd="/etc/inspircd/inspircd.motd" rules="/etc/inspircd/inspircd.rules">

If you have used hash="md5" for storing password you need to load in /etc/inspircd/modules.conf

<module name="">


GnuTLS sample configuration for /etc/inspircd/inspircd.conf

<bind address="" port="6697" type="clients" ssl="gnutls">
<gnutls cafile="" crlfile="" certfile="/etc/inspircd/cert.pem" keyfile="/etc/inspircd/key.pem" dh_bits="1024">

If you fail to connect using SSL then try to add priority="SECURE192:-VERS-SSL3.0" in /etc/inspircd/inspircd.conf:

<bind address="" port="6697" type="clients" ssl="gnutls">
<gnutls cafile="" crlfile="" certfile="/etc/inspircd/cert.pem" keyfile="/etc/inspircd/key.pem" dh_bits="1024" priority="SECURE192:-VERS-SSL3.0">

<module name="">
<module name="">

Creating a certificate

Generate the certificate and set ownership to user irc.

Using openssl

# openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem

or using certtool

# certtool --generate-privkey --outfile key.pem
# certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem

Loading modules

Configuration for /etc/inspircd/modules.conf:

<module name="">
<module name="">

Note: we need to load module before


To test the configuration file, switch to user irc from root.

# su irc

Run the following commands to test it:

$ bash
$ cd /etc/inspircd
$ mkdir conf   // testing search for a conf directory
$ mkdir logs
$ cp inspircd.conf conf/
$ /usr/sbin/inspircd start  //it will start or report any error

If it runs successfully, stop inspircd, copy changes from conf/inspircd.conf to /etc/inspircd.conf and remove conf, logs directories from /etc/inspircd/

After finishing configuration edit /etc/default/inspircd to enable it:


Start inspircd:

# /etc/init.d/inspircd start

Check the log file in /var/log/inspircd.log.

Check whether inspircd is running:

# netstat -nplt | grep inspircd

Test it with an IRC client.


Example inspircd.conf for LDAP.

<module name="">
<ldapauth baserdn="dc=domain,dc=com"
          killreason="Access denied"
          userfield="yes" >

Common Errors

You may need to set an option similar to Accept invalid SSL certificate in your IRC client, if you get the following error:

'* Connection failed. Error: self signed certificate.? (18)'

See also