Una macro Apache ha un nome, alcune variabili e righe di codici di configurazione Apache. Quando vuoi usare la macro, la chiami con il nome della macro, passi i valori per ogni variabile, le variabili vengono sostituite con il valore nella macro e poi la macro si espande. Rende la configurazione super facile e modulare.
In questo articolo, ti mostrerò come utilizzare la macro per gestire Apache 2 VirtualHost. Quindi iniziamo.
Configurazione dell'host virtuale:
In questo articolo, implementerò la configurazione di VirtualHost come mostrato in fig 1 con macro. Avrò 3 utenti bob, alice e linda. bob ospiterà il suo sito web www.Esempio 1.come sul server Apache con l'indirizzo IP 192.168.21.166. Allo stesso modo alice e linda ospiteranno i loro siti web www.esempio2.come e www.esempio3.come rispettivamente sullo stesso server Apache.
Fig 1: VirtualHost basato sul nome in Apache 2
Questo articolo è un'estensione dell'articolo che ho scritto sulla configurazione di Apache VirtualHost su Ubuntu 18.04 LTS che puoi leggere su Come configurare Apache VirtualHost su Ubuntu 18.04 LTS (collega l'articolo qui).
Requisiti:
Se non conosci la configurazione di Apache 2 e vuoi imparare tutto passo dopo passo, leggi il mio articolo Come configurare Apache VirtualHost su Ubuntu 18.04 LTS (collega l'articolo qui) primo. Da questo articolo, è necessario seguire le sezioni come indicato di seguito:
- Installazione del server Web Apache 2
- Configurazione DNS
- Strutture di directory
- Creazione di utenti
Dopo aver seguito queste sezioni dall'articolo di riferimento, puoi continuare con le sezioni successive di questo articolo.
Abilitazione del modulo mod_macro di Apache 2:
Per impostazione predefinita, mod_macro il modulo non è abilitato sul server Web Apache 2 su Ubuntu 18.04 LTS. Ma il modulo è lì e puoi abilitarlo facilmente con il a2enmod comando.
Abilitare mod_macro modulo, eseguire il seguente comando:
$ sudo a2enmod macromod_macro dovrebbe essere abilitato.
Creazione di una macro per VirtualHost:
La directory predefinita in cui inserire i file macro su Ubuntu 18.04 LTS è /etc/apache2/conf-disponibile/
.
Per prima cosa, vai alla directory /etc/apache2/conf-disponibile/
come segue:
Ora crea un nuovo file macro vhost-macro.conf
con il seguente comando:
Dovrebbe essere aperto un editor di testo.
Ora, digita le seguenti righe:
NomeServer $domain
ServerAlias www.$dominio
DocumentRoot "/www/$domain/www/public_html"
Opzioni -SeguiSymLinks +MultiViews +Indici
ConsentiIgnora tutto
Richiedi tutto concesso
ErrorLog "/www/$domain/www/logs/error.registro"
CustomLog "/www/$domain/www/logs/access.log" combinato
Infine, la macro appare come segue. Ora salva il file premendo
Utilizzo della macro per ogni VirtualHost:
Nell'articolo precedente, ho creato i file di configurazione di VirtualHost per bob (www.Esempio 1.come.conf), alice (www.esempio2.come.conf) e linda (www.esempio3.come.conf).
Ora è il momento di sostituirlo con macro.
Per prima cosa, vai alla directory dei siti di Apache 2 predefinita default /etc/apache2/sites-available
come segue:
Quindi, apri il file di configurazione di VirtualHost per bob (www.Esempio 1.come.conf) come segue:
$ sudo nano www.Esempio 1.come.conf
Sono tante righe. Bene, cancella tutte queste righe. Non ne abbiamo più bisogno.
Basta inserire la riga seguente e salvare il file premendo
Ora, fai la stessa cosa per alice (www.esempio2.come.conf).
$ sudo nano www.esempio2.come.conf
Rimuovi tutte le righe, digita la riga seguente e salva il file.
Usa l'esempio VHost2.come
Di nuovo, fai la stessa cosa per linda (www.esempio3.come.conf).
$ sudo nano www.esempio3.come.conf
Rimuovi tutte le righe, digita la riga seguente e salva il file.
Usa l'esempio VHost3.comeAbilitazione macro:
Ora devi abilitare la macro vhost-macro.conf che hai appena creato.
Per farlo, esegui il seguente comando:
$ sudo a2enconf vhost-macroLa macro vhost-macro è abilitato.
Ora riavvia il servizio Apache 2 come segue:
$ sudo systemctl riavvia apache2
Test di host virtuali basati su macro:
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.
Hai visto come le macro fanno la differenza?? In precedenza abbiamo dovuto inserire molte righe di codici nel file di configurazione di VirtualHost. Ma ora basta una sola riga di codice per configurare un VirtualHost. Semplifica la configurazione di VirtualHost.
Quindi, è così che usi le macro di Apache 2 per configurare semplicemente VirtualHost su Ubuntu 18.04 LTS. Grazie per aver letto questo articolo.