Quando si cerca una soluzione semplice per la co­mu­ni­ca­zio­ne all’interno dell’or­ga­niz­za­zio­ne o dell’azienda, ci si imbatte nell’ormai col­lau­da­to IRC (Internet Relay Chat), ancora oggi che sono passati più di 30 anni dalla sua in­ven­zio­ne. Un server IRC è con­fi­gu­ra­bi­le ra­pi­da­men­te ed è ac­ces­si­bi­le su tutte le piat­ta­for­me.

Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

Server IRC per chat IRC: tutorial

Ci sono diverse ragioni per cui IRC è ancora richiesta come piat­ta­for­ma di chat in­te­rat­ti­va, no­no­stan­te siano trascorsi più di 30 anni dal suo rilascio: il fatto più im­por­tan­te è che esistono client IRC per quasi tutti i sistemi operativi e i di­spo­si­ti­vi. Inoltre, la tec­no­lo­gia alla base del sistema di chat testuale si con­trad­di­stin­gue per la sua sem­pli­ci­tà. È quasi al­tret­tan­to facile creare un proprio server IRC per la co­mu­ni­ca­zio­ne interna, sia che si tratti di una grande azienda, di una PMI, di un’or­ga­niz­za­zio­ne o di un’as­so­cia­zio­ne.

Nei paragrafi suc­ces­si­vi scoprite quali requisiti deve sod­di­sfa­re un server IRC e come impostare e con­fi­gu­ra­re un server per le chat IRC.

Primo passaggio: trovare la base hardware giusta

Se volete gestire chat IRC pubbliche o private, potete in linea di principio uti­liz­za­re soluzioni esterne come i server online di Libera Chat. Tuttavia, un server IRC personale vi consente di avere il pieno controllo su tutti i dati, i file di log e le im­po­sta­zio­ni. Inoltre, non dovrete af­fron­ta­re i rischi e i problemi quo­ti­dia­ni causati da bot e spammer nelle reti IRC di­spo­ni­bi­li pub­bli­ca­men­te.

Se non de­si­de­ra­te ac­qui­sta­re un computer separato per ospitare l’ap­pli­ca­zio­ne server IRC, è con­si­glia­bi­le no­leg­gia­re l’hardware del server da un fornitore. I requisiti hardware sono così mi­ni­ma­li­sti che di solito già optando per tariffe a basso costo si riescono a con­fi­gu­ra­re tran­quil­la­men­te chat IRC con diverse centinaia di par­te­ci­pan­ti. Se si desidera che più persone possano accedere al server IRC con­tem­po­ra­nea­men­te, la regola da seguire è quella di no­leg­gia­re più RAM e CPU. Nella tabella seguente sono elencati tre scenari ap­pli­ca­ti­vi tipici e le cor­ri­spon­den­ti tariffe server di IONOS.

Uso di esempio di un server IRC Tariffa server IONOS adatta
ONG / As­so­cia­zio­ne (più di 100 persone) VPS M
Azienda con più sedi operante a livello nazionale (più di 1.000 persone) VPS L
Grande gruppo aziendale operante a livello in­ter­na­zio­na­le (più di 10.000 persone) VPS XL
Consiglio

Le tariffe dei server virtuali (VPS) di IONOS con­si­glia­te nella tabella uti­liz­za­no risorse vir­tua­liz­za­te come base per il server IRC. Rispetto ai server dedicati di IONOS, che fun­zio­na­no con un hardware aziendale dedicato, non si rilevano perdite si­gni­fi­ca­ti­ve nelle pre­sta­zio­ni.

Secondo passaggio: se­le­zio­na­re il demone IRC (IRCd)

Il software del server per chat IRC è chiamato demone IRC o IRCd, ab­bre­via­to. Il primo demone, che l’inventore di IRC Jarkko Oikarinen ha pub­bli­ca­to come software libero nel 1988, è servito come modello per molte versioni suc­ces­si­ve. Da qui in poi altri demoni, come quello usato nel tutorial InspIRCd, sono stati svi­lup­pa­ti da zero. Come i client, anche le ap­pli­ca­zio­ni server sono ge­ne­ral­men­te mul­ti­piat­ta­for­ma. Ad esempio, potete eseguire InspIRCd con tutti i comuni sistemi operativi per server di Microsoft, ma anche con le tipiche di­stri­bu­zio­ni Linux come Ubuntu e Debian, nonché con sistemi Mac e BSD.

Terzo passaggio: in­stal­la­re il server IRC e le di­pen­den­ze

Dopo aver scelto l’ap­pli­ca­zio­ne server, avete la pos­si­bi­li­tà di in­stal­lar­la in­clu­den­do tutti i com­po­nen­ti necessari.

N.B.

Se avete affittato risorse server esterne, impostate prima una con­nes­sio­ne remota all’ambiente hardware. I clienti IONOS possono im­po­star­la co­mo­da­men­te dall’area clienti ac­ces­si­bi­le dal browser.

Per questo tutorial, in cui uti­liz­zia­mo un server Linux come esempio, abbiamo scelto il popolare demone IRC InspIRCd, scritto in C++, come men­zio­na­to prima. Prima di poter in­stal­la­re il software, tuttavia, dobbiamo impostare le di­pen­den­ze ne­ces­sa­rie tramite il terminale. In par­ti­co­la­re, si tratta dei seguenti com­po­nen­ti:

Il sistema di gestione delle versioni Git:

sudo apt-get install git
sudo apt-get install perl

Il com­pi­la­to­re C++ G++:

sudo apt-get install g++

Lo strumento di gestione delle build make:

sudo apt-get install make

Dopo aver in­stal­la­to tutte le di­pen­den­ze, potete scaricare la versione corrente del demone IRC. Trovate i dati necessari nella directory ufficiale GitHub di InspIRCd. Con il seguente comando da terminale scaricate i file sorgente dell’ultima edizione (qui: 3.12.0; aprile 2022):

wget https://github.com/inspircd/inspircd/archive/v3.12.0.tar.gz

Quindi de­com­pri­me­te i file sorgente compressi con tar:

tar xvf ./v3.12.0.tar.gz

Quarto passaggio: creare un server IRC (processo “build”)

Nel passaggio suc­ces­si­vo, è arrivato il momento del processo “build”, ovvero della creazione della propria in­stal­la­zio­ne di IRC. A tale scopo, spo­sta­te­vi in­nan­zi­tut­to nella directory di in­stal­la­zio­ne di InspIRCd:

cd inspircd-3.12.0
N.B.

Il numero di versione deve essere mo­di­fi­ca­to di con­se­guen­za, se in pre­ce­den­za avete scaricato un’altra versione di InspIRCd.

Per preparare il processo, eseguite il comando seguente:

perl ./configure

A questo punto dovete ri­spon­de­re a una serie di domande, tra cui quella se de­si­de­ra­te mo­di­fi­ca­re i percorsi pre­de­fi­ni­ti dei dati del programma o se preferite attivare i moduli ma­nual­men­te. Dopo aver impostato la con­fi­gu­ra­zio­ne di base, avviate il processo di creazione:

make -j5 install

Se il processo è andato a buon fine, vi verrà mostrato sul terminale il messaggio “INSTALL COMPLETE!” (“In­stal­la­zio­ne com­ple­ta­ta”).

Quinto passaggio: con­fi­gu­ra­re il server

Ora create un nuovo file di testo nella seguente directory per le im­po­sta­zio­ni di con­fi­gu­ra­zio­ne del server IRC:

~/run/conf/inspircd.conf

Inserite il file nella seguente con­fi­gu­ra­zio­ne di esempio:

<config format="xml">
<define name="bindip" value="1.2.2.3">
<define name="localips" value="&bindip;/24">
####### SERVER CONFIGURATION #######
<server
name="SERVER_HOSTNAME/FQDN"
description="SERVER_DESCRIPTION"
id="SERVER_SID"
network="NETWORK_NAME">
####### ADMIN INFO #######
<admin
name="ADMIN_NAME"
nick="ADMIN_NICK"
email="ADMIN_EMAIL">
####### PORT CONFIGURATION #######
<bind
address="SERVER_IP"
port="SERVER_PORT"
type="SERVER_TYPE">

Tuttavia, non potete sem­pli­ce­men­te riportare queste im­po­sta­zio­ni senza le opportune modifiche. Per la con­fi­gu­ra­zio­ne di un server IRC, dovete so­sti­tui­re i se­gna­po­sto in lettere maiuscole con le ri­spet­ti­ve in­for­ma­zio­ni per­so­na­liz­za­te:

  • SERVER_HOSTNAME/FQDN: nome host o FQDN del server
  • SERVER_DE­SCRIP­TION: breve de­scri­zio­ne del server IRC
  • SERVER_SID: sequenza unica di tre caratteri; il primo carattere deve essere un numero, le lettere devono essere maiuscole
  • NETWORK_NAME: nome della rete IRC
  • ADMIN_NAME: nome dell’am­mi­ni­stra­to­re del server IRC
  • ADMIN_NICK: nickname dell’am­mi­ni­stra­to­re del server IRC
  • ADMIN_EMAIL: indirizzo di posta elet­tro­ni­ca dell’am­mi­ni­stra­to­re del server IRC
  • SERVER_IP: indirizzo IP at­tra­ver­so il quale è possibile accedere al server IRC
  • SERVER_PORT: porta del server (ti­pi­ca­men­te: 6697)
  • SERVER_TYPE: tipo di con­nes­sio­ne con­sen­ti­ta per questo endpoint (valore pre­de­fi­ni­to: clients)
Consiglio

Trovate un elenco det­ta­glia­to delle possibili im­po­sta­zio­ni di inspircd.conf sulla do­cu­men­ta­zio­ne ufficiale di InspIRCd.

Sesto passaggio: avviare il demone InspIRCd

Salvate la con­fi­gu­ra­zio­ne in­di­vi­dua­le e avviate l’ap­pli­ca­zio­ne del server IRC eseguendo il seguente comando da terminale nella directory InspIRCd:

run/inspircd start

Se l’ap­pli­ca­zio­ne server IRC viene avviata con successo, il terminale vi avvisa con un messaggio che include l’ID del processo del demone (in questo caso: 10865). Ora potete con­net­ter­vi al server con qualsiasi client IRC com­pa­ti­bi­le, come HexChat o Pidgin, e creare e am­mi­ni­stra­re qualsiasi chat IRC con l’account am­mi­ni­stra­to­re impostato.

Consiglio

Per arrestare il server IRC, eseguite il comando “run/inspircd stop” nella directory di in­stal­la­zio­ne di InspIRCd.

Vai al menu prin­ci­pa­le