Inspircd

From Leo's Notes
Last edited on 14 June 2020, at 22:02.

Inspircd is an IRC server. More information at https://github.com/inspircd/inspircd.

Installation

Clone or download the inspircd project at https://github.com/inspircd/inspircd

# git clone https://github.com/inspircd/inspircd.git
# git checkout insp20
# useradd -r -d /usr/local/inspircd -m inspircd
## Being verbose with paths because it gets cached after configuring it once (cleaning doesn't help?)
# ./configure --prefix=/usr/local/inspircd --config-dir=/usr/local/inspircd/conf --log-dir=/usr/local/inspircd/logs --data-dir=/usr/local/inspircd/data --module-dir=/usr/local/inspircd/modules --binary-dir=/usr/local/inspircd/bin  --enable-extras=m_ldapauth.cpp --enable-extras=m_ssl_openssl.cpp --uid `id -u inspircd` 
# make -j 5
# make install

Configuration

Paths:
  Base install: /usr/local/inspircd
  Configuration: /usr/local/inspircd/conf
  Binaries: /usr/local/inspircd/bin
  Modules: /usr/local/inspircd/modules
  Data: /usr/local/inspircd/data
To start the ircd, run: /usr/local/inspircd/inspircd start
Remember to create your config file: /usr/local/inspircd/conf/inspircd.conf
Examples are available at: /usr/local/inspircd/conf/examples/
<module name="m_ldapauth.so">
<ldapauth baserdn="OU=Users,OU=CS,DC=cs,DC=ucalgary,DC=ca"
          attribute="sAMAccountName"
          server="ldap://cs-dc01.cs.ucalgary.ca"
          allowpattern="Guest*"
          killreason="Access denied"
          searchscope="subtree"
          binddn="cn=xxxxxxxxxxxx,OU=Users,OU=CS,DC=cs,DC=ucalgary,DC=ca"
          bindauth="xxxxxxxxxx"
          verbose="yes"
          userfield="no">
<module name="m_ssl_openssl.so">

Troubleshooting

If you get this:

[*] Unable to initialize m_ssl_openssl.so: Couldn't open DH file /usr/local/inspircd/conf/dhparams.pem: No such file or directory

Try doing this:

# openssl dhparam -out dhparams.pem 2048
# /usr/local/inspircd/inspircd restart