Weekend Prosjekt: Lag Virtual Hosts med Apache

Apache er svært fleksibel, og det er lett å konfigurere Apache til å håndtere flere domener selv når webserveren har bare én IP-adresse for å dele mellom dem. Du kan bruke dette til å være vert for flere nettsteder, eller bare for å gi en sandkasse for utvikling i stedet for å gjøre endringer på det aktive nettstedet. Denne helgen skal vi lære å lage virtuelle verter med Apache.

Sette opp virtuelle verter kan virke som en stor utfordring, men det er ikke. Faktisk kan du sette opp en virtuell vert med bare noen få endringer til Apache konfigurasjon og ved å sette opp flere kataloger for dokumentene. For dette hvordan, jeg ønsker å bruke en Apache installasjon på en Ubuntu server. Vær oppmerksom på, instruks for dette kan kreve modifikasjon hvis blir gjort på en ikke-Debian-distribusjonen på grunn av måten at Apache er pakket. Imidlertid bør Apache direktiver være standard på tvers av fordelinger og skal fungere selv om Apache ikke kjører på Linux.

Opprette katalogstrukturen

Før konfigurasjoner kan håndteres, katalogstrukturen for den virtuelle området må opprettes. Jeg kommer til å jobbe med Apache som installeres på en Ubuntu server, slik at Apache dokumentet root vil være /var /www. Katalogstrukturen for det nye nettstedet kan lages hvor som helst. Noen skape disse katalogene i deres hjem (~ /) katalog, noen lage dem i /usr /local /apache, og andre, forskjellige steder. For enkelhets skyld, skal jeg illustrere sette den virtuelle vert i dokumentet roten av Apache (i Ubuntu som vil være /var /www). Ved å gjøre dette, vil det ikke være nødvendig å endre eierskapet av den nyopprettede katalogen eller foreldrekatalogen huser den virtuelle verten (siden Apache må ha tilgang til kataloger og filer.)

Jeg kommer til å sette opp den virtuelle host test_site. Så for å lage kataloger for den virtuelle host, må følgende kommandoer kjøres:

sudo mkdir /var /www /test_site

sudo chmod -R 755 /var /www /test_site

Nå som hjemmeområdet for den virtuelle verten er gjort, er det på tide å begynne å konfigurere Apache så det er klar over det nye området. Etter konfigurering Apache, kan området da bygges innenfor /var /www /test_site.

Apache Configuration

Det første trinnet i Apache konfigurasjonen er å sørge for at Apache vet virtuelle verter er aktivert. I Ubuntu satt opp utseende for en linje (nær bunnen) av /etc/apache/apache2.conf som ser slik ut:

Inkluder sider-aktiverte /

Pass på at linjen ikke er kommentert ut (ikke begynner med en '#' karakter). At områder-aktiverte inkluderer peker til /etc /apache /nettsteder-aktivert. En titt i denne katalogen vil avdekke en fil som heter 000-standard. Denne filen skal inneholde alle de katalog beholdere som trengs for virtuelle områder på serveren. For å opprette en ny virtuell host (for å kartlegge eksempel test_site), opprette en ny fil i nettsider-butikken heter /etc /apache /nettsteder-butikken /test_site. Innholdet i denne filen vil se noe som ligner på dette (avhengig av behovene og anvendelse av den virtuelle host):

 < virtuellverten test.domain.com > Server webmaster @ localhost #We ønsker å være i stand til å få tilgang til webområdet bruker www.test.domain.com eller test.domain.com Server www.test.domain.com Document /var /www /test_site #log fil for denne serveren CustomLog /var/log/apache2/www.test.domain.com-access.log kombinert < /virtuellverten > 

Koden ovenfor forutsetter at domain.com er selve domenet som skal brukes (sett inn riktig domene der det er nødvendig). Det er nesten klar til å fyre opp, men vi har to enkle trinn igjen før du starter Apache. Det første trinnet er å lage en link i /etc /apache /områder-aktiverte til filen vi nettopp opprettet. Dette gjøres på følgende måte:.


    Endre til /etc /apache /sider-aktiverte katalogen med kommandoen cd /etc /apache /nettsteder aktivert

    Opprett lenke med kommandoen sudo ln -s /etc /apache /sider-butikken test_site.

    Det er også mulig å lage lenker automatisk med kommandoen sudo a2ensite test_site og da bør den virtuelle nettstedet behovet å være funksjonshemmet, fjerne koblingen med kommandoen sudo a2dissite test_site.

    Det siste trinnet er å sørge for at serveren vet at vår nye virtuelle nettstedet er å finne på serveren og ikke ut på Internett. For dette, gjør du følgende:

    Åpne opp /etc /hosts i en tekst editor (med administrative rettigheter)

    Legg til en linje som 127.0.0.1 localhost.localdomain. localhost test.domain.com www.test.domain.com.

    Lagre og lukk filen.

    Nå er det på tide å starte Apache med kommandoen sudo /etc /init. d /apache2 starte på nytt og teste virtuelle verten ved å peke nettleseren til adressen.

    Ikke-Debian-servere

    Hvis server hosting de virtuelle områder er en ikke-Debian-distribusjonen, trinnene er annerledes for hosting virtuelle nettsteder. Slik fungerer det:


      Opprett katalogen beholder for det virtuelle området i /etc/httpd/conf/httpd.conf. Denne containeren vil se lik den som brukes for Debian-basert server.
    1. Kontroller at Apache konfigurasjonsfilen er klar over virtuelle verter ved å sørge for at linjen Inkluder conf.d /*. Conf er ikke kommentert ut.

      Opprett den nye virtuelle hosts-filen (vi kaller det vhosts.conf) i /etc/httpd/conf.d/.

      Legg den virtuelle området i /etc /hosts .

      Restart Apache med kommandoen /etc/rc.d/init.d/httpd restart.

      Katalogen container, for den ikke-Debian vert, vil ligne helt grunnleggende container under:

       < virtuellverten *: 80 > Server test.domain.com Document /var /www /html /test_site < /virtuellverten > 

      Den virtuelle hosts-filen som er nevnt ovenfor, må se slik ut:

       < virtuellverten 127.0.0.1 > Document /var /http /www /test_site Server www.test.domain.com < /virtuellverten > < virtuellverten 127.0.0.1 > Document /var /http /www /test_site Server test.domain.com < /virtuellverten > 
      Building Tid

      Nå som den virtuelle verten er oppe og går, er det nå mulig å bygge nettstedet innenfor /var /www /test_site katalogen. Du kan gjøre dette for så mange virtuelle verter som du trenger (forutsatt at serveren kan ta den ekstra belastningen). Bygge denne virtuelle nettstedet kan bety enten koding for hånd eller ved hjelp av et verktøy som Drupal, Xoops, eller Joomla! å bidra til å bygge den virtuelle området. Anmeldelser