GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare gli host virtuali Apache su Ubuntu 18.04

Cos'è Apache Virtual Host?

Host virtuale consente di eseguire più siti Web da un unico server fisico o Virtual Private Server. Esistono due tipi di host virtuali su Apache:

  • Hosting virtuale basato su IP – ogni singolo sito Web sul server Apache utilizza un indirizzo IP diverso e univoco.
  • Host virtuali basati sul nome – consente di aggiungere più domini utilizzando un unico indirizzo IP.

Questo tutorial mostra come configurare gli host virtuali Apache su un sistema Ubuntu 18.04.

Prerequisiti

  • Riga di comando/finestra del terminale
  • Utente con root o sudo privilegi
  • Un dominio che punta a un IP di un server pubblico
  • Server Web Apache su Ubuntu installato, configurato e attivo
  • Firewall abilitato

Imposta più domini su un singolo IP

Apache Virtual Host ti consente di massimizzare le tue risorse durante la creazione di un sito web. Con questo potente software, puoi utilizzare un unico server e un unico indirizzo IP per ospitare una serie di domini diversi.

Prima di poter configurare gli host virtuali Apache, è necessario installare il server web Apache. Per farlo, esegui il comando:

sudo apt-get install apache2

In caso di problemi con la configurazione del server web, fare riferimento al nostro tutorial approfondito sull'installazione di Apache su Ubuntu.

Come configurare un host virtuale basato sul nome

Basato sul nome l'hosting virtuale consente al client di segnalare il nome host al server, come elemento dell'intestazione HTTP. Questa funzione significa che una macchina può ospitare più siti Web che condividono lo stesso indirizzo IP.

Fase 1:crea una struttura di directory

Ciascun host virtuale deve disporre di una directory per la memorizzazione dei dati dell'host virtuale. Crea directory e una struttura di directory nella seguente posizione /var/www . Nel nostro esempio abbiamo creato phxnap1.com e phxnap2.com directory, una per ogni nome di dominio.

1. Inserisci il seguente comando e sostituisci il dominio di esempio con i tuoi nomi di dominio:

sudo mkdir -p /var/www/phxnap1.com/public_html
sudo mkdir -p /var/www/phxnap2.com/public_html

All'interno delle directory, abbiamo anche creato public_html . Queste directory memorizzeranno i file del sito Web per i domini.

2. Quindi, crea un esempio index.html pagina per ogni dominio, utilizzando nano o il tuo editor di testo preferito. Inizia con il primo dominio:

nano /var/www/phxnap1.com/public_html/index.html

3. Aggiungi il seguente codice HTML di esempio:

<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>

4. Salva ed esci dal file.

5. Quindi, crea una pagina di esempio per il secondo dominio:

nano /var/www/phxnap2.com/public_html/index.html

6. Aggiungi le seguenti righe al file:

<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>

7. Salva ed esci dal secondo file HTML.

8. Per evitare problemi di autorizzazione, modifica la proprietà della directory principale del tuo documento in www-data . Il comando chown è utile in questo caso:

sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com

Ora hai cambiato con successo la proprietà della directory nell'utente Apache .

Fase 2:crea un file di configurazione dell'host virtuale

I file di configurazione dell'host virtuale Apache sono archiviati in /etc/apache2/sites-available directory.

1. Per creare un file di configurazione di base per il tuo primo dominio, inserisci le informazioni sul dominio nel comando:

sudo nano /etc/apache2/sites-available/phxnap1.com.conf

2. Aggiungere il seguente blocco di configurazione per creare un file di configurazione di base. Questo esempio utilizza il primo dominio di prova, phxnap1.com . Assicurati di inserire il dominio corretto per il tuo sito web:

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap1.com-access.log combined

</VirtualHost>
  • Nomeserver – rappresenta il dominio
  • ServerAlias – rappresenta tutti gli altri domini come i sottodomini
  • DocumentRoot – la directory utilizzata da Apache per servire i file di dominio
  • Registro errori, Registro personalizzato – designa la posizione dei file di registro

Non esiste un formato stabilito. Tuttavia, nominare i file di configurazione in base al nome di dominio è una "best practice".

4. Dopo aver modificato il file di configurazione per il primo dominio, ripetere la procedura per il resto. Nel nostro caso, eseguiremo:

sudo nano /etc/apache2/sites-available/phxnap2.com.conf

5. Quindi, aggiungi il blocco di configurazione come nell'esempio sopra, assicurandoti di modificare i valori per phxnap2.com :

<VirtualHost *:80>

ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html

ErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap2.com-access.log combined

</VirtualHost>

Fase 3:Abilita i file di configurazione dell'host virtuale

Per abilitare il file dell'host virtuale, creare un collegamento simbolico dal file dell'host virtuale alla directory dei siti abilitati. Apache2 legge questo file mentre fissa.

1. Usa l'assistente a2ensite per abilitare il file host virtuale con il comando:

sudo a2ensite phxnap1.com

L'output apparirà come:


2. Ripetere la procedura per il secondo dominio digitando:

sudo a2ensite phxnap2.com

3. Successivamente, verifica che la sintassi del file di configurazione sia corretta utilizzando il comando:

sudo apachectl configtest

Il messaggio nel terminale confermerà che la sintassi è corretta:“Sintassi OK”

4. Riavvia Apache2 per applicare le modifiche:

sudo systemctl restart apache2

5. L'unica cosa che resta da fare è andare su un browser web e accedere ai tuoi siti web. Basato su index.html file che abbiamo creato in precedenza, dovrebbe apparire il messaggio appropriato per ogni dominio.

phxnap1.com
phxnap2.com

Fase 4:Configura Firewall (facoltativo)

Modifica le impostazioni del firewall per migliorare la sicurezza creando una regola per abilitare SSH su Ubuntu:

sudo ufw allow OpenSSH

Aggiungi le regole per consentire l'accesso ad Apache.

sudo ufw allow in “Apache Full”

Quindi, abilita il firewall.

sudo ufw enable

Se viene visualizzato un messaggio che dice "Il comando potrebbe interrompere le connessioni SSH esistenti". Premi y . Se il firewall funziona correttamente, dovresti vedere "Il firewall è attivo e abilitato all'avvio del sistema".


Ubuntu
  1. Come configurare gli host virtuali Apache su CentOS

  2. Configurare gli host virtuali Apache su Ubuntu 18.04 - Processo passo dopo passo?

  3. Ubuntu:come impostare un IP statico in Ubuntu?

  4. Come configurare Apache con HTTP/2 su Ubuntu 16.04

  5. Come impostare l'autenticazione della password Apache su Ubuntu 18.08?

Come configurare gli host virtuali Apache in Ubuntu 18.04 LTS

Come configurare l'host virtuale Apache su Ubuntu 20.04 LTS

Come installare il server Apache e configurare host virtuali su Ubuntu 22.04

Come configurare gli host virtuali Apache su Debian 11

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come configurare gli host virtuali Apache su Ubuntu 20.04