Il server HTTP Apache, precedentemente noto come Apache Web Server è un software gratuito e open source sviluppato e gestito da Apache Software Foundation. È un server Web potente e uno dei più popolari al mondo.
In questo tutorial, ti guideremo nella configurazione di host virtuali Apache su Ubuntu 18.10. In genere, Virtual Host viene utilizzato per ospitare un numero di siti Web sullo stesso server Web. Se sei interessato a configurare il server HTTP Apache, vai alla nostra guida passo passo sulla configurazione del server Web HTTP Apache su Ubuntu.
Configurazione di host virtuali Apache su Ubuntu
Esistono due tipi di host virtuali che possiamo configurare su Apache.
- Singolo server Apache, un IP e più siti web => Host virtuali basati sul nome
- Singolo server Apache e IP univoco per ogni sito web => Hosting virtuale basato su IP
Host virtuale basato su IP possiamo configurare solo un sito Web su un indirizzo IP. Se è necessario ospitare più siti Web, è necessario disporre di più IP per quel server Web. L'host virtuale basato sul nome viene comunemente utilizzato per ospitare più siti Web su un unico server.
In questo tutorial, qui discuteremo come creare host virtuali basati su nomi.
Configurazione di host virtuali Apache basati sul nome
La radice del documento è una directory in cui archiviare i file del sito Web per un nome di dominio da servire in risposta alle richieste.
1. Impostazione della struttura della directory
Nella nostra guida utilizzeremo la seguente struttura di directory, ma puoi scegliere di cambiarla in qualsiasi posizione desideri.
/var/www/
├── fosslinuxexample1.com
│ └── public_html
├── fosslinuxexample2.com
│ └── public_html
Poiché ospiteremo due siti Web, dovremo creare due directory in /var/www directory.
Avvia il Terminale e iniziamo a creare una directory per fosslinuxexample1.com
sudo mkdir -p /var/www/html/fosslinuxexample1.com/public_html
Crea una directory per fosslinuxexample2.com
sudo mkdir -p /var/www/html/fosslinuxexample2.com/public_html
Modifica la proprietà della directory in utente apache (www-data)
sudo chown -R www-data: /var/www/html/fosslinuxexample1.com/public_html sudo chown -R www-data: /var/www/html/fosslinuxexample2.com/public_html
2. Impostazione delle autorizzazioni per le cartelle
sudo chmod -R 755 /var/www/html/fosslinuxexample1.com/public_html sudo chmod -R 755 /var/www/html/fosslinuxexample2.com/public_html
3. Creazione di pagine web
Ora creiamo pagine web per ogni host. Nel mio esempio creerò una pagina web per fosslinuxexample1.com
sudo vim /var/www/html/fosslinuxexample1.com/public_html/index.html
Aggiungi i seguenti contenuti a index.html file. Questo è fondamentalmente un contenuto HTML.
<html> <head> <title>fosslinuxexample1.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample1.com website</h1> </body> </html>
È ora di salvare e chiudere il file.
Allo stesso modo, creeremo una pagina web per fosslinuxexample2.com.
sudo vim /var/www/html/fosslinuxexample2.com/public_html/index.html
Aggiungi i seguenti contenuti al file.
<html> <head> <title>fosslinuxexample2.com Test Page</title> </head> <body> <h1>Hello, This is a test page for fosslinuxexample2.com website</h1> </body> </html>
Salva e chiudi il file.
4. Creazione di host virtuali
In genere, i file di configurazione di Apache Virtual Hosts sono archiviati in /etc/apache2/sites-available directory e /etc/apache2/sites-enabled directory. Inizia con la creazione di un host virtuale per fosslinuxexample1.com.
sudo vim /etc/apache2/sites-available/fosslinuxexample1.com.conf
Aggiungi i contenuti sottostanti al file.
<VirtualHost *:80> ServerName fosslinuxexample1.com ServerAlias www.fosslinuxexample1.com ServerAdmin webmaster@fosslinuxexample1.com DocumentRoot /var/www/html/fosslinuxexample1.com/public_html <Directory /var/www/html/fosslinuxexample1.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample1.com-access.log combined </VirtualHost>
Salva ed esci dal file. Nelle righe simili, crea un host virtuale per fosslinuxexample2.com
sudo vim /etc/apache2/sites-available/fosslinuxexample2.com.conf
Aggiungi i contenuti di seguito al secondo sito Web.
<VirtualHost *:80> ServerName fosslinuxexample2.com ServerAlias www.fosslinuxexample2.com ServerAdmin webmaster@fosslinuxexample2.com DocumentRoot /var/www/html/fosslinuxexample2.com/public_html <Directory /var/www/html/fosslinuxexample2.com/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-error.log CustomLog ${APACHE_LOG_DIR}/fosslinuxexample2.com-access.log combined </VirtualHost>
Salva ed esci dal file.
5. Abilitazione dei file di configurazione dell'host virtuale
Esistono diversi modi per abilitare gli host virtuali. Il modo più semplice è abilitare l'host virtuale utilizzando a2ensite comando. In alternativa, puoi abilitarlo creando collegamenti simbolici alla directory /etc/apache2/sites-enabled.
Ora dovremmo disabilitare 000-default.conf e abilita i file host virtuali appena creati
Usa questa riga di comando per disabilitare l'host virtuale predefinito.
sudo a2dissite 000-default.conf
I seguenti comandi abiliteranno nuovi host virtuali.
sudo a2ensite fosslinuxexample1.com.conf sudo a2ensite fosslinuxexample2.com.conf
Abilita l'host virtuale creando collegamenti simbolici.
Se hai abilitato l'host virtuale utilizzando a2ensite comando non è necessario eseguire i seguenti comandi:
sudo ln -s /etc/apache2/sites-available/fosslinuxexample1.com.conf /etc/apache2/sites-enabled/ sudo ln -s /etc/apache2/sites-available/fosslinuxexample2.com.conf /etc/apache2/sites-enabled/
Controlla la sintassi dei file di configurazione.
sudo apachectl configtest
Riavvia Apache per attivare la nuova configurazione.
sudo systemctl restart apache2
6. Testare gli host virtuali
Prima di testare le pagine web, dobbiamo modificare /etc/hosts per configurare l'IP del server.
sudo vim /etc/hosts
Aggiungi la seguente riga al file hosts. Ricorda di sostituire 10.94.12.217 nelle righe di comando seguenti con l'IP del tuo server. Quando hai finito, salva e chiudi il file.
10.94.12.217 fosslinuxexample1.com 10.94.12.217 fosslinuxexample2.com
Infine, avvia il tuo browser Web preferito e inizia a navigare nei siti Web!
fosslinuxexample1.com
fosslinuxexample2.com
Se riesci a vedere le pagine web che hai creato, congratulazioni per aver creato con successo gli host virtuali. Hai qualche domanda? Come ha funzionato per te?