Greitas bylų persiuntimas į WEB serverį – FTP ir WebDAV (0)
Prižiūrint web svetaines, ypač stambius portalus, susiduriama su problema persiųsti didelius kiekius informacijos – tai galima atlikti ir per tipines html sąsajas, tačiau tokios operacijos užima pernelyg daug laiko. Todėl tokiem uždaviniam spręsti pritaikomi specialūs duomenų perdavimo kanalai, tokie kaip FTP arba WebDAV. Šiame dokumente supažindinama su jų įdiegimu ir panaudojimu Zope-Plone WEB serveryje, suderintame su Apache serveriu.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
FTP protokolas
Pats populiariausias būdas dideliam bylų kiekių persisiuntimui – FTP (File Transfer Protocol) protokolo panaudojimas. Zope sistema šį protokolą leidžia pagal nutylėjimą, tik norint prisijungti prie Zoper per FTP reikia žinoti nustatytą kanalą (portą). Tai sužinoti galima Zopes kunfigūracinėje byloje (zope.conf), esančioje konkretaus portalo realizacijos (instance) direktorijoje /etc. Atsidarius šią bylą surandamas leistas ftp kanalo (porto) numeris. Dėmesio! Skirtingoms Zope realizacijoms (instance) tiek html, tiek ir ftp, tiek ir visi kiti kanalai (portai) turi skirtis. Ftp kanalo numeris (adresas) rašomas tokioje zope.conf eilutėje:
<ftp-server>
# valid key is "address"
address 9597
</ftp-server>
Žinodami web serverio IP adresą, bei šį kanalo numerį, galite jungtis prie Zope serverio per FTP protokolą. Tam geriausia naudoti specializuotas programas, tokias kaip Total Commander, Windows Commander ir t.t.
Reikia pažymėti, jog prisijungti prie Zope sistemos per ftp protokolą pavyks tik manager teises turinčiam vartotojui – tai nustatytą Zopes saugumo sistemoje. Šią teisę galima suteikti ir kitiems vartotojams – tam reikia pakeisti Security opcijoje Permission FTP access nustatymus, tačiau vargu ar iš to bus didelės naudos – ftp protokolas veikia tik jungiantis prie root direktorijos. Bent jau mums nepavyko iškarto „peršokti“ prie norimo objekto. Tai nėra blogai, jei jungiasi tik administratorius. Tačiau visiškai nepatogu, jei norima suteikti priėjimo per ftp teisė ne administratoriaus teises turinčiam vartotojui prie vieno kažkokio tais objekto. Pvz tipiniu FTP atveju prie incoming katalogo arba prie narių katalogų, nerodant viso Zope turinio. Šiam uždaviniui Zope sistemos organizuojamas FTP protokolas nelabai tinkamas. Tačiau šį uždavinį puikiai išsprendžia WebDAV protokolas.
WebDAV protokolas
WebDAV (Web-based Distributed Authoring and Versioning) protokolas yra tipinio HTTP protokolo plėtinys, leidžiantis patogiai tvarkyti ir siųsti bylas nutolusiame WEB serveryje. Įdiegus Zope realizaciją (instance), pagal nutylėjimą WebDAV protokolas yra išjungtas. Tačiau Zopes sistemoje jis yra įdiegtas ir tereikia konfigūracinėje byloje (zope.conf) nustatyti kanalo (porto) adresą, kuriuo bus leidžiamas WebDAV protokolas. Tai atliekama eilutėje
<webdav-source-server>
# valid keys are "address" and "force-connection-close"
address 9680
force-connection-close off
</webdav-source-server>
Ši eilutė suformuojama tik sukūrus Zope realizaciją, tačiau pagal nutylėjimą ji būna užkomentuotą. Ją atkomentavus ir pagal poreikį pasiderinus WebDAV kanalo adresą, galima sistemą išbandyti (nepamirškite perkrauti serverio!). Tam tereikia web naršyklėje pabandyti prisijungti prie Zope sistemos naudojant nurodytą kanalo adresą. Jei WebDAV protokolas įsijungė, naršyklė paprašys įvesti prisijungimo vardą ir slaptažodį, o jį įvedus atsiras pranešimas apie klaidą:
Site Error
An error was encountered while publishing this resource.
Error Type: AttributeError
Error Value: manage_FTPget
Nenusigąskit – taip ir turi būti, WebDAV sistema veikia, tik prisijungti prie Zope sistemos naudojant WebDAV reikia specialios programos.
Bendruoju atveju galima jungtis tiesiogiai per Windows sistemą, naudojant My Network Places lange esančią opciją Add a network place. Joje nurodžius nuotolinės sistemos adresą tūrėtų būti galima prisijungti prie pačios sistemos. Deja šio dokumento autoriui to nepavyko padaryti – Windows sistema pareiškė nepasitenkinimą įvestu adresų – nepriklausomai nuo to ar jis buvo skaitiniu pavidalu, ar su domenu. Gal Jums ir veiks.
Mes patariam naudotis nemokama specializuota programa NetDrive, leidžianti jungtis ne tik WebDAV, bet ir FTP protokolais. Ją galima persisiųsti čia. Suinstaliavus ir sukonfigūravus NetDrive programą, galima prisijungti prie Zope sistemos naudojant WebDAV protokolą.
Norint prisijungti, Jums teks į NetDrive programą įvesti ne tik serverio IP (arba domeną, jei domenas susietas su IP adresu) bet ir kanalo (porto) adresą. WebDAV supranta ir vidinius adresus, todėl šiuo protokolu galima jungtis ne tik į root direktoriją, bet į bet kokią norimą, svarbu nurodyti tikslų kelią, pvz:
http://www.technologijos.lt:7856/testinis_portalas/
asmeniniai_dokumentai/testinis_katalogas
(adresas netikras)
Taip svarbu, kad nurodytas vartotojas tūrėtų teises Zope sistemoje naršyti būtent toje portalo dalyje. Priešingu atveju sujungimas neįvyks ir Jūs nematysite jokios įkeltos nuotolinio serverio direktorijos.
Naudoti tokį adresą su kanalo numeriu paprastai nesinori. Be to norėtųsi paslėpti dalį kelio iki norimos direktorijos, pvz norėdami su WebDAV patekti į direktoriją testinis_katalogas būtų gerai naudoti tokį adresą:
http://www.technologijos.lt/WebDAV/testinis_katalogas
(adresas netikras)
Tai galima padaryti panaudojant Apache serverio peradresavimo galimybes. Kas tai yra ir kaip tai atliekama jau buvo aprašyta dokumente, todėl šioje medžiagoje pateiksime tik reikiamą įrašyti RewriteRule sakinį. Jei norima surinkus adresą http://www.technologijos.lt/WebDAV prisijungti prie Zope sistemos (sakykim WebDAV leistinas kanalas yra 7856), RewriteRule sakinys turi būti toks:
RewriteRule ^/WebDAV http://xxx.xxx.xxx.xxx:7856/
VirtualHostBase/http/www.technologijos.lt:80/
VirtualHostRoot/$1 [L,P]
Šiuo atveju visi adresai, prasidedantys http://www.technologijos.lt/WebDAV bus peradresuojami į pagrindinį (root) Zopes katalogą.
Galima to išvengti, iš karto nurodant jungimosi kelią:
RewriteRule ^/WebDAV http://xxx.xxx.xxx.xxx:7856/
VirtualHostBase/http/www.technologijos.lt:80/
testinis_portalas/asmeniniai_dokumentai/testinis_katalogas/
VirtualHostRoot/$1 [L,P]
Šiuo atveju visi adresai, prasidedantys http://www.technologijos.lt/WebDAV bus peradresuojami į objektą testinis_katalogas.
Šiuo atveju nėra galimybės skirtingiem vartojam pasirinkti prisijungimo sritį – tai aktualu tuomet, jei norima leisti WebDAV protokolą kiekvienam vartotojui savo asmeninėje srityje. Tam vartotojas pats turi papildyti prisijungimo adresą savo asmeninės srities pagrindine direktoriją. Savo ruožtu RewriteRule turi leisti galimybę kiekvienų atveju automatiškai papildyti prisijungimo kelią ir tuo pačiu neleisti „klajoti“ po visą portalą. Tam galima parašyti tokią eilutę:
RewriteRule ^/WebDAV/(.*) http://xxx.xxx.xxx.xxx:7856/
VirtualHostBase/http/www.technologijos.lt:80/
testinis_portalas/asmeniniai_dokumentai/testinis_katalogas/
VirtualHostRoot/$1 [L,P]
Šiuo atveju visi adresai, prasidedantys http://www.technologijos.lt/WebDAV bus peradresuojami į objektą testinis_katalogas, tačiau prirašius papildomą objektą bus jungiamą tiesiai prie jo – pvz http://www.technologijos.lt/WebDAV/straipsniai - bus įkeltas katalogas straipsniai, esantis direktorijoje testinis_katalogas.
Konfigūravimo laisvė yra didelė, viskas priklauso nuo fantazijos ir poreikių. Prisijungimo per WebDAV protokolą galima išbandyti mūsų portale. Tam reikia prisiregistruoti, susiinstaliuoti NetDrive programą ir joje parašyti adresą http://www.technologijos.lt/webdav/vartotojo_vardas - jūs iškarto prisijungsite prie savo asmeninės srities per WebDAV protokolą.
Jei nenorite, jog po Jūsų portalą klaidžiotų atsitiktiniai prašaliečiai, sužinoję prisijungimo per WebDAV sistemą kanalo numerį, galite uždrausti duomenų įkėlimo teises visiems vartotojams, išskyrus objektų savininkus. Tokiu atveju net surinkę tikslų sisteminių objektų adresą, šie nelaukti svečiai nieko nepamatys. Jie tūrės teises tik savo asmeninėje portalo dalyje, kurioje jie yra savininkai. Šie nustatymai atliikami Security dalyje pakeičiant nustatymus Permission WebDAV Lock items, WebDAV Unlock items ir WebDAV access srityse – teisės suteikiamos Manager ir Owner vartotojams.
Nepamirškite, jog siunčiamus WebDAV protokolu objektus (bylas) Plone sistema turi atpažinti ir priskirti atitinkamiems vidiniams objektams. Už šias funkcijas atpažinimo funkcijas atsakingi keli mechanizmai, apie kuriuos galėsite paskaityti plačiau kitoje medžiagoje. Tačiau čia verta paminėti, jog nesuveikus atpažinimo sistemai, Zope WEB serveris tiesiog „nepriims“ Jūsų siunčiamų bylų, o Jūs matysite klaidos pranešimą. Tuomet bandykite siųsti dažniausiai naudojamas bylas. Jei ir tai nepadeda, pabandykite pasidomėti objektų atpažinimo sistemos veikimu.