Il server Web HTTP Apache è un server Web potente, gratuito e open source che è stato e rimane la piattaforma di server Web leader davanti ad altre come Nginx e Microsoft IIS.
Secondo Opensource.com Apache gode di una quota di mercato del 45,9% e alimenta siti famosi come PayPal, Apple, Craigslist, Adobe e BBC per citarne solo alcuni.
Cos'è l'host virtuale?
Il web server Apache ci consente di creare singole unità che possono essere configurate e personalizzate in modo indipendente per servire più siti sullo stesso server. Questo è noto come hosting virtuale.
Ciò accade quando più nomi di dominio, ciascuno gestito separatamente, sono ospitati su un unico server. Il server è quindi in grado di condividere le sue risorse come lo spazio su disco e l'utilizzo della memoria.
Ogni dominio è configurato per indirizzare il traffico a una directory univoca contenente informazioni specifiche per quel nome di dominio.
Un'applicazione ampiamente utilizzata di hosting virtuale è nell'hosting web condiviso in cui più clienti sono ospitati su un unico server. Questa è un'alternativa più economica rispetto all'hosting dedicato che è molto più costoso.
In questa guida, analizzeremo l'impostazione e la configurazione degli host virtuali Apache su Ubuntu 18.04 LTS.
Installazione del server Web Apache
Prima di installare Apache, è una buona idea aggiornare il repository dei pacchetti. Puoi farlo eseguendo i seguenti comandi:
# sudo apt update
Successivamente, installa il server web Apache.
# sudo apt install apache2
I due comandi segnano il primo di un processo molto importante. A scopo illustrativo, utilizzeremo ubuntu.biz
e debian.edu
come nostri host virtuali.
Seguire questa guida ti guiderà anche attraverso il test di entrambi i domini e vedrai se le configurazioni funzionano.
Creazione di strutture di directory per host virtuali
Abbiamo bisogno di una directory che conterrà i dati a cui possono accedere gli utenti. Apache di solito ha una directory di documenti radice che serve agli utenti che cercano informazioni da essa. Il contenuto all'interno della directory principale viene assegnato a singoli utenti sotto il /var/www
directory.
All'interno di ciascuna di queste directory, abbiamo bisogno di una cartella pubblica (public_html) per contenere tutti i file caricati.
Esegui i seguenti comandi per creare le due directory:
# sudo mkdir -p /var/www/ubuntu.biz/public_html
# sudo mkdir -p /var/www/debian.edu/public_html
Concessione delle autorizzazioni
Ora che abbiamo le strutture delle directory in atto, dobbiamo assegnare la proprietà agli utenti regolari in modo che possano modificare i file contenuti nelle directory. Per fare ciò, dobbiamo eseguire i comandi come mostrato.
# sudo chown -R $USER:$USER /var/www/ubuntu.biz/public_html
# sudo chown -R $USER:$USER /var/www/debian.edu/public_html
Il $USER
La variabile prende il valore dell'utente attualmente connesso premendo "Invio". Ciò consente all'utente normale di possedere le sottodirectory contenute in public_html
che ospiterà i nostri contenuti.
Per servire correttamente le pagine Web degli host virtuali, è necessario assegnare i permessi di lettura alla directory www generale che assegnerà ricorsivamente i permessi di lettura ai file e alle cartelle ivi contenuti. Per raggiungere questo obiettivo, corri
# sudo chmod -R 755 /var/www
A questo punto, il nostro server web dovrebbe avere le autorizzazioni necessarie per servire il contenuto e gli utenti dovrebbero anche essere in grado di creare il proprio contenuto all'interno delle rispettive directory.
Crea nuovi file host virtuali
Dobbiamo copiare il file nel primo dominio:
# sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ubuntu.biz.conf
Apriamo il nuovo file usando nano come mostrato:
# sudo nano /etc/apache2/sites-available/ubuntu.biz.conf
Puoi scegliere di lasciarlo così com'è o renderlo più presentabile per il primo timer nell'installazione di VPS (nota che il file originale ha # che denota commenti che spiegano cosa rappresenta ogni riga).
Dal file sopra l'host virtuale elaborerà qualsiasi richiesta effettuata sulla porta 80 con il protocollo predefinito utilizzato qui è HTTP.
Dobbiamo assegnare un'e-mail funzionante all'attributo ServerAdmin. In questo caso, utilizzeremo [email protected]
Aggiungeremo quindi due righe:
- Nomeserver , che corrisponde al dominio di base per il particolare host virtuale.
- ServerAlias che definisce qualsiasi altro nome che dovrebbe corrispondere strettamente al nome di dominio di base. In questo caso, utilizzeremo www.
Per la DocumentRoot
attributo, cambia il percorso per riflettere il percorso del file dell'host virtuale.
Tutte e tre le modifiche possono essere riassunte modificando il file dell'host virtuale in modo che assomigli a questo:
Salva le modifiche ed esci.
Copiamo il primo host virtuale e personalizziamo per debian.edu
(l'altro dominio)
Lo copiamo da:
# sudo cp /etc/apache2/sites-available/ubuntu.biz.conf /etc/apache2/sites-available/debian.edu.conf
Apri e modifica il file come mostrato:
# sudo nano /etc/apache2/sites-available/debian.edu.conf
Apri il file di configurazione e apporta le modifiche corrispondenti dove necessario
Salva ed esci dal file di configurazione.
Abilitazione dei file host appena creati
Apache ha alcuni strumenti integrati che ci consentono di "attivare" i file. Puoi usare a2ensite
strumento per ottenere ciò come mostrato:
# sudo a2ensite ubuntu.biz.conf
# sudo a2ensite debian.edu.conf
Quindi, riavvia il server Web Apache per rendere effettive le modifiche.
# sudo systemctl restart apache2
Per testare la funzionalità del tuo VPS, devi modificare il file hosts sul computer locale. Questo aiuta a reindirizzare le richieste di dominio ai tuoi server VPS. Funziona allo stesso modo in cui funzionano i sistemi DNS durante la registrazione di nuovi domini.
I seguenti passaggi devono essere eseguiti sulla workstation locale e non sul server VPS. È necessario accedere come root affinché funzioni. Modifica il /etc/hosts
file come mostrato.
# sudo vim /etc/hosts
In questo file, devi aggiungere l'indirizzo pubblico (IP) del tuo server VPS, quindi il nome di dominio utilizzato per accedere al VPS. Nel mio caso, il mio indirizzo VPS è 192.168.43.195; di conseguenza, modificherò il file dei miei host come mostrato:
Salva ed esci dall'editor di testo.
Le modifiche di cui sopra indicano che la richiesta di qualsiasi visitatore a ubuntu.biz
e debian.edu
sarà indirizzato attraverso 192.168.43.195. Ecco come vengono reindirizzati i domini sugli host virtuali.
Test dei server virtuali
Ora che abbiamo finito con la configurazione dei nostri host virtuali, è tempo di verificare se tutto è andato tutto bene. Per cominciare, puoi controllare l'accessibilità dei due host virtuali sul terminale usando il comando ping
Meraviglioso! Possiamo raggiungere l'host virtuale. Ora puoi procedere, aprire il browser e visitare l'URL.
https://ubuntu.biz
Grande! Il nostro primo host virtuale sta funzionando. Proviamo a eseguire il ping del nostro secondo host virtuale
Allo stesso modo, apri il browser e visita l'URL dell'host virtuale
https://debian.edu
Conclusione
Il server Web Apache HTTP può essere facilmente configurato per servire più siti Web da un unico server. In questo tutorial, abbiamo appreso come impostare più file di configurazione di host virtuali nel server Web Apache.