En Apache-makro har et navn, nogle variabler og linjer med Apache-konfigurationskoder. Når du vil bruge makroen, kalder du den ved makronavnet, sender værdierne for hver variabel, variablerne erstattes med værdien i makroen, og derefter udvides makroen. Det gør konfigurationen super let og modulær.
I denne artikel vil jeg vise dig, hvordan du bruger makro til at styre Apache 2 VirtualHost. Så lad os komme i gang.
VirtualHost-opsætning:
I denne artikel vil jeg implementere VirtualHost-konfigurationen som vist i fig 1 med makro. Jeg vil have 3 brugere bob, Alice og Linda. bob vil være vært for hans hjemmeside www.eksempel1.com på Apache-serveren med IP-adressen 192.168.21.166. Den samme måde Alice og Linda vil være vært for deres websteder www.eksempel2.com og www.eksempel3.com henholdsvis på den samme Apache-server.
Fig 1: Navnebaseret VirtualHost i Apache 2
Denne artikel er en udvidelse af den artikel, jeg har skrevet om konfiguration af Apache VirtualHost på Ubuntu 18.04 LTS, som du kan læse på Sådan konfigureres Apache VirtualHost på Ubuntu 18.04 LTS (link artiklen her).
Krav:
Hvis du er ny med Apache 2-konfiguration, og du vil lære alt trin for trin, så læs venligst min artikel Sådan konfigureres Apache VirtualHost på Ubuntu 18.04 LTS (link artiklen her) først. Fra denne artikel skal du følge afsnittene som angivet nedenfor:
- Installation af Apache 2-webserver
- Konfiguration af DNS
- Katalogstrukturer
- Oprettelse af brugere
Når du følger disse sektioner fra referenceartiklen, kan du fortsætte med de næste sektioner i denne artikel.
Aktivering af Apache 2 mod_macro-modul:
Som standard, mod_macro modul er ikke aktiveret på Apache 2 webserver på Ubuntu 18.04 LTS. Men modulet er der, og du kan nemt aktivere det med a2enmod kommando.
At muliggøre mod_macro modul, kør følgende kommando:
$ sudo a2enmod makromod_macro skal aktiveres.
Oprettelse af en makro til VirtualHost:
Standardmappen, hvor du skal placere dine makrofiler på Ubuntu 18.04 LTS er / etc / apache2 / conf-tilgængelig /
.
Naviger først til biblioteket / etc / apache2 / conf-tilgængelig /
som følger:
Opret nu en ny makrofil vhost-makro.konf
med følgende kommando:
En teksteditor skal åbnes.
Indtast nu følgende linjer:
ServerName $ domæne
ServerAlias www.$ domæne
DocumentRoot "/ www / $ domain / www / public_html"
Indstillinger -FølgSymLinks + MultiViews + Indekser
Tillad Overstyr alt
Kræv alle tildelte
ErrorLog "/ www / $ domain / www / logs / error.log "
CustomLog "/ www / $ domæne / www / logs / adgang.log "kombineret
Endelig ser makroen ud som følger. Gem nu filen ved at trykke på
Brug af makro til hver VirtualHost:
I den tidligere artikel oprettede jeg VirtualHost-konfigurationsfiler til bob (www.eksempel1.com.conf), Alice (www.eksempel2.com.conf) og Linda (www.eksempel3.com.conf).
Nu er det tid til at erstatte det med makro.
Naviger først til standardmappen Apache 2-websteder / etc / apache2 / sites-tilgængelig
som følger:
Så åbn VirtualHost-konfigurationsfilen til bob (www.eksempel1.com.conf) som følger:
$ sudo nano www.eksempel1.com.konf
Det er mange linjer. Slet alle disse linjer. Vi har ikke brug for dem længere.
Bare sæt i den følgende linje, og gem filen ved at trykke på
Gør nu det samme for Alice (www.eksempel2.com.conf).
$ sudo nano www.eksempel2.com.konf
Fjern alle linjerne, skriv følgende linje, og gem filen.
Brug VHost eksempel2.com
Igen skal du gøre det samme for Linda (www.eksempel3.com.conf).
$ sudo nano www.eksempel3.com.konf
Fjern alle linjerne, skriv følgende linje, og gem filen.
Brug VHost eksempel3.comAktivering af makro:
Nu skal du aktivere makroen vhost-makro.konf som du lige har oprettet.
For at gøre det skal du køre følgende kommando:
$ sudo a2enconf vhost-makroMakroen vhost-makro er aktiveret.
Genstart nu Apache 2-tjenesten som følger:
$ sudo systemctl genstart apache2
Test af makrobaserede VirtualHosts:
Prøv nu at få adgang til webstederne www.eksempel1.com, www.eksempel2.com, www.eksempel3.com.
Som du kan se, fungerer alle disse websteder som forventet.
Så du, hvordan makroer gør en forskel? Tidligere måtte vi lægge mange linjer med koder i VirtualHost-konfigurationsfilen. Men nu er kun en linje kode nok til at konfigurere en VirtualHost. Det gør konfigurationen af VirtualHost super let.
Så det er sådan, du bruger Apache 2-makroer til simpelthen VirtualHost-konfiguration på Ubuntu 18.04 LTS. Tak, fordi du læste denne artikel.