En Apache -makro har et navn, noen variabler og linjer med Apache -konfigurasjonskoder. Når du vil bruke makroen, kaller du den med makronavnet, passerer verdiene for hver variabel, variablene erstattes med verdien i makroen og deretter utvides makroen. Det gjør konfigurasjonen superenkelt og modulært.
I denne artikkelen skal jeg vise deg hvordan du bruker makro til å administrere Apache 2 VirtualHost. Så la oss komme i gang.
VirtualHost Setup:
I denne artikkelen skal jeg implementere VirtualHost -konfigurasjonen som vist i fig 1 med makro. Jeg vil ha 3 brukere Bob, Alice og Linda. Bob vil være vertskap for nettstedet hans www.Eksempel1.com på Apache -serveren med IP -adressen 192.168.21.166. Den samme veien Alice og Linda vil være vertskap for nettstedene deres www.Eksempel2.com og www.Eksempel3.com henholdsvis på samme Apache -server.
Fig 1: Navnbasert virtualhost i Apache 2
Denne artikkelen er en utvidelse av artikkelen jeg har skrevet om å konfigurere Apache VirtualHost på Ubuntu 18.04 lts som du kan lese på Hvordan konfigurere Apache VirtualHost på Ubuntu 18.04 LTS (Link den artikkelen her).
Krav:
Hvis du er ny på Apache 2 -konfigurasjon og vil lære alt trinn for trinn, kan du lese artikkelen min Hvordan konfigurere Apache VirtualHost på Ubuntu 18.04 LTS (Link den artikkelen her) først. Fra denne artikkelen må du følge seksjonene som gitt nedenfor:
Når du følger disse seksjonene fra referanseartikkelen, kan du fortsette med de neste seksjonene i denne artikkelen.
Aktivering av Apache 2 mod_macro -modul:
Som standard, mod_macro Modulen er ikke aktivert på Apache 2 webserver på Ubuntu 18.04 LTS. Men modulen er der, og du kan enkelt aktivere den med a2enmod kommando.
For å aktivere mod_macro Modul, kjør følgende kommando:
$ sudo a2enmod makro
mod_macro skal være aktivert.
Opprette en makro for VirtualHost:
Standard katalog der du bør legge makrofilene dine på Ubuntu 18.04 LTS er /etc/apache2/conf-tilgjengelig/
.
Først, naviger til katalogen /etc/apache2/conf-tilgjengelig/
følgende:
$ cd/etc/apache2/conf-tilgjengelig/
Lag nå en ny makrofil Vhost-Macro.konf
med følgende kommando:
$ sudo nano vhost-macro.konf
En tekstredigerer bør åpnes.
Nå, skriv inn følgende linjer:
Servernavn $ domene
Serveralias www.$ domene
Documentroot "/www/$ domain/www/public_html"
Alternativer -Følger Symlinks +Multiviews +Indekser
TillatRide alle
Krever alt gitt
Feillog "/www/$ domene/www/logger/feil.Logg"
CustomLog "/www/$ domene/www/logger/tilgang.logg "kombinert
Endelig ser makroen ut som følger. Lagre filen nå ved å trykke på + x etterfulgt av y og .
Bruke makro for hver virtualhost:
I den tidligere artikkelen opprettet jeg VirtualHost -konfigurasjonsfiler for Bob (www.Eksempel1.com.konf), Alice (www.Eksempel2.com.konf) og Linda (www.Eksempel3.com.konf).
Nå er det på tide å erstatte den med makro.
Først, naviger til standard Apache 2 Sites Directory /etc/apache2/nettsteder tilgjengelig
følgende:
$ cd/etc/apache2/nettsteder-tilgjengelig
Så åpne VirtualHost -konfigurasjonsfilen for Bob (www.Eksempel1.com.konf) som følger:
$ sudo nano www.Eksempel1.com.konf
Det er mange linjer. Vel, slett alle disse linjene. Vi trenger ikke de lenger.
Bare legg inn følgende linje og lagre filen ved å trykke på + x etterfulgt av y og .
Bruk VHOST -eksempel1.com
Nå, gjør det samme for Alice (www.Eksempel2.com.konf).
$ sudo nano www.Eksempel2.com.konf
Fjern alle linjene, skriv inn følgende linje og lagre filen.
Bruk VHOST EKSEMPEL2.com
Igjen, gjør det samme for Linda (www.Eksempel3.com.konf).
$ sudo nano www.Eksempel3.com.konf
Fjern alle linjene, skriv inn følgende linje og lagre filen.
Bruk VHOST EKSEMPEL3.com
Aktivering av makro:
Nå må du aktivere makroen Vhost-Macro.konf som du nettopp opprettet.
For å gjøre det, kjør følgende kommando:
$ sudo a2enconf vhost-macro
Makroen Vhost-Macro Er på.
Nå, start Apache 2 -tjenesten på nytt som følger:
$ sudo SystemCTL Restart Apache2
Testing av makrobaserte virtualhosts:
Prøv nå å få tilgang til nettstedene www.Eksempel1.com, www.Eksempel2.com, www.Eksempel3.com.
Som du ser fungerer alle disse nettstedene som forventet.
Så du hvordan makroer gjør en forskjell? Tidligere måtte vi legge mange linjer med koder i VirtualHost -konfigurasjonsfilen. Men nå er bare en kodeinje nok til å konfigurere en virtualhost. Det gjør konfigurering av virtualhost superenkelt.
Så det er slik du bruker Apache 2 -makroer for å ganske enkelt virtualHost -konfigurasjonen på Ubuntu 18.04 LTS. Takk for at du leste denne artikkelen.