Translation(s): none


InspIRCd Modular IRCd written in C++. InspIRCd IRC daemon written entirely from scratch. InspIRCd's website has recently moved to GitHub

Installation

Install inspircd along with its dependencies

# apt-get install inspircd

Configuration

Edit or modify default configuration file in /etc/inspircd/ and this directory and files are owned by user irc. So you may edit file as irc user or change the permission to irc user after working.

For minimum configuration you need <server> and <bind>, may be <oper>.

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

Sample configuration files can be obtained from /usr/share/doc/inspircd/examples/ and available modules location /usr/lib/inspircd/modules/

In your inspircd.conf you need to set full file path to any external file. Example

...
<pid file="/var/run/inspircd.pid">
...
<include file="/etc/inspircd/opers.conf">   // you must edit the opers.conf example 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="m_md5.so">

GnuTLS

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">

creating certificate

generate 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="m_ssl_gnutls.so">
<module name="m_spanningtree.so">

Note: we need to load m_ssl_gnutls.so module before m_spanningtree.so.

Testing

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

# su irc

Run the following command to test

$ 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 is running successfully, copy changes from conf/inspircd.conf to /etc/inspircd.conf and remove conf, logs directory from /etc/inspircd/ after testing.

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

INSPIRCD_ENABLED=1

Start inspircd

# /etc/init.d/inspircd start

check log file in /var/log/inspircd.log

Check wether inspircd is running:

# netstat -nplt | grep inspircd

See also