Apache HTTP

Come configurare Apache VirtualHost su Ubuntu 18.04 LTS

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

Fig 1: VirtualHost basato su IP Apache.

Host virtuale basato sul nome: In VirtualHost basato sul nome, 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 di Apache. Userò Ubuntu 18.04 LTS per la dimostrazione. Ma dovrebbe funzionare su qualsiasi distribuzione Linux moderna con cambiamenti minimi o nulli. Quindi iniziamo.

Installazione del server Web Apache 2:

Il server web Apache 2 è disponibile nel repository ufficiale dei pacchetti di Ubuntu 18.04 LTS. Quindi, puoi installarlo facilmente con il gestore di pacchetti APT.

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

$ sudo apt update

Ora, esegui il seguente comando per installare il server Web Apache 2:

$ sudo apt install apache2

Ora premi e poi premere continuare.

Il server web Apache 2 dovrebbe essere installato.

Configurazione del DNS:

Ora devi configurare il server DNS per mappare i nomi di dominio che desideri 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 d'ora in poi.

Se vuoi imparare a configurare Apache VirtualHost localmente, puoi usare il /etc/host file per DNS locale/risoluzione dei nomi.

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

$ sudo nano /etc/hosts

Ora aggiungi al file la riga come contrassegnata nello screenshot qui sotto. Quindi premere + X seguito da e per salvare il file.

Ora, la risoluzione dei nomi locali dovrebbe funzionare.

Strutture di directory:

Voglio mantenere 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 suo public_html/ e log/ anche la directory.

Ad esempio, per 3 utenti bob (esempio1.it), alice (esempio2.it), linda (esempio3.it), la struttura della directory è la seguente:

/www
- Esempio 1.com/
- www/
- public_html/
- indice.html
- log/
- esempio2.com/
- www/
- public_html/
- indice.html
- log/
- esempio3.com/
- www/
- public_html/
- indice.html
- log/

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

Per prima cosa, copia il contenuto della directory scheletro predefinita /etc/skel in 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 creare la struttura di directory desiderata all'interno della directory scheletro come segue:

$ sudo mkdir -p www/public_html,logs

Puoi anche creare un'impostazione predefinita indice.html file nel public_html/ directory se vuoi.

$ eco "

Funziona

" | sudo tee www/public_html/index.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/example1.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/example2.com --shell /bin/bash
--gid www-data --skel /etc/skel-www alice

Di nuovo, crea l'utente linda per www.esempio3.com come segue:

$ sudo useradd --create-home --home-dir /www/example3.com --shell /bin/bash
--gid www-data --skel /etc/skel-www linda

Qui, ho assegnato il gruppo principale di ciascun utente a www-dati. Per impostazione predefinita, il server Apache viene eseguito come questo gruppo. Se non l'avessi fatto, il server Apache non sarà in grado di accedere ai file nel public_html/ directory e creare file di registro nel in log/ directory.

Configurazione di Apache VirtualHost:

Ora sei pronto per configurare Apache VirtualHost per 3 utenti bob (www.Esempio 1.it), alice (www.esempio2.com) e linda (www.esempio3.it).

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

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

$ cd /etc/apache2/sites-available/

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

$ sudo nano www.Esempio 1.come.conf

Dovrebbe essere aperto un editor di testo.

Ora, digita le seguenti righe.

ServerName example1.come
ServerAlias ​​www.Esempio 1.come
DocumentRoot "/www/example1.com/www/public_html"

Opzioni -SeguiSymLinks +MultiViews +Indici
ConsentiIgnora tutto
Richiedi tutto concesso
ErrorLog "/www/example1.com/www/logs/error.registro"
CustomLog "/www/example1.com/www/logs/access.log" combinato

NOTA: modificare i testi in grassetto in base alle proprie esigenze.

Infine, il file di configurazione www.esempio.come.conf dovrebbe apparire come segue. stampa + X seguito da y e per salvare il file di configurazione.

per copiare semplicemente il file di configurazione per bob (www.Esempio 1.come.conf) e apportare le piccole modifiche necessarie.

Copia il file di configurazione di bob per alice e linda con i seguenti comandi:

$ sudo cp -v www.Esempio 1.come.conf www.esempio2.come.conf
$ sudo cp -v www.Esempio 1.come.conf www.esempio3.come.conf

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

$ sudo nano www.esempio2.come.conf

Ora cambia tutte le occorrenze di Esempio 1 per esempio2. Quindi salva il file.

Fai la stessa cosa per linda.

$ sudo nano www.esempio3.come.conf

Modifica tutte le occorrenze di Esempio 1 per esempio3 e salva il file.

Abilitazione delle configurazioni VirtualHost:

Ora disabilita la configurazione del sito Web predefinito di Apache come segue:

$ sudo a2dissite 000-default.conf

Ora, abilita le configurazioni di VirtualHost www.Esempio 1.come.conf, www.esempio2.come.conf, www.esempio3.come.conf come segue:

$ sudo a2ensite www.Esempio 1.come.conf www.esempio2.come.conf www.esempio3.come.conf

Infine, riavvia il servizio Apache come segue:

$ sudo systemctl riavvia apache2

Test di host virtuali:

Ora prova ad accedere ai siti www.Esempio 1.com, www.esempio2.com, www.esempio3.come

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

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

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

Trackpad e puntatore del mouse su schermo AppyMouse per tablet Windows
Gli utenti di tablet spesso mancano il puntatore del mouse, soprattutto quando sono abituati a usare i laptop laptop. Gli smartphone e i tablet touchs...
Il pulsante centrale del mouse non funziona in Windows 10
Il tasto centrale del mouse ti aiuta a scorrere lunghe pagine web e schermate con molti dati. Se si ferma, finirai per usare la tastiera per lo scorri...
Come cambiare i pulsanti sinistro e destro del mouse su PC Windows 10
È abbastanza normale che tutti i mouse dei computer siano progettati ergonomicamente per gli utenti destrimani. Ma sono disponibili dispositivi mouse ...