Introduction
In this guide, we’ll set up the Inspircd IRC server, including generating SSL certificates and configuring the server. We’ll reference our previous setup of the LDAP server where necessary for user authentication.
Step 1: Install Inspircd
Begin by installing the Inspircd IRC server:
sudo apt update
sudo apt install inspircd
Step 2: Generate SSL Certificates
Navigate to the Inspircd configuration directory and generate SSL certificates using the inspircd-genssl
command:
cd /etc/inspircd/
sudo inspircd-genssl gnutls
Ensure the correct permissions are set for the certificate files:
sudo chown irc:irc *.pem
Step 3: Configure Inspircd
Edit the inspircd.conf
file to configure the server. We’ll reference LDAP for user authentication:
- Open the configuration file for editing:
sudo nano inspircd.conf
- Remove or comment out the default binding and other specific lines:
<bind address="127.0.0.1" port="6667" type="clients">
<power diepass="3456" restartpass="7890" pause="2">
<connect allow="*"
timeout="60"
flood="20"
threshold="1"
pingfreq="120"
sendq="262144"
recvq="8192"
localmax="3"
globalmax="3">
- Add the following lines to configure SSL and other settings, and reference LDAP for user authentication:
<bind address="0.0.0.0" 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="m_ssl_gnutls.so">
<module name="m_spanningtree.so">
<auth-service name="ldap">
<server>localhost</server>
<port>389</port>
<binddn>cn=admin,dc=domain,dc=com</binddn>
<bindpw>p@$$word</bindpw>
<basedn>dc=domain,dc=com</basedn>
</auth-service>
<power diepass="3456" restartpass="7890" pause="2">
<connect allow="*"
timeout="60"
flood="20"
threshold="1"
pingfreq="120"
sendq="262144"
recvq="8192"
localmax="20"
globalmax="20">
Step 4: Enable and Start Inspircd
Enable the Inspircd service in the default configuration file:
sudo nano /etc/default/inspircd
Add this line:
INSPIRCD_ENABLED=1
Start the Inspircd service:
sudo systemctl start inspircd.service
Step 5: Verify Inspircd is Running
Check the status of the Inspircd service and ensure port 6697 is open:
sudo systemctl status inspircd.service
sudo ss -nplt
Conclusion
You’ve successfully set up the Inspircd IRC server, configured SSL certificates, and referenced LDAP for user authentication. Inspircd provides a robust platform for hosting your IRC channels and communities. In the next guide, we’ll configure the Ejabberd XMPP server.