#language en ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[it/InspIRCd|Italiano]] -~ ---- InspIRCd is a modular IRCd (an IRC daemon) written entirely from scratch in C++. ## If your page gets really long, uncomment this Table of Contents <> = Installation = Install the package DebianPkg:inspircd along with its dependencies {{{ # apt-get install inspircd }}} = Configuration = 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 '''' and '''', maybe '''' 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: {{{ ... ... # you must edit the opers.conf example for security reasons ... ... }}} If you have used '''hash="argon2"''' for storing password you need to load in {{{/etc/inspircd/modules.conf}}} {{{ }}} == GnuTLS == Generate certificate: {{{ # inspircd-genssl gnutls # chown irc:irc *.pem }}} GnuTLS sample configuration for {{{/etc/inspircd/inspircd.conf}}} {{{ }}} If you fail to connect using SSL then try to add priority="SECURE192:-VERS-SSL3.0" in {{{/etc/inspircd/inspircd.conf}}}: {{{ }}} === Creating a certificate === Generate the certificate and '''set ownership to user ''irc'''''. Using inspircd-genssl (v3) {{{ # inspircd-genssl }}} 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}}}: {{{ }}} ''Note: we need to load the ssl_gnutls module before the spanningtree module.'' == Testing == 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: {{{ INSPIRCD_ENABLED=1 }}} 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. = LDAP = Example inspircd.conf for LDAP. {{{ }}} = 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)' }}} ## You can add other _helpful_ links here. = See also = * [[https://www.inspircd.org/|InspIRCd website]] * [[https://docs.inspircd.org/|InspIRCd documentation]] * [[https://docs.inspircd.org/3/modules/ssl_gnutls| InspIRCd ssl_gnutls documentation]] * [[https://github.com/inspircd|InspIRCd GitHub repository]] ---- ## If this page belongs to an existing Category, add it below. ## CategorySomething | CategoryAnother