Dažniausiai pateikiami klausimai: Bendri Linux Cloud klausimai
Kaip VDS serveryje susikonfiguruoti keletą tinklapių?
Įrašė: Daiva Zimaityte - 2008 09 10 12:54
Šis dokumentas aprašo kada ir kaip naudoti vardinius(name-based) virtualius adresus (hosts)

IP paremtas virtualus adresavimas naudoja IP adresą idant nustatytų kurį virtualų serverį (virtual host) rodyti.Dėl to Jums reikia atskiro IP adreso kiekvienam tokiam serveriui.

Vardinėje virtualioje adresacijoje serveris norimo rodyti virtualaus adreso (virtual host) parametrus gauna iš kliento, pasinaudodamas iš HTTP antraščių (headers) gaunama informacija. Pvz. index.php faile '<?php header('Location: http://92.61.36.169/hostex.lt/index.php'); ?>'

Naudojantis šia technlogija galima vienam IP adresui priskirti daug vardų.

Vardais paremtas virtualus hostinimas paprastai yra paprastesnis, nes tereikia tik sukonfigūruoti DNS serverį nurodant sąsajas tarp kiekvieno vardo ir atitinkamo IP adreso bei sukonfigūruoti Apache HTTP serverį, kad jis pažintu norimus vardus.Vardais paremtas virtualus hostinimas taipogi leidžia sutaupyti IP adresų.Tiesa yra ir trukumų. Jis negali būti naudojamas su SSL dėl protokole keliamu reikalavimų.

Norint naudotis vardais paremtu virtualiu hostiniu reikia dedikuoti IP adresą( ir galbūt portą) serveryje, kuris atsakinės į užklausas.Tai yra daroma naudojantis NameVirtualHost direktyva.

Bendru atveju, kai naudojami visi IP adresai serveryje, jum pakanka panaudoti * kaip argumentą NameVirtualHost direktyvai.Jei planuojate naudoti keletą portų, jum reikėtų pridėti portą kaip argumentą, t.y *:80. Atkreipiame dėmesį, jog IP adreso paminėjimas automatiškai nereiškia, jog serveris klausysis tuo adresu. Rekomenduojame pažiūrėti adresų bei portų nustatymą Apache dokumentacijoje.

Sekantis žingsnis yra sukurti bloką kiekvienam vardui kurį norėtumėte aptarnauti.

direktyvos argumentas turėtų būti toks pats kaip ir NameVirtualHost directyvai (t.y. IP adresas, ar * visiems adresams). bloko viduje jums reikės kaip minimum ServerName direktyvos kuri nurodytų aptarnaujamo virtualaus serverio vardą bei DocumentRoot direktyvą, kuri rodo kur failų sistemoje randasi to virtualaus serverio turinys.

Jei jūs pridedate virtualius serverius(hosts) prie jau egzistuojančio serverio konfigūracijos,Jūs turite sukurti direktyvą egzistuojančiam serveriui. ServerName ir DocumentRoot šiame virtualiame serveryje turi būti tokie patys kaip ir globalūs ServerName and DocumentRoot. Šie nustatymai turėtų būti patys pirmi, kad rodytų puslapius pagal nutylėjimą.

Pavyzdžiui, tarkime kad jūs aptarnaujate domeną www.domain.tld ir norite pridėti virtualų serverį(host) www.otherdomain.tld, kuris rodo į tą patį IP adresą.Jum tereikia pridėti sekiančias eilutes į httpd.conf:
NameVirtualHost *:80



ServerName www.domain.tld

ServerAlias domain.tld *.domain.tld

DocumentRoot /www/domain





ServerName www.otherdomain.tld

DocumentRoot /www/otherdomain



Daug kam reikia, kad serveris būtų pasiekiamas daugiau nei vienu vardu.Tai yra įmanoma su ServerAliasdirektyva, patalpinta sekcijos viduje.Pavyzdžiui pirmame bloke ServerAlias direktyva nurodo,kad išvardinti vardai yra alternatyvūs, kuriais klientai gali pasiekti puslapį:

ServerAlias domain.tld *.domain.tld

Tada užklausos visiems serveriams domain.tld domene bus aptarnaujamos www.domain.tld virtualaus serverio. Pakaitos simboliai (wildcards) * ir ? gali būti naudojami taipogi.
Savaime suprantama, jog nepakanka tiesiog įrašyti ServerName ar ServerAlias į serverio konfigūracijos failus. Jūs privalote prieš tai teisingai sukonfiguruoti DNS serverį ir priskirti IP adresus.

Galiausiai jsu galite užbaigti virtualių serverių konfigūraciją pridėdami kitų papildomų direktyvų konteinerių viduje.Daugumą direktyvų galima talpinti tuose konteineriuose ir jos galios tik tam konkrečiam virtualiam serveriui..Konfigūracijos direktyvos nustatytos pagrindinio serverio kontekste (už bet kurio konteinerio) bus naudojamos tik tada, jei jų neper-apibrėš (overrides) virtualaus serverio direktyvos.

Dabar,atėjus užklausai, serveris pirmiausia patikrins ar jis naudoja IP adresą, kuris atitinka vardą VirtualHost.Jei taip, tada ieškos kiekvienoje sekcijoje su tinkamu IP adresu ir stengsis surasti tokią, kurioje ServerName ar ServerAlias atitinka ieškomajį vardą (hostname).

Jei tokią suras, naudosis to virtualaus serverio konfigūracija.Jei neras, tai panaudos pirma virtualų

serverį, kuris atitinka IP adresą.Taigi, pirmasis konfigūracijoje nurodytas virtualus serveris yra serveris pagal nutylejimą. DocumentRoot direktyva iš pagrindinio serverio niekados nebus naudojama, jeigu IP adresas atitiks NameVirtualHost direktyvą. Jei jum reikia specialios konfigūracijos užklausoms, kurios nepataiko/neatitinka nei vieno virtualaus serverio, tiesiog įrašykite ją į konteinerį ir patalpinkite jį pirmuoju konfiguraciniame faile.
(635 balsai)
Straipsnis yra naudingas
Straipsnis nėra naudingas

Komentarai (0)
Help Desk Software by Kayako fusion