Come configurare Apache VirtualHost su Ubuntu Top 10.Top 10 LTS

Come configurare Apache VirtualHost su Ubuntu Top 10.Top 10 LTS
Apache VirtualHost viene utilizzato per eseguire più sito Web nello stesso server Apache. È una funzionalità fantastica di Apache 2 Web Server per la distribuzione ad alta densità di siti Web in un singolo server. Apache ha due tipi di configurazione VirtualHost, VirtualHost basata su IP e VirtualHost Based Name.VirtualHost basato su IP: In IP basato su VirtualHost, un server Apache ha più indirizzi IP e risponde con siti Web diversi in base all'indirizzo IP.

Fig 1: Virtualhost basato su Apache IP.

Virtualhost basato sul nome: In VirtualHost basato sui nomi, un server Apache ha un singolo indirizzo IP e più nomi di dominio configurati per ciascun sito Web. In un server DNS, a ciascuno di questi nomi di dominio viene assegnato l'indirizzo IP del server Apache. A seconda del nome di dominio utilizzato dal client, il server restituisce diversi siti Web.

Fig 2: Virtualhost basato sul nome Apache.

In questo articolo, ti mostrerò come configurare VirtualHost basato sul nome Apache. Userò Ubuntu 18.04 LTS per la dimostrazione. Ma dovrebbe funzionare su qualsiasi moderna distribuzione Linux con poca o nessun cambiamento. Quindi iniziamo.

Installazione di Apache 2 Web Server:

Apache 2 Web Server è disponibile nel repository di pacchetti ufficiali di Ubuntu 18.04 LTS. Quindi, puoi installarlo facilmente con il gestore dei pacchetti APT.

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update

Ora, eseguire il seguente comando per installare Apache 2 Web Server:

$ sudo apt install apache2

Ora, premere y e poi premere continuare.

Apache 2 Web Server deve essere installato.

Configurazione di DNS:

Ora, devi configurare il server DNS per mappare i nomi di dominio che si desidera utilizzare per VirtualHost all'indirizzo IP del tuo server Apache.

Puoi trovare l'indirizzo IP del tuo server Apache con il seguente comando:

$ ip a | Egrep "Inet"

Come puoi vedere, l'indirizzo IP nel mio caso è 192.168.21.166. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.

Se si desidera imparare a configurare Apache VirtualHost a livello locale, puoi usare il /etc/host File per la risoluzione DNS/nome locale.

Per configurare la risoluzione DNS locale, aprire il /etc/host file con nano come segue:

$ sudo nano /etc /host

Ora, aggiungi la riga contrassegnata nello screenshot di seguito al file. Quindi premere + X seguito da y E Per salvare il file.

Ora, la risoluzione del nome locale dovrebbe funzionare.

Strutture di directory:

Voglio conservare tutti i dati del sito Web del mio Apache VirtualHost in una directory specifica /www. Qui, voglio creare una directory per ogni utente. Ogni utente avrà il proprio public_html/ E registri/ anche directory.

Ad esempio, per 3 utenti Bob (Esempio1.com), Alice (Esempio2.com), Linda (Esempio3.com), La struttura della directory è la seguente:

/www
- Esempio 1.com/
- www/
- public_html/
- indice.html
- registri/
- Esempio2.com/
- www/
- public_html/
- indice.html
- registri/
- Esempio3.com/
- www/
- public_html/
- indice.html
- registri/

Un modo semplice per farlo è creare una directory modello o scheletro e mettere lì la struttura della directory. Quindi crea ogni utenti utilizzando questa directory scheletro.

Innanzitutto, copia il contenuto della directory scheletro predefinita /ecc/skel a un'altra directory /etc/skel-www come segue:

$ sudo cp -rv /etc /skel /etc /skel -www

Ora, vai alla nuova directory scheletro come segue:

$ cd /etc /skel-www

Quindi crea la struttura della directory desiderata all'interno della directory scheletro come segue:

$ sudo mkdir -p www/public_html, logs

Puoi anche creare un valore predefinito indice.html file in public_html/ directory se vuoi.

$ eco "

Funziona

"| sudo tee www/public_html/indice.html

Ora, crea il /www Directory con il seguente comando:

$ sudo mkdir /www

Creazione di utenti:

Ora puoi creare l'utente Bob per www.Esempio 1.com come segue:

$ sudo useradd-Create-home-home-dir /www /esempio1.com -Shell
/bin/bash-gid www-data--skel/etc/skel-www bob

Allo stesso modo, crea l'utente Alice per www.Esempio2.com come segue:

$ sudo useradd-Create-home-home-dir /www /esempio2.com --shell /bin /bash
--GID WWW-DATA--SKEL /ETC /SKEL-WWW Alice

Ancora una volta, crea l'utente Linda per www.Esempio3.com come segue:

$ sudo useradd-Create-home-home-dir /www /esempio3.com --shell /bin /bash
--GID WWW-DATA--SKEL /ETC /SKEL-WWW Linda

Qui, ho assegnato il gruppo primario di ciascun utente a www-data. Per impostazione predefinita, Apache Server esegue come questo gruppo. Se non l'avessi fatto, Apache Server non sarà in grado di accedere ai file in public_html/ directory e creare file di registro in registri/ directory.

Configurazione di Apache VirtualHost:

Ora sei pronto a configurare Apache VirtualHost per 3 utenti Bob (www.Esempio 1.com), Alice (www.Esempio2.com) e Linda (www.Esempio3.com).

La directory di configurazione del sito Apache predefinita su Ubuntu è /etc/apache2/siti-disponibile.

Ora, vai alla directory /etc/apache2/siti-disponibile/ come segue.

$ cd/etc/apache2/siti-disponibile/

Innanzitutto, crea un nuovo file di configurazione per Bob www.Esempio 1.com.conf come segue:

$ sudo nano www.Esempio 1.com.conf

Dovrebbe essere aperto un editor di testo.

Ora, digita le seguenti righe.

ServerName Esempio1.com
Serveralias www.Esempio 1.com
DocumentRoot "/www/esempio1.com/www/public_html "

Opzioni -followsymlinks +multiviews +indici
Consentire tutto
Richiedono tutto concesso
Errorlog "/www/Esempio1.com/www/logs/errore.tronco d'albero"
CustomLog "/www/esempio1.com/www/logs/accesso.registro "combinato

Nota: modifica i testi audaci in base alle tue esigenze.

Infine, il file di configurazione www.esempio.com.conf dovrebbe assomigliare a come segue. Premere + X seguito da y e Per salvare il file di configurazione.

per copiare semplicemente il file di configurazione per Bob (www.Esempio 1.com.conf) e apportare quali piccole modifiche sono richieste.

Copia il file di configurazione di Bob per Alice E Linda Con i seguenti comandi:

$ sudo cp -v www.Esempio 1.com.conf www.Esempio2.com.conf
$ sudo cp -v www.Esempio 1.com.conf www.Esempio3.com.conf

Ora, modifica il file di configurazione di Alice come segue:

$ sudo nano www.Esempio2.com.conf

Ora, cambia tutte le occorrenze di Esempio 1 A Esempio2. Quindi salva il file.

Fare la stessa cosa per Linda.

$ sudo nano www.Esempio3.com.conf

Cambiare tutte le occorrenze di Esempio 1 A Esempio3 e salva il file.

Abilitare le configurazioni VirtualHost:

Ora, disabilita la configurazione del sito Web predefinita Apache come segue:

$ sudo a2dissite 000-default.conf

Ora, abilita le configurazioni VirtualHost www.Esempio 1.com.conf, www.Esempio2.com.conf, www.Esempio3.com.conf come segue:

$ sudo a2ensite www.Esempio 1.com.conf www.Esempio2.com.conf www.Esempio3.com.conf

Infine, riavvia il servizio Apache come segue:

$ sudo systemctl riavvio apache2

Testing Virtualhost:

Ora, prova ad accedere ai siti Web www.Esempio 1.com, www.Esempio2.com, www.Esempio3.com

Come puoi vedere, tutti questi siti Web funzionano come previsto.

NOTA: Ho cambiato la pagina predefinita indice.html Per ogni siti in modo che sia un po 'diverso per ogni sito Web a scopo di test. Altrimenti, non sarai in grado di dire se la configurazione VirtualHost funziona o no.

Quindi, è così che configura Apache VirtualHost basato sul nome su Ubuntu 18.04 LTS. Grazie per aver letto questo articolo.