Apache è gratuito, open source e il server web più utilizzato in tutto il mondo. Non è solo noto per la sua potenza, ma anche per i suoi molteplici componenti con funzioni specifiche. Apache Virtual Host è uno di questi componenti; ci consente di ospitare più siti Web su un unico server.
Se hai un grande server con risorse estese come molto spazio 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 Apache. Assicurati che il tuo server disponga di risorse sufficienti per gestire i requisiti di traffico e spazio su disco. Uno dei migliori esempi è un provider di web hosting che utilizza l'hosting virtuale per ospitare centinaia e migliaia di siti web su un unico server.
Esistono tre modi per ospitare più siti Web su un unico server:
- Hosting virtuale basato sul nome.
- Hosting virtuale basato su IP.
- Hosting virtuale basato su porta.
In questo tutorial, spiegheremo il processo per ospitare due siti Web su un unico server in tre modi diversi.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
- Due nomi di dominio o nomi di sottodomini validi puntano al tuo indirizzo IP VPS. In questo tutorial utilizzeremo site1.example.com e site2.example.com come sottodomini.
- Due indirizzi IP statici, 192.168.0.101 e 192.168.0.102, configurati sul tuo VPS.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Passaggio 2:installazione del server Web Apache
Innanzitutto, installa il server Web Apache eseguendo il seguente comando:
apt-get install apache2 -y
Una volta completata l'installazione, avvia il servizio Apache con il seguente comando:
systemctl start apache2
Hosting virtuale basato sul nome
L'hosting virtuale basato sul nome è il metodo più comunemente utilizzato per ospitare più siti Web sullo stesso indirizzo IP e porta. Avrai bisogno di nomi di dominio validi per ospitare più siti Web utilizzando l'hosting virtuale basato sul nome.
In questa sezione utilizzeremo site1.example.com e site2.example.com per ospitare due siti Web su un unico server.
Fase 3:crea una struttura di directory
Innanzitutto, crea una directory radice del documento per entrambi i siti Web:
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
Quindi, crea un index.html pagina per entrambi i siti web.
Innanzitutto, crea un index.html pagina per site1.example.com :
nano /var/www/html/site1.example.com/index.html
Aggiungi le seguenti righe:
<html> <title>site1.example.com</title> <h1>Welcome to site1.example.com Website</h1> <p>This is my first website hosted with name-based virtual hosting</p> </html>
Quindi, crea un index.html pagina per site2.example.com :
nano /var/www/html/site2.example.com/index.html
Aggiungi le seguenti righe:
<html> <title>site2.example.com</title> <h1>Welcome to site2.example.com Website</h1> <p>This is my second website hosted with name-based virtual hosting</p> </html>
Quindi, cambia la proprietà di site1.example.com e site2.example.com directory in www-data :
chown -R www-data:www-data /var/www/html/site1.example.com chown -R www-data:www-data /var/www/html/site2.example.com
Fase 4:crea un file di configurazione dell'host virtuale
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per servire entrambi i siti Web.
Innanzitutto, crea un file di configurazione dell'host virtuale Apache per site1.example.com :
nano /etc/apache2/sites-available/site1.example.com.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] ServerName site1.example.com DocumentRoot /var/www/html/site1.example.com DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/site1.example.com_error.log CustomLog ${APACHE_LOG_DIR}/site1.example.com_access.log combined </VirtualHost>
Salva e chiudi il file.
Quindi, crea un file di configurazione dell'host virtuale Apache per site2.example.com :
nano /etc/apache2/sites-available/site2.example.com.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] ServerName site2.example.com DocumentRoot /var/www/html/site2.example.com DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/site2.example.com_error.log CustomLog ${APACHE_LOG_DIR}/site2.example.com_access.log combined </VirtualHost>
Salva e chiudi il file. Quindi, abilita il file di configurazione dell'host virtuale con i seguenti comandi:
a2ensite site1.example.com a2ensite site2.example.com
Quindi, riavvia il server web Apache per applicare le modifiche alla configurazione:
systemctl restart apache2
Fase 5:verifica entrambi i siti Web
A questo punto, hai configurato il server web Apache per servire due siti web.
Ora apri il tuo browser web e digita l'URL http://site1.example.com. Dovresti vedere il tuo primo sito web nella schermata seguente:
Quindi, apri il tuo browser web e digita l'URL http://site2.example.com. Dovresti vedere il tuo secondo sito web nella schermata seguente:
Hosting virtuale basato su IP
L'hosting virtuale basato su IP è un metodo per servire diversi siti Web in base all'indirizzo IP. Puoi assegnare un indirizzo IP separato per ogni sito web su un singolo server.
In questa sezione utilizzeremo gli indirizzi IP 192.168.0.101 e 192.168.0.102 per ospitare due siti Web su un unico server.
Fase 3:crea una struttura di directory
Innanzitutto, crea una directory radice del documento per entrambi i siti Web:
mkdir /var/www/html/192.168.0.101 mkdir /var/www/html/192.168.0.102
Quindi, crea un index.html pagina per entrambi i siti web.
Innanzitutto, crea un index.html pagina per il sito web ospitato su 192.168.0.101 :
nano /var/www/html/192.168.0.101/index.html
Aggiungi le seguenti righe:
<html> <title>192.168.0.101</title> <h1>Welcome to 192.168.0.101 Website</h1> <p>This is my first website hosted with IP-based virtual hosting</p> </html>
Salva e chiudi il file.
Quindi, crea un index.html pagina del sito web ospitato su 192.168.0.102 :
nano /var/www/html/192.168.0.102/index.html
Aggiungi le seguenti righe:
<html> <title>192.168.0.102</title> <h1>Welcome to 192.168.0.102 Website</h1> <p>This is my first website hosted with IP-based virtual hosting</p> </html>
Salva e chiudi il file.
Quindi, cambia la proprietà di entrambi i siti Web in www-data:
chown -R www-data:www-data /var/www/html/192.168.0.101 chown -R www-data:www-data /var/www/html/192.168.0.102
Fase 4:crea un file di configurazione dell'host virtuale
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per servire entrambi i siti Web.
Innanzitutto, crea un file di configurazione dell'host virtuale Apache per il sito Web ospitato su 192.168.0.101:
nano /etc/apache2/sites-available/192.168.0.101.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] ServerName 192.168.0.101 DocumentRoot /var/www/html/192.168.0.101 DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/192.168.0.101_error.log CustomLog ${APACHE_LOG_DIR}/192.168.0.101_access.log combined </VirtualHost>
Salva e chiudi il file.
Quindi, crea un file di configurazione dell'host virtuale Apache per il sito Web ospitato su 192.168.0.102:
nano /etc/apache2/sites-available/192.168.0.102.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] ServerName 192.168.0.102 DocumentRoot /var/www/html/192.168.0.102 DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/192.168.0.102_error.log CustomLog ${APACHE_LOG_DIR}/192.168.0.102_access.log combined </VirtualHost>
Salva e chiudi il file. Quindi abilita l'host virtuale con il seguente comando:
a2ensite 192.168.0.101 a2ensite 192.168.0.102
Infine, riavvia il server web Apache per applicare le modifiche:
systemctl restart apache2
Fase 5:verifica entrambi i siti Web
A questo punto, hai configurato il server web Apache per servire due siti web.
Ora apri il tuo browser web e digita l'URL http://192.168.0.101. Dovresti vedere il tuo primo sito web nella schermata seguente:
Quindi, apri il tuo browser web e digita l'URL http://192.168.0.102. Dovresti vedere il tuo secondo sito web nella schermata seguente:
Hosting virtuale basato su porta
L'hosting virtuale basato su porta è un metodo per servire diversi siti Web in base al numero di porta. Puoi assegnare un numero di porta separato per ciascun sito Web su un singolo server con un unico indirizzo IP.
In questa sezione utilizzeremo le porte numerate 8080 e 8081 per ospitare due siti Web su un unico server con indirizzo IP 192.168.0.101.
Fase 3:configura Apache per l'ascolto sulle porte 8080 e 8081
Innanzitutto, dovrai configurare il server web Apache per l'ascolto sulla porta 8080 e 8081 . Puoi farlo modificando il file /etc/apache2/ports.conf :
nano /etc/apache2/ports.conf
Aggiungi le seguenti righe esattamente sotto la riga Ascolta 80 :
Listen 8080 Listen 8081
Salva e chiudi il file quando hai finito.
Fase 4:crea una struttura di directory
Innanzitutto, crea una directory radice del documento per entrambi i siti Web:
mkdir /var/www/html/8080 mkdir /var/www/html/8081
Quindi, crea un index.html pagina per entrambi i siti web.
Innanzitutto, crea un index.html pagina per il sito web ospitato sulla porta 8080 :
nano /var/www/html/8080/index.html
Aggiungi le seguenti righe:
<html> <title>8080</title> <h1>Welcome to 8080 Website</h1> <p>This is my first website hosted with Port-based virtual hosting</p> </html>
Salva e chiudi il file.
Quindi, crea un index.html pagina del sito web ospitato sulla porta 8081 :
nano /var/www/html/8081/index.html
Aggiungi le seguenti righe:
<html> <title>8081</title> <h1>Welcome to 8081 Website</h1> <p>This is my first website hosted with Port-based virtual hosting</p> </html>
Salva e chiudi il file.
Quindi, cambia la proprietà di entrambi i siti Web in www-data:
chown -R www-data:www-data /var/www/html/8080 chown -R www-data:www-data /var/www/html/8081
Fase 5:crea un file di configurazione dell'host virtuale
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per servire entrambi i siti Web.
Innanzitutto, crea un file di configurazione dell'host virtuale Apache per il sito Web ospitato sulla porta 8080 :
nano /etc/apache2/sites-available/8080.conf
Aggiungi le seguenti righe:
<VirtualHost 192.168.0.101:8080> ServerAdmin [email protected] ServerName 192.168.0.101 DocumentRoot /var/www/html/8080 DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/8080_error.log CustomLog ${APACHE_LOG_DIR}/8080_access.log combined </VirtualHost>
Salva e chiudi il file.
Quindi, crea un file di configurazione dell'host virtuale Apache per il sito Web ospitato sulla porta 8081 :
nano /etc/apache2/sites-available/8081.conf
Aggiungi le seguenti righe:
<VirtualHost 192.168.0.101:8081> ServerAdmin [email protected] ServerName 192.168.0.101 DocumentRoot /var/www/html/8081 DirectoryIndex index.html ErrorLog ${APACHE_LOG_DIR}/8081_error.log CustomLog ${APACHE_LOG_DIR}/8081_access.log combined </VirtualHost>
Salva e chiudi il file. Quindi, abilita l'host virtuale con il seguente comando:
a2ensite 8080 a2ensite 8081
Infine, riavvia il server web Apache per applicare le modifiche:
systemctl restart apache2
Passaggio 6:verifica entrambi i siti Web
A questo punto, hai configurato il server web Apache per servire due siti web.
Ora apri il tuo browser web e digita l'URL http://192.168.0.101:8080. Dovresti vedere il tuo primo sito web nella schermata seguente:
Quindi, apri il tuo browser web e digita l'URL http://192.168.0.101:8081. Dovresti vedere il tuo secondo sito web nella schermata seguente:
Conclusione
Congratulazioni! Hai ospitato con successo due siti Web su un unico server in tre modi diversi. Ora puoi ospitare facilmente più siti Web con il metodo di hosting virtuale Apache. Se sei pronto per iniziare a configurare più siti Web su un VPS Apache, dai un'occhiata alle opzioni di hosting VPS di Atlantic.Net.