50% di sconto tutti i piani, offerta a tempo limitato. A partire da $2.48/mo
13 minuti rimasti
App web e business

Ospitare più siti web su un unico server (Apache e IIS) 🌐

Lily Carnell By Lily Carnell lettura di 13 minuti Aggiornato 18 set 2023
Ospitare più siti web su un unico server (Apache e IIS) 🌐

Una volta che accedi all'hosting online, probabilmente vorrai sapere come hostare più siti web su un singolo server. Anche se potrebbe sembrare complicato, man mano che approfondisci l'argomento, capirai che puoi farlo con l'aiuto di guide tecniche.

Diversi web server possono fornirti servizi gratuiti, open-source e ampiamente utilizzati in tutto il mondo. Tuttavia, prima di spiegare come hostare più siti web su un singolo server, dobbiamo capire cos'è un web server e come funziona.

Cos'è un server web?

Un server web archivia e fornisce contenuti come testo, immagini, video e dati di applicazioni 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 di 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 tramite 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 possono essere 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 linguaggi di scripting lato server per codificare la logica di business nella comunicazione e fornire contenuti dinamici. In genere sono supportati linguaggi come Active Server Pages (ASP), JavaScript, PHP, Python e Ruby.

Come Funziona un Web Server?

I server web funzionano secondo un client-server modello. In questa struttura standard, il cliente richiede una risorsa o un servizio al server.

I server web seguono alcuni passaggi per elaborare le richieste dei client web:

  1. Quando un utente vuole caricare contenuto nel sito web, il browser richiede accesso (richiesta HTTP) attraverso internet.
  2. Il browser web cerca l'indirizzo IP del sito richiesto. Traduce il URL delle pagine web utilizzando il Sistema dei nomi di dominio (DNS) oppure cercando nella sua cache. Questo processo ti aiuta a localizzare il server web, cioè dove sono ospitati i file del sito.
  3. A questo punto, il server web riceve la richiesta HTTP e la elabora attraverso il suo server HTTP.
  4. Una volta che il server HTTP accetta la richiesta, cerca nei file del server i dati rilevanti.
  5. Il server web restituisce i file del sito al browser che ha inviato la richiesta. Dopo di che, l'utente vede il contenuto del sito.

Tuttavia, tieni presente che se il server HTTP non riesce a trovare o elaborare i file richiesti, vedrai un messaggio di errore nel browser web. Ora che conosci i concetti principali dei server web, puoi facilmente imparare come ospitare più server web su un unico server. 

Hostare più siti web su un singolo server: Apache

Se vuoi ospitare più di un sito su un server, devi usare i file virtual host di Apache per specificare quale dominio deve essere utilizzato. Uno dei metodi usati per risolvere le richieste di sito è chiamato Virtual host basati sul nome. Quando qualcuno visita il tuo sito, la richiesta va al server, che determina quali file del sito servire in base al nome di dominio. Questa tecnica ti permette di ospitare più siti su un unico server con lo stesso IP. Questo articolo guida spiegherà come configurare il file virtual host per ciascuno dei tuoi domini. Prima di approfondire i dettagli, ricorda che devi accedere come account root.

Leggi anche:Linux vs Windows hosting: Quale è meglio per te?

Passaggio 1: Crea una Cartella per Ogni Sito

Innanzitutto installa apache2 usando questo comando

Per i 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 (nella 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: Impostare i Permessi della Cartella

chmod -R 755 /var/www

Passaggio 3: Configurare una Pagina di Indice

Per visualizzare una home page, devi assicurarti che il index.html file sia creato per ogni dominio. Puoi impostare qualcosa di semplice come test per domain.com in questo file.

vim /var/www/domain.com/public_html/index.html

test per domain.com

Ora devi salvare e uscire usando Fuga pulsante e digitando: wq

Puoi usare il comando qui sotto per ripetere tutti questi passaggi per il tuo secondo dominio.

vim /var/www/domain2.com/public_html/index.html

Passaggio 4: Copiare il File di Configurazione per Ogni Sito

Devi copiare il file di configurazione predefinito per ogni sito, assicurandoti di avere sempre una copia predefinita per la creazione futura di siti.

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: Modificare il File di Configurazione per Ogni Sito

Come minimo dovrai modificare e aggiungere le righe evidenziate all'interno di <VirtualHost *:80> e tag </VirtualHost>.

Nota che ServerAlias è il nome alternativo per il tuo dominio; in questo caso e nella maggior parte dei casi, metti www davanti al nome del dominio in modo che altri possano vedere il sito sia con www che senza www (ServerName).

vim /etc/apache2/sites-available/domain.com.conf

Informazioni del sito
Informazioni del sito

Esci e salva di nuovo utilizzando wq. Devi ripetere questo processo per il tuo domain2.com.conf file; assicurati di aggiornare il ServerName, ServerAlias, e DocumentRoot per il tuo secondo dominio.

Leggi anche:Apache vs NGINX

 Passaggio 6: Abilitare 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 file di configurazione nuovo per ogni dominio. Quindi, dovremo disabilitare il file predefinito e usare uno appropriato per il nuovo file di configurazione.

a2dissite 000-default.conf

Puoi mappare il tuo server ai tuoi domini abilitando ciascuno dei tuoi file .conf appena creati.

a2ensite domain.com.conf
a2ensite domain2.com.conf

Ora riavviamo Apache per registrare le modifiche apportate.

systemctl restart apache2

Passaggio 7: Verificare le Configurazioni di Apache

Dopo l'avvio di Apache, puoi verificare che le configurazioni funzionano modificando il tuo file /etc/host sul tuo computer o DNS del tuo dominio.

Una volta che ogni aspetto è impostato, puoi visitare il tuo sito web in un browser per vedere le pagine index.html create nel Passaggio 3.

Leggi anche: On-Premises vs. Cloud

Ospitare più siti Web su un unico server: IIS

Possiamo usare un server web IIS (Internet Information Services) per ospitare decine o anche centinaia di siti web. Puoi ospitare più siti web su di esso, in ascolto e in risposta sulla stessa Porta TCP. Ma l'interfaccia di IIS Manager mostra che puoi ospitare un altro sito web senza associarlo a un'altra porta come 8080. Questa sezione spiega 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 su un server Windows?

Quando installi IIS su Windows, viene creato un Default Website vuoto che è in ascolto sulla porta TCP standard del web HTTP – TCP 80. In termini tecnici, il nostro sito è associato alla porta TCP/80. Devi inserire il nome del server IIS ("http://web-srv1") o il suo indirizzo IP ("http://192.168.1.100") nel tuo browser per aprire questo sito.

Passaggio 1: Associazione del sito web IIS 

Un server web IIS in esecuzione su Windows Server può aiutarti a ospitare più siti web. Ma IIS distribuisce correttamente le richieste HTTP solo se ogni sito web deve essere identificato con un valore univoco. Il sito web IIS include tre attributi che formano una combinazione univoca per ogni sito web. Questi attributi sono elencati di seguito:

  • un numero di porta TCP
  • un indirizzo IP
  • un host header (hostname)

Le informazioni sui siti web ospitati sono memorizzate in ServerBindings attributo di IIS Metabase, e il suo formato è come questo: IP:Porta:Nome host. Quindi, se vuoi ospitare più siti web su un unico server (stessa porta e indirizzo IP), devi utilizzare un Host header univoco.

Ti chiederai, cos'è un Host header? L'Host header è la parte di una richiesta HTTP al server che specifica a quale sito web è indirizzata. Per questo motivo, dobbiamo indicare questo Host header sul lato del server web. Nota che DNS contiene il record corretto che corrisponde al nome host e all'indirizzo IP del server web IIS.

Ora supponiamo che tu abbia un sito web in esecuzione sul server IIS in ascolto sulla porta 80. Cosa fare quando vogliamo associare il secondo sito web sulla stessa porta?

Passaggio 2: Associazione del secondo sito web IIS

In Internet Information Service (IIS) Manager, devi creare un altro sito web utilizzando la finestra Aggiungi sito web e denominarlo TestSite. Questo sito web si troverà in C:\inetpub\TestSite. Fai attenzione a non specificare ancora il nome host.

Dopo aver copiato il contenuto del sito in C:\inetpub\TestSite apri Internet Information Service (IIS) Manager e nel nome host del server aggiungi il sito per aprire la procedura guidata.

hostwebsites.png

aggiungi-nuovo-sito-iis
Finestra Aggiungi sito web

 

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

aggiungi sito web

l'associazione della porta 80 è assegnata a un altro sito
Verifica Binding

Dopo aver accettato questo avviso, avrai un altro sito associato alla porta 80. Quindi, non puoi avviarlo senza arrestare il primo sito web. Puoi comprendere meglio questo aspetto prestando attenzione all'immagine seguente.

4 Assegnazione di porte di associazione diverse ai siti web
Assegnazione di porte di associazione diverse ai siti web

windows-original-vps Hosting VPS Windows

Scopri i nostri piani Windows VPS convenienti, con hardware potente, latenza minima e un Windows gratuito a tua scelta!

Richiedi il Tuo Windows Gratuito

Hosting di Più Siti Web su Server IIS tramite Host Headers

Devi scegliere un altro nome (Nome host) per il secondo sito web IIS per creare un'associazione univoca. Per farlo, fai clic con il tasto destro TestSite e seleziona Modifica Bindings. Seleziona l'associazione di cui hai bisogno e fai clic Modifica.

Come puoi vedere nell'immagine seguente, dovremmo specificare il nome host univoco a cui l'utente accede. In questo tutorial utilizziamo TestSite; allora inseriamo il nome host nel campo Hostname.

test-iis-site-binding
Finestra Modifica associazione sito

Puoi utilizzare il prompt dei comandi per configurare l'associazione del sito IIS. Se utilizzi IIS 7 o versione successiva, vedrai 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']

Così come per il primo sito web, puoi avviare anche il secondo.

start-iis-site
Gestisci Siti Web

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

creazione di un record CNAME per il nome TestSite nella console DNS
creazione di un record CNAME per il nome TestSite nella console DNS

Puoi anche creare questo record DNS via PowerShell con 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 fatto correttamente, dovrebbe aprirsi senza problemi.

più-siti-iis-sulla-stessa-porta-http-80
Risultato finale di testsite

 

linux-vps Hosting Linux Semplificato

Cerchi un modo migliore per ospitare i tuoi siti e app web? Stai sviluppando qualcosa di nuovo? Semplicemente non ti piace Windows? Per questo abbiamo Linux VPS.

Ottieni il tuo Linux VPS

Esecuzione di Più Siti con Indirizzi IP Diversi su Server IIS

Vediamo ora come eseguire due siti su un server IIS con indirizzi IP diversi. Per prima cosa, devi aggiungere un'interfaccia VLAN separata al server Windows oppure assegnare un indirizzo IP aggiuntivo (alias) alla scheda di rete.

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

Rimane da aprire le impostazioni di Site Binding e associare il sito all'indirizzo IP aggiuntivo del tuo host. Puoi gestire l'associazione dei siti su un server IIS usando PowerShell. Per farlo, si utilizza il modulo WebAdministration:

Import-Module WebAdministration

Puoi visualizzare le informazioni su tutti i siti IIS disponibili e i loro binding:

Get-IISSite

Oppure solo per un singolo sito:

(Get-Website -Name NewSite).bindings.Collection

bindings.Collection

Usa il seguente comando per modificare il binding di questo sito; nota che ti permette di cambiare 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'

Puoi eseguire questo comando per aggiungere un nuovo binding al sito IIS particolare:

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

La rimozione di un binding si effettua con il seguente comando:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

Come hai visto, puoi eseguire più siti web su un server IIS sia con indirizzi IP diversi che sullo stesso indirizzo IP e numero di porta TCP.

Considerazione finale: Ospitare più siti Web su un unico server

 Questo articolo si è concentrato principalmente sui concetti fondamentali dei server, aiutandoti a imparare come ospitare più siti web su un unico server. Offriamo anche molteplici Linux VPS soluzioni di hosting che puoi utilizzare per eseguire diversi siti web su un server. I piani di Cloudzy riducono i costi rispetto all'avere più server, ma ti permettiamo anche di sfruttare al meglio i nostri servizi. Inoltre, puoi facilmente upgrade le risorse del tuo server, inclusi RAM, storage, processore e larghezza di banda.

Domande frequenti

 

Puoi ospitare più siti Web su un singolo server web?

Se hai un server potente con risorse estese come spazio HDD, RAM e potenza CPU sufficienti, puoi ospitare più siti web usando l'hosting virtuale. Puoi ospitare un numero illimitato di siti web sul tuo server web.

Come possiamo eseguire due siti Web su un unico server?

L'hosting di più siti web su un singolo server web è chiamato Virtual Server. Inoltre, devi assicurarti che il server selezionato abbia risorse sufficienti per gestire il traffico e i requisiti di spazio disco.

A cosa serve un server VPS?

VPS è un servizio di hosting che può fornirti risorse dedicate (private) su un server. Presta attenzione al fatto che utilizzare VPS è una soluzione più sicura e stabile rispetto all'hosting condiviso, che non ti fornisce 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, offrendo allo stesso tempo affidabilità, sicurezza e prestazioni migliori rispetto all'hosting condiviso.

Condividi

Altro dal blog

Continua a leggere.

Immagine di anteprima della recensione Odoo con un grande titolo sulla sinistra e il logo Odoo sulla destra, circondati da pannelli di interfaccia dell'app fluttuanti su uno sfondo a tema nuvola viola tenue.
App web e business

Una Revisione Completa di Odoo: Odoo è il Sistema ERP Giusto per la Tua Azienda?

Odoo è una delle piattaforme ERP più considerate per le aziende in crescita, per un motivo semplice: promette tutto in un'unica soluzione. Vendite, contabilità, inventario.

Jim SchwarzJim Schwarz 11 min di lettura
Immagine delle alternative open-source WordPress con sfondo sfumato colorato, monitor desktop, editor di codice, anteprima dashboard sfocata e grande testo del titolo a sinistra.
App web e business

Le Migliori Alternative Open-Source a WordPress Pensate per gli Sviluppatori

WordPress rimane rilevante e continua a funzionare bene per migliaia di siti. La sua directory plugin ospita oltre 62.000 plugin, e la sua directory temi offre oltre 14.000 temi gratuiti.

Jim SchwarzJim Schwarz 14 minuti di lettura
Immagine di confronto Automad vs. WordPress con i loghi di entrambe le piattaforme e un titolo che chiede quale CMS dovrebbero scegliere gli sviluppatori.
App web e business

Automad vs. WordPress: Un Confronto Approfondito tra Due dei Migliori CMS

Automad e WordPress risolvono lo stesso problema in due modi molto diversi. Automad è un CMS basato su file e un motore di template, quindi i contenuti vivono in file invece che in un database, mentre WordPress

Jim SchwarzJim Schwarz 9 min di lettura

Pronto per il deployment? A partire da $2,48/mese.

Cloud indipendente, dal 2008. AMD EPYC, NVMe, 40 Gbps. Rimborso entro 14 giorni.