*** PILLOLA: COME APRIRE UN SERVER IN CASA PROPRIA ***

Ho deciso di scrivere questo mini tutorial dopo le numerose domande comparse sul forum "Server".

NB: si dà per scontato che l'utente abbia già configurato una propria macchina con i relativi servizi
quali, ad esempio, ftp, http, pop3, smtp, imap4, ecc... In questo tutorial si discuterà esclusivamente
delle operazioni da compiere per poter rendere usufruibili tali servizi dalla rete Internet.
Allo stesso modo, questo tutorial non fornisce informazioni relative a come rendere sicuri tali servizi,
anche se si tratta di un punto di _FONDAMENTALE_ importanza dal momento che la nostra macchina sarà realmente
"pubblica".

Ci tengo però a precisare una cosa: è importante sottolineare che la soluzione qui presentata
_NON_ garantisce affidabilità al 100% del sistema in quanto le linee ADSL maggiormente diffuse
in Italia per il mercato Consumer non forniscono al Cliente un contratto di SLA, ovvero un documento
nel quale si garantisce, pena il pagamento di una penale, che la linea in questione funzionerà correttamente
365 giorni all'anno, 7 giorni su 7, 24 ore su 24.

La conseguenza logica di questo ragionamento è che il tipico webmaster che gestisce N domini non dovrà
pensare "Ah ok, ho un pc di scarto, lo metto in casa, ci installo un webserver e non pago più l'hoster".
L'affermazione appena scritta è completamente errata. Non conviene utilizzare questo tutorial per scopi
professionali, invece, può essere un buon punto di partenza per sperimentare cosa vuol dire gestire un
server proprio, o per scopi amatoriali, come un dominio di posta elettronica personale.

Tutto ciò premesso, possiamo iniziare.

1) LA CONNETTIVITA'

Innanzitutto è necessario stimare quanti utenti saranno connessi contemporaneamente al nostro server.
Partiamo con un esempio pratico: un sito amatoriale sui giocatori dell'Inter.
Poniamo di avere la certezza che mai più di 4 persone contemporaneamente saranno connesse alle nostre
pagine web. Detto questo, il conteggio è il seguente:

B = banda in upload concessaci dal provider (espressa in kbps = kiloBIT per secondo)
BK = banda in upload trasformata da kilobit a kilobyte
V = visitatori contemporanei
X = banda riservata a ciascun visitatore

BK = B / 8
X = BK / V

Nel nostro caso, ponendo l'esempio di 512 Kbit/s in upload, avremo che a ciascuno dei 4 visitatori saranno
dedicati 16 Kb/s per trasferire dal nostro server al loro pc file, immagini, pagine html, ecc...

Il tutto nell'ipotesi che i 512 Kbit/s siano reali.
Questo primo esempio ci riporta alla necessaria riflessione sull'affidabilità dell'Adsl di cui sopra.

2) GLI IP

Per avere un server aperto al pubblico è necessario un IP statico.
Nella maggior parte dei casi avremo un solo IP destinato al router Adsl, il quale ha una propria interfaccia
di amministrazione via web (porta 80) quindi il nostro sito non sarà mai e poi mai visibile da fuori a meno
che ci accontenteremo di avere un Url simile a: http://server.casamia.it:81/homepage.html
Questo perchè l'http lavora generalmente su porta 80 e, essendo questa impegnata dal router, ci vedremo obbligati
ad utilizzare una porta secondaria.

La cosa migliore in questi casi è chiedere al provider una subnet di 8 indirizzi IP aggiuntivi, di cui 5 saranno
direttamente utilizzabili per motivi che esulano dagli scopi di questo tutorial.

3) IL DOMINIO

È utile che, avendo a disposizione banda e indirizzo IP statico, il nostro sito sia raggiungibile da un indirizzo
facilmente memorizzabile.
Rechiamoci quindi sulla pagina web di un provider autorizzato alla registrazione dei domini internet e verifichiamo
la possibilità di operare sui DNS del nostro dominio una volta registrato.
In caso affermativo possiamo procedere: nel nostro esempio registreremo in maniera fittizia il dominio rossi.it.
Una volta sbrigate le pratiche burocratiche relative alla registrazione del nome a dominio, avremo presumibilmente
a disposizione un pannello di controllo con il quale potremo gestire i DNS di rossi.it.

Per maggiori informazioni sul DNS vi rimando a http://www.google.it/search?hl=it&q=...a=lr%3Dlang_it

Iniziamo quindi aggiungendo un record di tipo A (ovvero il nome fisico di un host associato al suo IP):

server1 A 1.2.3.4

dove 1.2.3.4 è l'IP parte della subnet del provider che abbiamo destinato al nostro server.
Se decidiamo di gestire la posta elettronica relativa a rossi.it sul nostro server è il caso di aggiungere anche i
seguenti record al DNS:

mail CNAME server1.rossi.it.
@ MX 10 mail.rossi.it.

Così facendo, dopo la propagazione dei record DNS, avremo che tutta la posta in arrivo per rossi.it verrà gestita dal
nostro server.
Possiamo poi aggiungere altri record utili quali:

webmail CNAME server1.rossi.it.
www CNAME server1.rossi.it.
testing CNAME server1.rossi.it.

Impostando Apache per riconoscere i Virtual Hosts appena elencati, abbiamo creato la possibilità che dall'esterno siano
disponibili i seguenti "sottodomini":

http://www.rossi.it -> dove metteremo il nostro sito amatoriale
http://webmail.rossi.it -> dove caricare uno script per leggere la posta elettronica da web
http://testing.rossi.it -> dove inserire i nostri script che stiamo sviluppando per farli testare al cliente

5) CONCLUSIONI

Abbiamo ora preparato tutte le cose necessarie per rendere il nostro server agibile dall'esterno.
Non resta che configurare a puntino tutti i servizi che desideriamo pubblicare, attivare un firewall per garantire
sicurezza alla nostra macchina e potremo iniziare a spargere la voce del nostro nuovo server pubblico!