[LINUX] - #72 Usare i VirtualHost di Apache per servire molti siti web
Sommario:
Apache Virtual Hosts consente l'esecuzione di più siti Web su un server Web. Con gli host virtuali, è possibile specificare la radice del documento del sito (la directory che contiene i file del sito Web), creare una politica di sicurezza separata per ciascun sito, utilizzare certificati SSL diversi per ciascun sito e molto altro.
In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su un server CentOS 7.
Prerequisiti
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Hai un nome di dominio che punta all'IP del tuo server pubblico. Useremo
example.com
.example.com
Apache installato seguendo Come installare Apache su CentOS 7. Sei loggato come utente con privilegi sudo.
Creazione della struttura delle directory
DocumentRoot è la directory in cui i file del sito Web per un nome di dominio vengono archiviati e offerti in risposta alle richieste. È possibile impostare la radice del documento in qualsiasi posizione desiderata, in questo esempio utilizzeremo la seguente struttura di directory:
/var/www/ ├── example.com │ └── public_html ├── example-1.com │ └── public_html ├── example-2.com │ └── public_html
Stiamo creando una directory separata per ogni dominio che vogliamo ospitare sul nostro server all'interno della directory
/var/www
. All'interno di ciascuna di queste directory, creeremo una directory
public_html
che memorizzerà i file del sito Web del dominio.
Creare la directory principale per il dominio
example.com
usando il comando mkdir:
sudo mkdir -p /var/www/example.com/public_html
A scopo di test creeremo un file
index.html
all'interno della directory principale del documento di dominio. Apri il tuo editor e crea un file HTML con i seguenti contenuti:
Welcome to example.com Success! example.com home page!
Welcome to example.com Success! example.com home page!
Tutti i comandi vengono eseguiti come utente sudo, quindi i file e le directory appena creati sono di proprietà dell'utente root. Per accertarti che non ci siano problemi di autorizzazione, modifica la proprietà della directory radice del documento di dominio per l'utente
apache
:
sudo chown -R apache: /var/www/example.com
Creazione del file host virtuale
Esistono alcuni modi per configurare un host virtuale. È possibile aggiungere tutte le direttive dell'host virtuale in un singolo file o creare un nuovo file di configurazione per ciascuna direttiva dell'host virtuale. Personalmente, preferisco il secondo approccio perché è più mantenibile.
Per impostazione predefinita, Apache è configurato per caricare tutti i file di configurazione che terminano con
.conf
dalla directory
/etc/httpd/conf.d/
.
Per creare un host virtuale per un sito Web specifico, aprire l'editor preferito e creare il seguente file di configurazione di base dell'host virtuale:
/etc/httpd/conf.d/example.com.conf
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined
-
ServerName
: il dominio che deve corrispondere per questa configurazione dell'host virtuale. Questo dovrebbe essere il tuo nome di dominio.ServerAlias
: tutti gli altri domini che devono corrispondere anche per questo host virtuale, come il sottodominiowww
.DocumentRoot
: la directory da cui Apache servirà i file di dominio.Options
: questa direttiva controlla quali funzionalità del server sono disponibili in una directory specifica.-
-Indexes
: impedisce gli elenchi di directory.FollowSymLinks
: questa opzione indica al server Web di seguire i collegamenti simbolici.
AllowOverride
: specifica quali direttive dichiarate nel file.htaccess
possono sovrascrivere le direttive di configurazione.ErrorLog
,CustomLog
: specifica il percorso per i file di registro. -
Modifica il file in base alle tue esigenze e salvalo.
È importante che il nome del file di configurazione termini con
.conf
. È possibile assegnare un nome al file di configurazione come desiderato, ma è consigliabile utilizzare il nome di dominio come nome del file di configurazione dell'host virtuale.
Testare la sintassi del file di configurazione con:
sudo apachectl configtest
Se non ci sono errori vedrai il seguente output:
Syntax OK
Per attivare un host virtuale appena creato, riavvia il servizio Apache con:
sudo systemctl restart
Verifica che tutto funzioni come previsto, aprendo
http://example.com
:
Conclusione
In questo tutorial, ti abbiamo mostrato come creare una configurazione host virtuale Apache. Puoi ripetere i passaggi sopra descritti e creare host virtuali aggiuntivi per tutti i tuoi domini.
apache centosQuesto post fa parte dello Stack LAMP di installazione sulla serie CentOS 7.
Altri post di questa serie:
• Come installare Apache su CentOS 7 • Installare MySQL su CentOS 7 • Come configurare host virtuali Apache su CentOS 7 • Apache sicuro con Let's Encrypt su CentOS 7Le carte virtuali virtuali di Steam premiano per il tuo tempo ben sprecato
Steam ha annunciato un nuovo programma di carte virtuali che trasforma i momenti di gioco in premi.
Come configurare host virtuali apache su debian 9
Apache Virtual Hosts ti consente di ospitare più di un dominio su un singolo computer. In questo tutorial, ti spiegheremo come impostare gli host virtuali Apache su Debian 9.
Come configurare gli host virtuali di Apache su Ubuntu 18.04
In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su Ubuntu 18.04. Apache Virtual Hosts ti consente di eseguire più di un sito Web su un singolo computer.