Navigare tra le complessità dell'hosting web spesso porta a un
utilizzo non ottimale delle risorse del server, soprattutto quando si gestiscono più
siti web. Questo articolo affronta questa sfida mostrando come
ospitare più siti web su un singolo server. Sfruttando le
capacità di Apache su sistemi Linux (Ubuntu e CentOS) e Internet
Information Services (IIS) su Windows, gli utenti possono massimizzare il potenziale del loro server,
razionalizzare la gestione dei siti web e ridurre significativamente i
costi generali. Questa guida fornisce agli amministratori del server
istruzioni passo dopo passo per ottimizzare il loro ambiente di hosting,
assicurando che ogni sito web funzioni in modo fluido all'interno di un server consolidato
setup.
Apache
Configurazione per Ubuntu e CentOS
Questa sezione ti guida attraverso il processo di configurazione di Apache per
ospitare più siti web su un singolo server, specificamente progettato per
sistemi Ubuntu e CentOS.
Prerequisites
Aggiorna il database dei pacchetti del tuo sistema:
Ubuntu/Debian:
sudo apt update
sudo apt upgrade -y
CentOS/RHEL:
sudo yum update -y
Assicurati di avere sudo privileges to perform
administrative tasks.
Step 1: Install
Apache
Ubuntu/Debian:
sudo apt install apache2 -y
CentOS/RHEL (il pacchetto si chiama httpd):
sudo yum install httpd -y
Step 2: Create
Directories
Crea una directory root per ogni sito web:
sudo mkdir -p /var/www/domain.com/public_html
sudo mkdir -p /var/www/domain2.com/public_html
Replace domain.com and domain2.com with
i tuoi nomi di dominio effettivi.

Step 3: Assign
Permissions
Imposta i permessi per consentire al server web di accedere ai
content:
sudo chown -R $USER:$USER /var/www/domain.com/public_html
sudo chown -R $USER:$USER /var/www/domain2.com/public_html
sudo chmod -R 755 /var/www

Passaggio 4: Crea il file indice
Pages
Create a simple index.html per ogni dominio:
echo "Welcome to domain.com" | sudo tee /var/www/domain.com/public_html/index.html
echo "Welcome to domain2.com" | sudo tee /var/www/domain2.com/public_html/index.html
Step 5: Configure
Virtual Hosts
Copia il file di configurazione predefinito e modificalo per ogni dominio:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain.com.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain2.com.conf
Modifica il file host virtuale per domain.com:
sudo nano /etc/apache2/sites-available/domain.com.conf
Nel file, apporta le modifiche necessarie:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Ripeti il processo per domain2.com.
Passaggio 6: Abilita siti
Abilita i nuovi siti e disabilita il sito predefinito:
sudo a2ensite domain.com.conf
sudo a2ensite domain2.com.conf
sudo a2dissite 000-default.conf

Step 7: Restart
Apache
Riavvia Apache per applicare le modifiche:
Ubuntu/Debian:
sudo systemctl restart apache2
CentOS/RHEL:
sudo systemctl restart httpd
Step 8: Edit
File hosts e test dei siti web
Modifica file hosts:
- Apri il file hosts con un editor di testo:
sudo nano /etc/hosts
- Aggiungi voci per i tuoi domini che puntano all'indirizzo IP del server,
for example:
192.168.1.10 domain.com
192.168.1.10 domain2.com

- Salva e chiudi il file.
In alternativa aggiorna i record A di DNS:
Se hai registrato domini, aggiorna i record A in DNS
per fare in modo che puntino all'indirizzo IP del tuo server.
Test dei siti web con Curl:
Verifica che i tuoi siti web siano accessibili:
curl http://domain.com
curl http://domain2.com

IIS Configuration
per server Windows
Questa sezione fornisce una guida completa per la configurazione
di più siti web su un singolo server utilizzando Internet Information Services
(IIS) su server Windows.
Step
1: Installa IIS usando la procedura guidata Aggiungi ruoli e funzionalità
-
Apri Server Manager: Fai clic sull'icona Server Manager
sulla barra delle applicazioni o aprilo dal menu Start. -
Avvia l'Aggiunta guidata di ruoli e funzionalità: In the
Dashboard Server Manager, fai clic su Manage and then
select Aggiungi ruoli e funzionalità. -
Installazione basata su ruoli o funzionalità: Choose
Installazione basata su ruoli o funzionalità and click on
Next.

-
Select Server: Scegli il server su cui desideri
installare IIS e fai clic su Next. -
Add Roles: Nella sezione Ruoli, spunta la casella
forWeb Server (IIS). Quando ti viene chiesto di aggiungere funzionalità necessarie
per il server Web (IIS), fai clic su Add
Features.

- Features: Non sono richieste funzionalità aggiuntive
a meno che tu non abbia esigenze specifiche. Fai clic su Next.

-
Ruolo server Web (IIS): Verifica le informazioni
and click on Next. -
Role Services: Seleziona i servizi del ruolo IIS da
installare. Per un server Web di base, le selezioni predefinite sono in genere
sufficient. Click on Next.

-
Confirmation: Verifica le tue selezioni e fai clic su
on Install. Il processo di installazione
begin. -
Completion: Una volta completata l'installazione,
click on Close.
Passaggio 2: Aggiungi siti Web
- Apri Gestione IIS: Press Windows key +
R, type inetmgr, and press
Enter.

-
Crea un nuovo sito web: Fai clic destro su
Sites cartella in IIS Manager e seleziona Add
Website. -
Website Details:
-
Site name: Inserisci un nome descrittivo.
-
Physical path: Seleziona la cartella che contiene il tuo
website’s files. -
Type: Usually http.
-
IP address: Select an IP or leave as All
Unassigned. -
Port: Typically 80 for
HTTP. -
Host name: Inserisci il nome del dominio.

- Ripeti per siti web aggiuntivi: Segui la stessa
procedura per ogni sito web.
Passaggio 3: Configura host
Headers
-
Select a Website: Fai clic sul sito web in IIS
Manager. -
Open Bindings: In the Actions
panel, click on Bindings.

-
Modifica o aggiungi binding: In Site
Bindings, modifica un binding esistente o fai clic su
Add. -
Specifica nome host: Inserisci il nome host in
Host name field.

- Ripeti per siti web aggiuntivi: Segui la stessa
procedura per ogni sito web.
Step 4: Manage
DNS e modifica il file hosts
-
Aggiorna i record DNS: Affinché i tuoi nomi di dominio vengano
risolti dal tuo server IIS, aggiorna i record A di DNS in modo che puntino all'
indirizzo IP pubblico del server. Questo è necessario se utilizzi
nomi di dominio registrati. -
Modifica il file hosts (facoltativo): If you don’t
hai un dominio e vuoi eseguire test localmente, puoi modificare il file hosts sul
tuo computer locale (non sul server). Questo file si trova generalmente in
**C:**. Aggiungi voci per ogni tuo sito web che puntano all'indirizzo IP
del tuo server IIS. Ad esempio:
192.168.1.10 domain.com
192.168.1.10 domain2.com
Replace 192.168.1.10 con l'indirizzo IP del tuo
server Windows. Ricorda che questa modifica renderà i siti web accessibili
solo sulla macchina in cui modifichi il file hosts.

Step 5: Verify
Websites
Apri un browser web e visita ogni dominio per verificare che i siti web
vengano serviti correttamente. Se hai modificato il file hosts, fallo
sulla macchina dove hai fatto le modifiche. Dovresti vedere il contenuto
del sito web se tutto è configurato correttamente.

Step 6:
Configurazioni aggiuntive (facoltativo)
-
SSL Certificates: Se intendi usare HTTPS,
dovrai installare e configurare certificati SSL per ogni
site. -
Application Pools: Valuta di creare pool di applicazioni separati
per ogni sito web per una gestione migliore e
security. -
Security Settings: Controlla e configura le impostazioni di sicurezza
secondo le tue esigenze.
Ogni sito web sarà accessibile tramite il proprio nome di dominio, condividendo
le stesse risorse del server.
In conclusione, ospitare più siti web su un singolo server usando
Apache o IIS è efficiente e conveniente. Seguendo i passaggi dettagliati
per Ubuntu, CentOS e server Windows, potrai
semplificare la gestione web e ottimizzare le risorse del server, garantendo
una presenza online stabile. Se hai domande, non esitare a contattarci.
us by submitting
a ticket.
Vedi anche Documenti iniziali
Related guides.
Hai bisogno di aiuto su altro?
Tempo di risposta mediano inferiore a 1 ora. Persone vere, non bot.