En Apache-makro har et navn, noen variabler og linjer med Apache-konfigurasjonskoder. Når du vil bruke makroen, kaller du den med makronavnet, sender verdiene for hver variabel, variablene erstattes med verdien i makroen, og deretter utvides makroen. Det gjør konfigurasjonen superenkel og modulær.
I denne artikkelen skal jeg vise deg hvordan du bruker makro til å administrere Apache 2 VirtualHost. Så la oss komme i gang.
VirtualHost-oppsett:
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 vert for nettsiden hans www.eksempel1.com på Apache-serveren med IP-adressen 192.168.21.166. Den samme veien alice og Linda vil være vert 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 konfigurering av Apache VirtualHost på Ubuntu 18.04 LTS som du kan lese på Slik konfigurerer du Apache VirtualHost på Ubuntu 18.04 LTS (lenke artikkelen her).
Krav:
Hvis du er ny i Apache 2-konfigurasjonen, og du vil lære alt trinn for trinn, kan du lese artikkelen min Slik konfigurerer du Apache VirtualHost på Ubuntu 18.04 LTS (lenke artikkelen her) først. Fra denne artikkelen må du følge avsnittene som gitt nedenfor:
- Installere Apache 2 Web Server
- Konfigurere DNS
- Katalogstrukturer
- Opprette brukere
Når du har fulgt disse delene fra referanseartikkelen, kan du fortsette med de neste avsnittene i denne artikkelen.
Aktivering av Apache 2 mod_macro Module:
Som standard, mod_macro modulen er ikke aktivert på Apache 2-webserveren 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 makromod_macro skal være aktivert.
Opprette en makro for VirtualHost:
Standardkatalogen der du skal legge makrofilene dine på Ubuntu 18.04 LTS er / etc / apache2 / conf-tilgjengelig /
.
Naviger først til katalogen / etc / apache2 / conf-tilgjengelig /
som følger:
Lag nå en ny makrofil vhost-makro.konf
med følgende kommando:
En tekstredigerer bør åpnes.
Skriv inn følgende linjer:
ServerName $ domene
ServerAlias www.$ domene
DocumentRoot "/ www / $ domain / www / public_html"
Alternativer -FølgSymLinks + MultiViews + Indekser
Tillat Overstyr alt
Krever alt gitt
ErrorLog "/ www / $ domain / www / logs / error.Logg"
CustomLog "/ www / $ domain / www / logs / access.logg "kombinert
Til slutt ser makroen ut som følger. Lagre filen nå ved å trykke på
Bruke makro for hvert VirtualHost:
I den tidligere artikkelen opprettet jeg VirtualHost-konfigurasjonsfiler for bob (www.eksempel1.com.conf), alice (www.eksempel2.com.conf) og Linda (www.eksempel3.com.conf).
Nå er det på tide å erstatte den med makro.
Først navigerer du til standardkatalogen for Apache 2-nettsteder / etc / apache2 / nettsteder tilgjengelig
som følger:
Så åpne VirtualHost-konfigurasjonsfilen for bob (www.eksempel1.com.conf) som følger:
$ sudo nano www.eksempel1.com.konf
Det er mange linjer. Slett alle disse linjene. Vi trenger ikke dem lenger.
Bare sett inn følgende linje og lagre filen ved å trykke på
Gjør det samme for alice (www.eksempel2.com.conf).
$ 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.conf).
$ sudo nano www.eksempel3.com.konf
Fjern alle linjene, skriv inn følgende linje og lagre filen.
Bruk VHost eksempel3.comAktivere makro:
Nå må du aktivere makroen vhost-makro.konf som du nettopp opprettet.
For å gjøre det, kjør følgende kommando:
$ sudo a2enconf vhost-macroMakroen vhost-makro Er på.
Start Apache 2-tjenesten på nytt som følger:
$ sudo systemctl start apache2 på nytt
Testing av makrobaserte VirtualHosts:
Nå kan du prøve å få tilgang til nettstedene www.eksempel1.com, www.eksempel2.com, www.eksempel3.com.
Som du kan se, 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 det bare én linje med kode som er nok til å konfigurere en VirtualHost. Det gjør det enkelt å konfigurere VirtualHost.
Så det er slik du bruker Apache 2-makroer til å bare VirtualHost-konfigurasjon på Ubuntu 18.04 LTS. Takk for at du leser denne artikkelen.