GNU/Linux >> Linux Esercitazione >  >> Linux

Ospita più siti Web su un unico server con Apache su Ubuntu 18.04

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:

  1. Hosting virtuale basato sul nome.
  2. Hosting virtuale basato su IP.
  3. 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.


Linux
  1. Come configurare più siti Web con il server Web Apache

  2. Ospita più siti Web su contenitori Docker

  3. Installa phpMyAdmin su Ubuntu 20.04 con Apache

  4. Più librerie glibc su un singolo host

  5. più siti Web su nginx e siti disponibili

Come installare FileRun su Ubuntu 20.04 con Apache/Nginx

Installa Roundcube Webmail su Ubuntu 18.04 con Apache/Nginx

Come installare Drupal su un server Ubuntu 20.04 con Apache

Ospita più siti Web con diverse versioni di PHP su Ubuntu 18.04 VPS

Come installare e configurare ModEvasive con Apache su Ubuntu 18.04

Come impostare l'autenticazione della password con Apache su Ubuntu 18.04