hosting
Come ospitare più siti web su un VPS senza fare confusione
Gestisci più siti o app su un solo server dando a ogni progetto il suo dominio, la sua rotta, il suo certificato HTTPS e confini ben ordinati.
Vuoi ospitare più di un sito web, ma non vuoi che il tuo server diventi un cassetto delle cianfrusaglie: cartelle misteriose, domini rotti, un progetto che manda offline un altro e nessuna idea chiara di dove sia finita ogni cosa.
È una paura comprensibile. Un singolo server può gestire benissimo più siti. Il trucco è smettere di pensarlo come “una macchina per un solo sito” e iniziare a vederlo come un piccolo edificio con tante stanze separate.
Un server può avere più di una porta d’ingresso
Un server è semplicemente un computer su internet. Come il tuo portatile, può eseguire più cose contemporaneamente. Un sito potrebbe essere un blog WordPress. Un altro una piccola web app. Un altro ancora uno strumento privato per il tuo team.
Ospitare più siti web su un solo server significa che ogni progetto condivide la stessa casa fisica, ma ha comunque la propria porta d’ingresso.
La porta d’ingresso di solito è un nome di dominio, come example.com, shop.example.com o another-site.com. Ai visitatori non interessa che questi nomi finiscano sullo stesso server. Digitano l’indirizzo e compare il sito giusto.
Il caos inizia quando ogni progetto viene trattato come un unico mucchio indistinto. I file si mescolano. I domini puntano nel posto sbagliato. HTTPS funziona per un sito ma non per un altro. Sistemare un progetto rompe per sbaglio tutti gli altri.
Una configurazione ordinata dà a ogni progetto un’identità chiara: il suo nome, la sua destinazione, la sua connessione sicura e il suo spazio in cui vivere.
I domini sono cartelli stradali, non siti web
Un dominio non contiene il tuo sito web. È più simile a un cartello lungo la strada.
Quando qualcuno visita il tuo dominio, internet controlla dove punta quel nome. Questo sistema di puntamento si chiama DNS, abbreviazione di Domain Name System. Il DNS è la rubrica di internet. Collega un nome leggibile al server che deve rispondere.
Se hai tre domini su un solo server, tutti e tre possono puntare allo stesso indirizzo del server. È normale.
Ma puntare il dominio è solo la prima metà del lavoro. Porta il visitatore fino all’edificio. Non decide in quale stanza debba entrare.
Ecco perché configurare il dominio e gestire l’instradamento sul server sono due compiti diversi. Il DNS dice: “Vai a questo server”. L’instradamento dice: “Per questo dominio, mostra questo progetto”.
Se vuoi una spiegazione sui domini in termini semplici, questa guida è un buon complemento: Come collegare un dominio al tuo server.
L’instradamento è il receptionist all’ingresso
Quando un visitatore raggiunge il tuo server, qualcosa deve leggere il dominio che ha richiesto e mandarlo al progetto giusto.
Quel “qualcosa” viene spesso chiamato web server o reverse proxy. Un reverse proxy è un direttore del traffico. Sta all’ingresso, guarda il dominio richiesto e inoltra il visitatore al sito o all’app corretta dietro le quinte.
Pensalo come il receptionist in un edificio di uffici.
Qualcuno entra e dice: “Sono qui per lo studio di design”. Il receptionist lo manda alla suite 201. Un’altra persona dice: “Sono qui per il commercialista”. Va alla suite 304. Stesso edificio, destinazioni diverse.
Sul tuo server, example.com potrebbe portare a un sito marketing. app.example.com potrebbe portare a una web app. blog.example.com potrebbe portare a WordPress.
Un buon instradamento mantiene semplice l’indirizzo pubblico, lasciando che ogni progetto funzioni a modo suo. Un sito potrebbe essere composto da pagine statiche. Un altro potrebbe usare un database. Un altro ancora potrebbe girare come servizio applicativo. I visitatori non vedono questa complessità. Vedono solo il sito corretto.
Se stai pubblicando un’app invece di un sito web classico, vale la stessa idea. L’app ha bisogno di un posto in cui girare e il dominio deve instradare le visite verso di lei. Trattiamo questo percorso in Come pubblicare una piccola web app senza DevOps.
HTTPS è un lucchetto per ogni indirizzo
HTTPS è la versione sicura della connessione a un sito web. È ciò che mostra ai visitatori l’icona del lucchetto nel browser e protegge il traffico tra loro e il tuo sito.
Quando ospiti più siti web, di solito ti serve HTTPS per ogni dominio o sottodominio. Il lucchetto appartiene all’indirizzo che le persone visitano, non solo al server nel suo insieme.
Questo significa che example.com, shop.example.com e another-site.com devono essere coperti correttamente ciascuno per conto proprio.
Altrimenti, i visitatori potrebbero imbattersi in avvisi di sicurezza allarmanti nel browser. Oppure un dominio potrebbe mostrare, per errore, un certificato destinato a un altro sito. Il risultato è una pessima impressione per gli utenti e, quando si tratta di moduli, aree di login, e-commerce o pannelli di amministrazione, non è un aspetto facoltativo, ma un requisito fondamentale.
La buona notizia è che HTTPS non deve essere costoso né misterioso. I certificati gratuiti sono comuni e possono rinnovarsi automaticamente quando la configurazione è pulita. La parte importante è assicurarti che ogni sito abbia il proprio percorso sicuro dal browser al progetto corretto.
Per una spiegazione semplice, leggi Come ottenere HTTPS gratis sul tuo server.
Tieni i progetti in stanze separate
Condividere un server non dovrebbe significare condividere tutto.
Ogni sito web o app dovrebbe avere il proprio spazio. Come minimo, dovresti sapere quali file, dominio, database e servizi in background appartengono a quale progetto. Se un giorno dovrai rimuovere un sito, non dovresti dover fare archeologia.
La separazione riduce anche gli incidenti. Se aggiorni un progetto, gli altri non dovrebbero risentirne. Se un’app riempie la propria cartella di upload, non dovrebbe divorare in silenzio l’intero server. Se un sito ha un problema, dovresti riuscire a ragionarci sopra senza aprire ogni cassetto della casa.
Ci sono vari modi per creare questa separazione. Alcune persone usano cartelle e utenti separati. Altre usano i container, che sono come schiscette etichettate per le app e i loro ingredienti. Altre ancora usano un mix.
Il metodo esatto conta meno del risultato: ogni progetto ha un confine.
Dovresti anche pensare ai backup. Quando ospiti più progetti su un solo server, un singolo errore grave può colpire più di un sito. Un backup utile non è solo “qualche file da qualche parte”. È qualcosa che puoi davvero ripristinare. Se non l’hai ancora pianificato, leggi Come fare il backup del server — e riuscire davvero a ripristinarlo.
La scorciatoia
Configurare tutto questo a mano richiede tempo e comandi da terminale. Se vuoi saltare la complessità, c'è La scorciatoia. Server Manager dà a ogni sito un posto pulito in cui vivere, collega il dominio giusto al progetto giusto, aggiunge HTTPS e mantiene la struttura comprensibile man mano che ne aggiungi altri. Ottieni il risultato che volevi: più siti web su un solo server, senza dover diventare la persona che si ricorda ogni dettaglio nascosto.
Il tuo vantaggio: un server, tanti siti ordinati
Non ti serve un server separato per ogni piccolo sito web o app. Ti servono etichette chiare, percorsi puliti, indirizzi sicuri e una separazione sensata.
Quando questi elementi sono al loro posto, un solo server può sembrare tranquillo invece che affollato. Ogni progetto ha la sua porta. I visitatori arrivano dove devono. HTTPS funziona dove deve. E quando torni a guardare la configurazione mesi dopo, ha ancora senso.