Hvordan konfigurere Apache VirtualHost på Ubuntu Top 10.Topp 10 LTS

Hvordan konfigurere Apache VirtualHost på Ubuntu Top 10.Topp 10 LTS
Apache VirtualHost brukes til å kjøre flere nettsteder i samme Apache -server. Det er en fantastisk funksjon ved Apache 2 webserver for distribusjon av høy tetthet av nettsteder på en enkelt server. Apache har to typer virtualhost -konfigurasjon, IP -basert virtualhost og navnbasert virtualhost.IP -basert VirtualHost: I IP -basert VirtualHost har en Apache -server flere IP -adresser, og den svarer med forskjellige nettsteder basert på IP -adressen.

Fig 1: Apache IP -basert virtualhost.

Navnbasert VirtualHost: I navnbasert VirtualHost har en Apache -server en enkelt IP -adresse og flere domenenavn konfigurert for hvert nettsted. På en DNS -server tildeles hvert av disse domenenavnene IP -adressen til Apache -serveren. Avhengig av hvilket domenenavn klienten brukte, returnerer serveren forskjellige nettsteder.

Fig 2: Apache Navnbasert VirtualHost.

I denne artikkelen skal jeg vise deg hvordan du konfigurerer Apache -navnet Basert VirtualHost. Jeg skal bruke Ubuntu 18.04 LTS for demonstrasjonen. Men det skal fungere på enhver moderne Linux -distribusjon med liten eller ingen endring. Så la oss komme i gang.

Installere Apache 2 webserver:

Apache 2 webserver er tilgjengelig i det offisielle pakkelageret til Ubuntu 18.04 LTS. Så du kan enkelt installere den med Apt Package Manager.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

Kjør nå følgende kommando for å installere Apache 2 webserver:

$ sudo apt install Apache2

Nå, trykk y Og trykk deretter å fortsette.

Apache 2 webserver skal installeres.

Konfigurere DNS:

Nå må du konfigurere DNS -serveren for å kartlegge domenenavnene du vil bruke for VirtualHost til IP -adressen til Apache -serveren din.

Du kan finne IP -adressen til Apache -serveren din med følgende kommando:

$ ip a | Egrep "inet"

Som du ser er IP -adressen i mitt tilfelle 192.168.21.166. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Hvis du vil lære hvordan du konfigurerer Apache VirtualHost lokalt, kan du bruke /etc/verter fil for lokal DNS/navnoppløsning.

For å konfigurere lokal DNS -oppløsning, åpne /etc/verter fil med Nano følgende:

$ sudo nano /etc /verter

Legg nå linjen som merket i skjermbildet nedenfor i filen. Trykk deretter + x etterfulgt av y og For å lagre filen.

Nå skal lokal navnoppløsning fungere.

Katalogstrukturer:

Jeg vil beholde alle nettsteddataene til Apache VirtualHost i en spesifikk katalog /www. Her vil jeg opprette en katalog for hver bruker. Hver bruker vil ha sin egen public_html/ og tømmerstokker/ Katalog også.

For eksempel for 3 brukere Bob (eksempel1.com), Alice (eksempel2.com), Linda (eksempel3.com), Katalogstrukturen er som følger:

/www
- Eksempel1.com/
- www/
- public_html/
- indeks.html
- tømmerstokker/
- Eksempel2.com/
- www/
- public_html/
- indeks.html
- tømmerstokker/
- Eksempel3.com/
- www/
- public_html/
- indeks.html
- tømmerstokker/

En enkel måte å gjøre det på er å lage en mal- eller skjelettkatalog og sette katalogstrukturen der. Opprett deretter hver brukere ved hjelp av denne skjelettkatalogen.

Først, kopier innholdet i standard skjelettkatalog /etc/Skel til en annen katalog /etc/skel-www følgende:

$ sudo cp -rv /etc /skel /etc /skel -www

Naviger nå til den nye skjelettkatalogen som følger:

$ cd /etc /skel-www

Opprett deretter ønsket katalogstruktur i skjelettkatalogen som følger:

$ sudo mkdir -p www/public_html, logs

Du kan også opprette en standard indeks.html fil i public_html/ katalog hvis du vil.

$ ekko "

Det fungerer

"| sudo tee www/public_html/indeks.html

Lag nå /www Katalog med følgende kommando:

$ sudo mkdir /www

Opprette brukere:

Nå kan du opprette brukeren Bob for www.Eksempel1.com som følger:

$ sudo useradd-create-home--home-dir /www /eksempel1.com -shell
/bin/bash --gid www-data--shel/etc/skel-www bob

På samme måte, opprette brukeren Alice for www.Eksempel2.com som følger:

$ sudo useradd-create-home--home-dir /www /eksempel2.com -shell /bin /bash
--Gid www-data--Skel /etc /Skel-Www Alice

Igjen, lag brukeren Linda for www.Eksempel3.com som følger:

$ sudo useradd-create-home--home-dir /www /eksempel3.com -shell /bin /bash
--Gid www-data--Skel /etc /skel-www linda

Her tildelte jeg den primære gruppen til hver bruker å www-data. Som standard kjører Apache Server som denne gruppen. Hvis jeg ikke hadde gjort det, vil Apache Server ikke kunne få tilgang til filene i public_html/ katalog og opprette loggfiler i tømmerstokker/ katalog.

Konfigurere Apache VirtualHost:

Nå er du klar til å konfigurere Apache VirtualHost for 3 brukere Bob (www.Eksempel1.com), Alice (www.Eksempel2.com) og Linda (www.Eksempel3.com).

Standard Apache Site Configuration Directory på Ubuntu er /etc/apache2/nettsteder tilgjengelig.

Naviger nå til katalogen /etc/apache2/nettsteder tilgjengelig/ følgende.

$ cd/etc/apache2/nettsteder-tilgjengelig/

Lag først en ny konfigurasjonsfil for Bob www.Eksempel1.com.konf følgende:

$ sudo nano www.Eksempel1.com.konf

En tekstredigerer bør åpnes.

Nå, skriv inn følgende linjer.

Servernavn eksempel1.com
Serveralias www.Eksempel1.com
Documentroot "/www/Eksempel1.com/www/public_html "

Alternativer -Følger Symlinks +Multiviews +Indekser
TillatRide alle
Krever alt gitt
Errorlog "/www/eksempel1.com/www/logger/feil.Logg"
CustomLog "/www/eksempel1.com/www/logger/tilgang.logg "kombinert

Merk: Endre dristige tekster i henhold til kravet ditt.

Endelig konfigurasjonsfilen www.eksempel.com.konf skal se ut som følger. trykk + x etterfulgt av y og For å lagre konfigurasjonsfilen.

å bare kopiere konfigurasjonsfilen for Bob (www.Eksempel1.com.konf) og gjør det som er nødvendige med små endringer.

Kopier konfigurasjonsfilen til Bob til Alice og Linda med følgende kommandoer:

$ sudo cp -v www.Eksempel1.com.Conf www.Eksempel2.com.konf
$ sudo cp -v www.Eksempel1.com.Conf www.Eksempel3.com.konf

Rediger nå konfigurasjonsfilen til Alice følgende:

$ sudo nano www.Eksempel2.com.konf

Nå, endre alle forekomster av Eksempel1 til Eksempel2. Lagre deretter filen.

Gjør det samme for Linda.

$ sudo nano www.Eksempel3.com.konf

Endre alle forekomster av Eksempel1 til Eksempel3 og lagre filen.

Aktivering av VirtualHost -konfigurasjoner:

Deaktiver nå Apache Standard nettstedskonfigurasjon som følger:

$ sudo a2dissite 000-default.konf

Aktiver VirtualHost -konfigurasjonene nå www.Eksempel1.com.konf, www.Eksempel2.com.konf, www.Eksempel3.com.konf følgende:

$ sudo a2ensite www.Eksempel1.com.Conf www.Eksempel2.com.Conf www.Eksempel3.com.konf

Til slutt, start Apache -tjenesten på nytt som følger:

$ sudo SystemCTL Restart Apache2

Testing 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.

MERK: Jeg endret standardsiden indeks.html for hvert nettsteder slik at det er litt annerledes for hvert nettsted for å teste formål. Ellers vil du ikke kunne fortelle om VirtualHost -konfigurasjon fungerer eller ikke.

Så det er slik du konfigurerer navnbasert Apache VirtualHost på Ubuntu 18.04 LTS. Takk for at du leste denne artikkelen.