Translation(s): English - Italiano
InspIRCd è un IRCd, un demone IRC, modulare scritto in C++ interamente partendo da zero.
Installazione
Installare inspircd insieme alle sue dipendenze
# apt-get install inspircd
Configurazione
Modificare i file della configurazione predefinita in /etc/inspircd/ Questa directory e i file in essa sono di proprietà dell'utente irc. Perciò li si può modificare come utente irc o passarne la proprietà all'utente irc dopo che si è finito di modificarlo.
Per una configurazione minimale è necessario <server> e <bind>, forse anche <oper>.
Fare il backup dei file della configurazione predefinita e dei file di configurazione d'esempio modificati da usare.
I file di configurazione d'esempio possono essere trovati in /usr/share/doc/inspircd/examples/ e i moduli disponibili sono posizionati in /usr/lib/inspircd/modules/
Nel proprio inspircd.conf è necessario impostare il percorso completo del file per ogni file esterno. Ad esempio:
... <pid file="/var/run/inspircd.pid"> ... <include file="/etc/inspircd/opers.conf"> # è necessario modificare l'esempio opers.conf per ragioni di sicurezza ... <include file="/etc/inspircd/modules.conf"> ... <files motd="/etc/inspircd/inspircd.motd">
Se si è utilizzato hash="argon2" per memorizzare la password, è necessario caricare in /etc/inspircd/modules.conf
<module name="argon2">
GnuTLS
Esempio di configurazione di GnuTLS per /etc/inspircd/inspircd.conf:
<bind address="" port="6697" type="clients" ssl="Clients"> <module name="ssl_gnutls"> <sslprofile name="Clients" provider="gnutls" cafile="" certfile="cert.pem" crlfile="" dhfile="dhparams.pem" hash="sha256" keyfile="key.pem" mindhbits="1024" outrecsize="2048" priority="SECURE192" requestclientcert="yes" strictpriority="no">
Se la connessione usando SSL fallisce, provare ad aggiungere priority="SECURE192:-VERS-SSL3.0" in /etc/inspircd/inspircd.conf:
<bind address="" port="6697" type="clients" ssl="Clients"> <module name="ssl_gnutls"> <sslprofile name="Clients" provider="gnutls" cafile="" certfile="cert.pem" crlfile="" dhfile="dhparams.pem" hash="sha256" keyfile="key.pem" mindhbits="1024" outrecsize="2048" priority="SECURE192:-VERS-SSL3.0" requestclientcert="yes" strictpriority="no">
Creare un certificato
Generare il certificato e impostarne la proprietà all'utente irc.
Usando openssl:
# openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem
o usando certtool:
# certtool --generate-privkey --outfile key.pem # certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem
Caricare moduli
Configurazione per /etc/inspircd/modules.conf:
<module name="ssl_gnutls"> <module name="spanningtree">
Notare: è necessario caricare il modulo ssl_gnutls prima di quello spanningtree.
Testare
Per testare il file di configurazione, passare da root all'utente irc.
# su irc
Eseguire i comandi seguenti per fare il test:
$ bash $ cd /etc/inspircd $ mkdir conf // per testare la ricerca di una directory di configurazione $ mkdir logs $ cp inspircd.conf conf/ $ /usr/sbin/inspircd start //o si avvia o riporta qualsiasi errore eventuale
Se vengono eseguiti con successo, fermare inspircd, copiare le modifiche da conf/inspircd.conf a /etc/inspircd.conf e rimuovere le directory conf e logs da /etc/inspircd/
Dopo aver completato la configurazione modificare /etc/default/inspircd per abilitarlo:
INSPIRCD_ENABLED=1
Avviare inspircd:
# /etc/init.d/inspircd start
Controllare il file di registro in /var/log/inspircd.log.
Controllare se inspircd è in esecuzione:
# netstat -nplt | grep inspircd
Testarlo con un client IRC.
LDAP
Esempio di inspircd.conf per LDAP.
<module name="ldap"> <database module="ldap" id="ldap-users" bindauth="password" binddn="cn=Manager,dc=inspircd,dc=org" searchscope="subtree" server="ldaps://localhost" timeout="5s"> <module name="ldapauth"> <ldapauth allowpattern="Guest*" attribute="uid" baserdn="ou=People,dc=example,dc=com" dbid="ldap-users" host="$cn.example.com" killreason="Access denied" userfield="no" verbose="yes">
Errori comuni
Se si ottiene l'errore seguente, potrebbe essere necessario impostare un'opzione simile a Accetta certificati SSL non validi nel proprio client IRC:
'* Connection failed. Error: self signed certificate.? (18)'
Vedere anche