WEB serverių (Apache ir Zope) adresavimas (0)
Dokumente aprašyta kokiu būdu pasiskirsto adresų erdves Apache ir Zope web serveriuose, kaip į juos kreiptis turint IP adresą arba domeno adresą, kokiu būdu domeno adresas susiejamas su IP, kas tai yra sistemos portai ir kam jie reikalingi web svetainių adresavimui.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
WEB serverių ir svetainių adresavimas
Norint užkrauti bet kokiame serveryje esančią svetainę, reikia nurodyti tikslų serverio adresą ir vartus, pro kuriuos galima patekti į norimą svetainę. Vartai šiuo atveju suprantami kaip operacinės sistemos portų numeriai. Pvz. suinstaliavus Zope web serverį, pagal nutylėjimą html protokolui nustatomas 8080 portas. Tai reiškia, jog tik šiuo portu galima užkrauti Zope sistemą. Tuo tarpu pagal nutylėjimą web naršyklės naudoja 80 portą. Zopes sistemai pagal nutylėjimą specialiai nepriskiriamas 80 portas, tam, jog esant kitiems web serveriams, pvz. Apache, nesusidarytų dviprasmiškų situacijų. Priklausomai nuo portu skiriasi ir naršyklėje rašomų adresų formatas. Jeigu serveryje, kurio vietinio tinklo IP adresas yra 192.168.1.1, suinstaliuoti du web serveriai Apache ir Zope, tai galimi kreipimosi adresai į juos yra tokie:
http://192.168.1.1 | užkraunamas pagal nutylėjimą 80 portu esantis web serveris - Apache |
http://192.168.1.1/test | užkraunama pagal nutylėjimą esančio web serverio Apache test katalogas |
http://192.168.1.1:8080 | užkraunamas web serveris, kurio html protokolo portas yra 8080 (Zope) |
http://192.168.1.1:8080/test | užkraunama Zopes serverio test katalogas |
Vadinasi vienoje sistemoje galima suinstaliuoti kelis web serverius ir juose laikyti daug skirtingų svetainių, tačiau web serveriai turi atsiskirti skirtingais portais, o svetainės – skirtingais pakatalogiais. Paprastai kreipiantis į internetinę svetainę nurodomas ne IP adresas su portais, o gražus žodinis jos adresas, pvz.: www.technologijos.lt. Kokiu būdu IP adresas paslepiamas po kodine žodžiu seka? Tam naudojami DNS serveriai – naršyklėje surinkus kodinį svetainės adresą, interneto tiekėjo DNS serveriuose atliekama IP adreso paieška pagal žodinį adresą. Jei IP nerandamas, naršyklė išmeta pranešimą:
The page cannot be displayed
Kokiu būdų web svetainės autorius sugalvotą adresą, pvz. www.manoasmeninisportalas.lt gali susieti su konkrečiu IP adresu taip, kad jį suprastų visų internautų naršyklės? Tam reikia surasti firmą, kuri registruoja internetinius adresus (domenus) ir pasitikrinti ar toks adresas dar neužimtas. Jei jis yra laisvas, galima jį įregistruoti ir tuomet jau įregistravusi firma susies reikiamą IP su sugalvotu adresu. Reikia pažymėti, jog žodiniuose adresuose paprastai nenurodomas porto numeris, per kurį vyksta kreipimasis į web serverį. Vadinasi kreipiamasi standartiniu adresu 80.
Jei suinstaliuojamas tik Apache web serveris jokių probelemų neatsiranda - jis iškarto aptarnauja pagal nutylėjimą standartinį porta 80. Tačiau ne visada norima naudoti Apache ir tuo pačiu php kalbą.
Jei Zope yra vienintelis web serveris
Jeigu suinstaliuotas web serveris Zope ir norima į jį kreiptis nenurodant prie IP arba žodinio adreso porto numerio, reikia pakeisti Zope konfiguracinio failo zope.conf nustatymus. Windows sistemoje jį galima surasti toje direktorijoje, kur instaliuotas web serveris. Linuksuose reikia surasti instance katalogą. Tuomet adresas būtų toks:
.../instance/technologijos/etc/zope.conf
Konfiguraciniame faile portas nusirodo eilutėje:
<http-server>
# valid keys are "address" and "force-connection-close"
address 8080
# force-connection-close on
</http-server>
Šioje vietoje galima įrašyti bet kokį norimą portą. Pvz. 80, tuomet Zope paleis pagal nutylėjimą surinkus tik serverio IP adresą. Tačiau tokiu atveju reikia būti garantuotiem, jog šis portas yra nenaudojamas jokių kitų procesų. Naudojant ugnesienes (firewall) reikia nepamiršti patikrinti, ar nustatytu portu yra leidžiami duomenų mainai. Priešingu atveju web naršyklė praneš, jog tokio puslapio nepavyko aptikti.
Ar web serveriui užtenka tik Zope sistemos?
Atsakymas yra dviprasmiškas – priklauso nuo poreikių ir situacijos. Jei norima naudotis tik Zope sistemos teikiamomis funkcijomis, tada viskas gerai. Tačiau tuomet reikia nepamiršti, jog be portų nurodymo bus galima kreiptis tik į vieną zope instancę, o skirtingais svetaines atskirti pakatalogiais: pvz. jei serverio IP susietas su vardu www.technologijos.lt, tuomet skirtingi puslapiai gali būti užkraunami tokiu principu:
www.technologijos.lt | pirmo portalo pagrindinis puslapis |
www.technologijos.lt/portalas2 | antro portalo pagrindinis puslapis |
www.technologijos.lt/portalas3 | trečio portalo pagrindinis puslapis |
Šitaip adresus galima plėsti iki begalybės, tačiau negalima kiekvienam iš skirtingų portalų suteikti skirtingą žodinį adresą. Zope web serveris neteikia automatinio peradresavimo pagal portus funkcijos. Galima pvz. pateiktus tris portalus išskaidyti į tris skirtingas instances, su skirtingais portais:
www.technologijos.lt | pirmo portalo pagrindinis puslapis (portas 80, todėl nesirašo prie adreso) |
www.technologijos.lt:8080 | antro portalo pagrindinis puslapis (portas 8080) |
www.technologijos.lt:9676 | trečio portalo pagrindinis puslapis (portas 9676) |
Nei vienu iš galimų variantų kreipimosi adresas į antrą ir trečią portalą nėra patogus. Ypač jei jie savo turiniu stipriai skiriasi nuo adreso www.technologijos.lt. Šios problemos sprendimui tenka naudoti Apache web serverį, kuris gali imituoti proxy serverio darbą ir peradresuoti skirtingų domenų adresus į to pačio IP serverio skirtinguose portuose esančias svetaines.
Be to Zope nebendrauja su kai kuriais išoriniais produktais. Pvz. norint stebėti web svetainės statistiką, teks suinstaliuoti tam skirtus produktus (AWStats, Webalizer, HitBox, Analog ir t.t.), tačiau zope sistema neturi galimybės su jais dirbti tiesiogiai. Vėlei reikia Apache serverio.