InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ for Linux, BSD, Windows and Mac OS X systems which was created from scratch to be stable, modern and lightweight.
As InspIRCd is one of the few IRC servers written from scratch, it avoids a number of design flaws and performance issues that plague other more established projects, such as UnrealIRCd, while providing the same level of feature parity.
InspIRCd is one of only a few IRC servers to provide a tunable number of features through the use of an advanced but well documented module system. By keeping core functionality to a minimum we hope to increase the stability, security and speed of InspIRCd while also making it customisable to the needs of many different users.
How to install InspIRCd
You may need to install additional software first to be able to compile InspIRCd. On Debian this is done by:
aptitude install g++ libgnutls-dev pkg-config make
Installing the IRCD:
So let’s add a new user (ircd in this example) and install the IRC server:
useradd -m -s /bin/bash ircd su - ircd wget http://ircd.zemra.org/irc/inspircd/v2.0.20.tar.gz tar xzf v2.0.20.tar.gz cd inspircd-2.0.20 ./configure --enable-extras=m_ssl_gnutls.cpp ./configure --prefix=/home/ircd/inspircd make make install cd ../inspircd
Edit configuration files. See .conf files at the bottom of the article. Those are the default inspircd example files slightly modified by me. I moved all the relevant things to the top to make it easier for you to get your server running.
I also added aliases for the services, so users can use /chanserv or /cs instead of /msg chanserv (same for NickServ, BotServ, HostServ, MemoServ and OperServ). See very bottom of inspircd.conf for the aliases if you wish to change them.
You need to edit inspircd.conf up to “CIDR CONFIGURATION” (about 2 pages).
Use echo -n “yourpassword” | sha256sum to generate a hash of your die/restart password.
Use the same method to create a hash of your NetAdmins password and set it in conf/opers.conf (OPERATOR CONFIGURATION starting at line 80)
You must carefully edit links.conf.
modules.conf can remain unchanged, all modules necessary for services are uncommented in my file.
Create a motd.txt (message of the day) and rule.txt and put them in the /conf folder.
Connect to your server using an IRC client like Xchat or mIRC.
Get an o-line:
/oper Adminname adminpassword (this is case sensitive, the admin name as well)
InspIRCd ships with a tool called
./modulemanager. This tool allows you to easily install modules that are not included with the default distribution, such as third party modules and modules which have been backported from later versions. The module manager tool is located in the root directory of your InspIRCd installation.
Use: ./modulemanager <action> <args> Action is one of the following install install new modules upgrade upgrade installed modules list lists available modules For installing a package, specify its name or name=version to force the installation of a specific version.
Your system is missing the LWP::Simple Perl module!
Your system is missing the libwww-perl package. You should install it from your appropriate package manager.
- CPAN — cpan LWP::Simple
- CentOS, Fedora — yum install perl-libwww-perl
- Debian, Ubuntu — apt-get install libwww-perl
Your system is missing the Crypt::SSLeay or IO::Socket::SSL Perl modules!
Your system is missing SSL support for the libwww-perl package. You should install one from your appropriate package manager.
- CPAN — cpan Crypt::SSLeay
- CentOS, Fedora — yum install perl-crypt-ssleay
- Debian, Ubuntu — apt-get install libcrypt-ssleay-perl
- CPAN — cpan IO::Socket::SSL
- CentOS, Fedora — yum install perl-io-socket-ssl
- Debian, Ubuntu — apt-get install libio-socket-ssl-perl
Could not retrieve https://raw.github.com/inspircd/inspircd-extras/master/modules.lst
Your version of InspIRCd is out of date. Update to the latest version and you will get a more useful error message.
Installing modules without the module manager
If for some reason you are unable to use the module manager you can download and install modules manually using the following steps:
- Download the module you wish to install from the inspircd-extras repository on GitHub – https://github.com/inspircd/inspircd-extras
- Move it to the src/modules directory.
- Run “make install” to build and install the module.