Una volta che accedi all'hosting online, probabilmente vorrai sapere come ospitare più siti Web su un server. Anche se questo può sembrare complicato, man mano che imparerai di più su questo argomento, capirai che puoi farlo con l'aiuto delle guide tecniche.
Diversi server Web possono fornirti servizi gratuiti, open source e ampiamente utilizzati in tutto il mondo. Tuttavia, prima di spiegare come ospitare più siti Web su un server, dovremmo sapere cos'è un server Web e come funziona.
- Cos'è un Web Server?
- Ospita più siti Web su un server: Apache
- Passaggio 1: crea una directory per ciascun sito
- Passaggio 2: imposta le autorizzazioni per la cartella
- Passaggio 3: impostazione di una pagina indice
- Passaggio 4: copia del file di configurazione per ciascun sito
- Passaggio 5: modifica del file di configurazione per ciascun sito
- Passaggio 6: abilita il file di configurazione
- Passaggio 7: verifica delle configurazioni di Apache
- Ospita più siti Web su un server: IIS
- Esecuzione di più siti con indirizzi IP diversi sul server IIS
- Considerazione finale: ospitare più siti Web su un server
- Domande frequenti
Cos'è un Web Server?
Un server Web archivia e fornisce contenuti come testo, immagini, video e dati applicativi per un sito Web. In altre parole, i client che richiedono questi contenuti possono utilizzarli con l'aiuto dei server web. Uno dei client più tipici è un programma browser web che richiede dati dal tuo sito web quando un utente fa clic su un collegamento o scarica un file.
Un server web comunica attraverso il file Protocollo di trasferimento ipertestuale (HTTP) con un browser web. Il contenuto della maggior parte delle pagine Web è codificato in Hypertext Markup Language (HTML). I contenuti sono statici, come testo e immagini, o dinamici, come un elenco di articoli che un cliente ha contrassegnato per l'acquisto. La maggior parte dei server Web supporta scripting lato server linguaggi per codificare la logica aziendale nella comunicazione per fornire contenuti dinamici. In genere sono supportati linguaggi come Active Server Pages (ASP), JavaScript, PHP, Python e Ruby.
Come funziona un server Web?
I server Web funzionano sulla base di a client-server modello. In questa struttura standard, il cliente richiede una risorsa o un servizio da server.
I server Web eseguono alcuni passaggi per elaborare le richieste dei client Web:
- Quando un utente desidera caricare contenuto nel sito Web, il browser Web richiede l'accesso (Richiesta HTTP) attraverso Internet.
- Il browser web cerca l’indirizzo IP del sito web richiesto. Traduce l'URL delle pagine web utilizzando il file Sistema dei nomi di dominio (DNS) o cercando nella sua cache. Questo processo ti aiuterà a individuare il server web; è lì che sono ospitati i file del sito.
- A questo punto il web server riceve la richiesta HTTP e la elabora tramite il suo serverHTTP.
- Una volta che il suo server HTTP accetta la richiesta, cercherà tra i file del server per ottenere i dati rilevanti.
- Il server web restituisce i file del sito al browser che ha inviato la richiesta. Successivamente, l'utente vede il contenuto del sito web.
Tuttavia, tieni presente che se il server HTTP non riesce a trovare o elaborare i file richiesti, verrà visualizzato un messaggio di errore nel browser web. Ora che hai familiarità con i concetti principali dei server Web, puoi facilmente imparare anche come ospitare più server Web su un server.
Ospita più siti Web su un server: Apache
Se desideri ospitare più di un sito su un server, dovresti utilizzare i file host virtuali di Apache per menzionare quale dei domini deve essere utilizzato. Viene chiamato uno dei metodi utilizzati per risolvere le richieste del sito Host virtuali basati sul nome. Quando qualcuno guarda il tuo sito, la richiesta andrà al server, determinando quali file del sito servire in base al nome di dominio. Questa tecnica ti consentirà di ospitare più siti su un server con lo stesso IP. Questo articolo della guida spiegherà come configurare il file host virtuale per ciascuno dei tuoi domini. Prima di approfondire i dettagli, ricorda che devi accedere come account root.
Leggi anche: “Hosting Linux vs Windows: qual è il migliore per te?”
Passaggio 1: crea una directory per ciascun sito
Per prima cosa installa apache2 usando questo comando
Per sistemi basati su Debian
apt install apache2 -y
Per il sistema base CentOS
yum install apache2 -y
Devi creare una directory per ogni sito che ospiterai (all'interno della cartella /var/www). Considera domain.com e domain2.com per i tuoi nomi di dominio.
mkdir -p /var/www/domain.com/public_html
mkdir -p /var/www/domain2.com/public_html
Passaggio 2: imposta le autorizzazioni per la cartella
chmod -R 755 /var/www
Passaggio 3: impostazione di una pagina indice
Per vedere una home page, dovresti assicurarti che index.html il file viene creato per ciascun dominio. Puoi impostare qualcosa di semplice come test per dominio.com in questo file.
vim /var/www/domain.com/public_html/index.html
test per dominio.com
Ora devi salvare e smettere di usare Fuga pulsante e digitazione: wq
Puoi utilizzare il comando seguente per ripetere tutti questi passaggi per il tuo secondo dominio.
vim /var/www/domain2.com/public_html/index.html
Passaggio 4: copia del file di configurazione per ciascun sito
È necessario copiare il file di configurazione predefinito per ogni sito, assicurandosi di avere sempre una copia predefinita per la futura creazione del sito.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Passaggio 5: modifica del file di configurazione per ciascun sito
Almeno cambierai e aggiungerai le linee evidenziate all'interno del file <Host virtuale *:80> E tag </VirtualHost>.
Notare che ServerAlias è il nome alternativo per il tuo dominio; in questo caso e nella maggior parte dei casi, inserisci www davanti al nome di dominio in modo che altri possano vedere il sito tramite www o non www (NomeServer).
vim /etc/apache2/sites-available/domain.com.conf

Ancora una volta Esci e salva utilizzando wq. Devi ripetere questo processo per il tuo domain2.com.conf file; assicurati di aggiornare il file NomeServer, ServerAlias, E DocumentRoot per il tuo secondo dominio.
Leggi anche: “Apache contro NGINX”
Passaggio 6: abilita il file di configurazione
Il tuo server è impostato per leggere il file 000-default.conf per impostazione predefinita. Ma, nel passaggio precedente, abbiamo creato un nuovo file di configurazione per ciascun dominio. Quindi, dovremo disabilitare il file predefinito e utilizzarne uno adatto al nuovo file di configurazione.
a2dissite 000-default.conf
Puoi mappare il tuo server sui tuoi domini abilitando ciascuno dei file .conf appena creati.
a2ensite domain.com.conf
a2ensite domain2.com.conf
Ora riavviamo Apache per registrare le modifiche apportate ad esso.
systemctl restart apache2
Passaggio 7: verifica delle configurazioni di Apache
Dopo aver avviato Apache, puoi vedere che le configurazioni funzionano modificando il tuo file /etc/host sul tuo computer o il DNS del tuo dominio.
Dopo aver impostato ciascun aspetto, puoi visitare il tuo sito web in un browser per vedere le pagine index.html create nel passaggio 3.
Leggi anche: On-premise e cloud
Ospita più siti Web su un server: IIS
Possiamo utilizzare un server Web IIS (Internet Information Services) per dozzine o addirittura centinaia di siti Web. Puoi ospitare più siti Web su di esso, ascoltando e rispondendo sullo stesso porta TCP. Tuttavia, l'interfaccia di Gestione IIS mostra che puoi ospitare un altro sito Web senza associarlo a un'altra porta come 8080. Questa sezione spiegherà come ospitare più siti Web sullo stesso server IIS e associarli alla stessa porta e indirizzo IP o anche a indirizzi IP diversi.
Come installare IIS sul server Windows?
Quando installi IIS su Windows, viene creato un sito Web predefinito vuoto che è in ascolto su porta HTTP web standard – TCP 80. Tecnicamente il nostro sito è vincolato alla porta TCP/80. Dobbiamo inserire il nome del server IIS (“http://web-srv1”) o il suo indirizzo IP (“http://192.168.1.100”) nel tuo browser per poter aprire questo sito.
Passaggio 1: associazione del sito Web IIS
Un server IIS Web in esecuzione su Windows Server può aiutarti a ospitare più siti Web. Tuttavia, IIS distribuisce correttamente le richieste HTTP solo se ciascun sito Web deve essere identificato con un valore univoco. Il sito Web IIS include tre attributi che costituiscono una combinazione univoca per ciascun sito Web. Questi attributi sono elencati qui:
- un numero di porta TCP
- un indirizzo IP
- un'intestazione host (nome host)
Le informazioni sui siti Web ospitati sono archiviate nel file ServerBinding attributo della metabase IIS e il suo formato è simile al seguente: IP:Porta:Nome host. Quindi, se desideri ospitare più siti Web su un server (stessa porta e stesso indirizzo IP), devi utilizzare un file intestazione host univoca.
Potresti chiederti, cos'è un'intestazione host? Un'intestazione host è una parte di una richiesta HTTP al server che specifica a quale sito Web è indirizzata. Pertanto, dobbiamo menzionare questa intestazione host sul lato server web. Tieni presente che il DNS ha il record corretto che corrisponde al nome host e all'indirizzo IP del server Web IIS.
Supponiamo ora di avere un sito Web in esecuzione sul server IIS e in ascolto sulla porta 80. Cosa fare quando vogliamo associare il secondo sito Web alla stessa porta?
Passaggio 2: associazione del secondo sito Web IIS
Nel Gestore Internet Information Service (IIS), devi creare un altro sito web utilizzando la finestra Aggiungi sito web e chiamarlo TestSite; Questo sito Web si troverà in C:\inetpub\TestSite. Fare attenzione a non specificare ancora il nome host.
Dopo aver copiato il contenuto del sito in C:\inetpub\TestSite apre Gestione Internet Information Service (IIS) e nel nome host del server aggiunge il sito per aprire la procedura guidata.


Dopo aver fatto clic su Ok, verrà visualizzato un messaggio di avviso che ti informa che non puoi utilizzare rilegatura *:80 per entrambi questi siti web.


Dopo aver accettato questo avviso, avrai un altro sito collegato alla porta 80. Pertanto, non puoi avviarlo senza arrestare il primo sito web. Puoi capirlo di più prestando attenzione alla seguente immagine.

Hosting VPS Windows
Dai un'occhiata ai nostri convenienti piani VPS Windows, dotati di hardware potente, latenza minima e un Windows gratuito a tua scelta!
Richiedi il tuo Windows gratuitoHosting di più siti Web sul server IIS tramite intestazioni host
È necessario scegliere un altro nome (nome host) per il secondo sito Web IIS per creare un'associazione univoca. Per fare ciò, fare clic con il tasto destro Sito di prova e seleziona Modificare Legami. Seleziona la rilegatura che ti serve e clicca Modificare.
Come puoi vedere nell'immagine seguente, dovremmo specificare il nome host univoco a cui si rivolge l'utente. In questo tutorial utilizziamo TestSite; quindi inseriamolo nel campo Nome host.

È possibile utilizzare il prompt dei comandi per configurare l'associazione del sito IIS. Se utilizzi IIS 7 o versioni successive, vedresti qualcosa di simile dopo aver eseguito il comando per configurare l'associazione del sito IIS:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
Similmente al primo sito web, puoi anche avviare il secondo.

A questo punto, devi aggiungere un alias DNS per il server (A o CNAME), facendo riferimento all'indirizzo IP o al nome host del tuo server web IIS. Se utilizzi un dominio Active Directory, devi creare record DNS sul controller di dominio. IIS consente di creare un file CNAME registrare il nome TestSite nella console DNS (dnsmgmt.msc) e imposta il nome di dominio del tuo server IIS come host di destinazione FQDN.

Puoi anche creare questo record DNS tramite PowerShell e il seguente comando:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
Proviamo ad aprire http://TestSite nel browser. Se tutto è stato eseguito correttamente, dovrebbe aprirsi correttamente.

Hosting Linux semplificato
Desideri un modo migliore per ospitare i tuoi siti Web e le tue app Web? Sviluppare qualcosa di nuovo? Semplicemente non ti piace Windows? Ecco perché abbiamo Linux VPS.
Ottieni il tuo VPS LinuxEsecuzione di più siti con indirizzi IP diversi sul server IIS
Ora parliamo dell'esecuzione di due siti sul server Web IIS con indirizzi IP diversi. Innanzitutto è necessario aggiungere un'interfaccia VLAN separata su Windows Server o assegnare un indirizzo IP aggiuntivo (alias) alla scheda NIC.
In questo tutorial, il server ha l'indirizzo IP primario 192.168.13.100 e aggiungeremo l'alias IP 192.168.13.101 allo stesso adattatore di rete:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias “Ethernet” –SkipAsSource $True
Ora devi creare un record A per il tuo nuovo sito sul server DNS:
Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr
Resta da aprire le impostazioni di Associazione del sito, associando il sito all'indirizzo IP aggiuntivo del tuo host. È possibile gestire l'associazione di siti su un server IIS utilizzando PowerShell. Affinché tutto funzioni, viene utilizzato il modulo WebAdministration:
Import-Module WebAdministration
Puoi visualizzare le informazioni di riproduzione su tutti i siti IIS disponibili e sui relativi collegamenti:
Get-IISSite
O solo su un singolo sito:
(Get-Website -Name NewSite).bindings.Collection

Utilizzare il seguente comando per modificare l'associazione di questo sito; tieni presente che ti consente di modificare gli indirizzi IP, la porta o il nome:
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'
È possibile eseguire questo comando per aggiungere una nuova associazione al particolare sito IIS:
New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http
La rimozione di un'associazione viene eseguita con il seguente comando:
Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"
Quindi, come hai visto qui, puoi eseguire più siti Web sul server Web IIS sia su indirizzi IP diversi che sullo stesso indirizzo IP e numero di porta TCP.
Considerazione finale: ospitare più siti Web su un server
Questo articolo si concentra principalmente sui concetti primari dei server, aiutandoti a imparare come ospitare più siti Web su un singolo server. Consegniamo anche multipli VPS Linux soluzioni di hosting, che puoi utilizzare per eseguire diversi siti Web su un server. I piani di Cloudzy riducono il costo di avere più server, ma ti consentono anche di utilizzare i nostri servizi a tuo vantaggio. Inoltre, puoi facilmente aggiornare le risorse del tuo server, inclusi RAM, spazio di archiviazione, processore e larghezza di banda.
Domande frequenti
È possibile avere più siti Web su un unico hosting di server Web?
Se disponi di un server grande con risorse estese come spazio sufficiente su HDD, RAM e potenza della CPU, puoi ospitare più siti Web utilizzando l'hosting virtuale. Puoi ospitare un numero illimitato di siti web sul tuo server web.
Come possiamo eseguire due siti Web su un server?
L'hosting di più siti Web su un singolo server Web è chiamato server virtuale. Inoltre, dovresti assicurarti che il server selezionato disponga di risorse sufficienti per gestire i requisiti di traffico e spazio su disco.
A cosa serve un server VPS?
VPS è un servizio di hosting che può fornirti risorse dedicate (private) su un server. Fai attenzione al fatto che utilizzare VPS è una soluzione più sicura e stabile rispetto all'hosting condiviso che non ti dà uno spazio server dedicato.
Perché le persone usano VPS?
L'hosting VPS è diventato una scelta diffusa perché generalmente ha un costo inferiore rispetto all'hosting dedicato e fornisce al contempo affidabilità, sicurezza e prestazioni migliori rispetto all'hosting condiviso.