Linuxvilág 4.Évf. 10. Sz. (2003 Október)

Linuxvilág 4.Évf. 10. Sz. (2003 Október)

Kovácsmûhely A Bricolage A Salon és más népszerû webhelyek mögött meghúzódó tartalomkezelõ rendszer egyszerûen használható saját webhelyünk írói és szerkesztõi számára is. z elmúlt néhány hónapban bemutattunk egy pár hajtódik végre minden alkalommal. Ez a megoldás azt ered- Zope alapú tartalomkezelõ rendszert. Természetesen ményezi, hogy a Bricolage mûködése gyors lesz. nem a Zope az egyetlen versenyzõ a nyílt forrású Mint már említettem, a mod_perl csak az Apache webkiszol- Atartalomkezelõ rendszerek mezõnyében. Az egyik egyre jelen- gálóval mûködik. Bár folyamatosan dolgoznak a mod_perl átvi- tõsebbé váló csomag a Bricolage, amelyet David Wheeler írt és telén az Apache 2.x számára, a cikk írásának idején (2003 júniu- tart karban, és amely a mod_perl csomagon és a PostgreSQL sa) még csak az Apache 1.x változatával mûködik együtt. Mivel adatbázis-kezelõn alapul. az Apache 1.x több különálló folyamatot futtat, ahelyett hogy © Kiskapu Kft. Minden jog fenntartva A Bricolage program használatához nem szükséges számítás- egy folyamaton belül több szálat indítana, nincs lehetõség arra, technikai ismeret. Igaz, hogy a program módosítása, illetve hogy igazi adatbázisgyûjtõt hozzunk létre a különféle gyermek karbantartása nagy szakértelmet kíván, de az Apache webki- HTTP-kiszolgálók számára. A létrehozott adatbázis-kapcsolat szolgálóval vagy a Perl nyelvvel dolgozó emberek általában viszont életben tartható az Apache és a PostgreSQL között az programozók vagy rendszergazdák, míg a Bricolage felhasz- Apache::DBI modul használatával. A Bricolage pontosan ezt nálói a webhely írói, szerkesztõi és készítõi. teszi, így az adatbázis-kapcsolatot nem kell minden alkalommal A Bricolage a való világban is bizonyított. Az Apache és a Perl újra létrehozni, amikor egy felhasználó lekér valamit. évekig küzdött azért, hogy bekerüljön a fõáramba. A Bricolage A Bricolage az adatokat Perl/HTML-sablonok segítségével már jó ideje a Salon magazin tartalomkezelõ rendszere, és az jeleníti meg a felhasználóknak. Seregnyi ilyen sablon van eWeek, valamint a Register webhelyeknél is folyamatban van általában is a Perlhez, a mode_perl-hez pedig különösen sok. az átállás. Ráadásul a szakma képviselõi közül, akik nem Régóta nagy rajongója vagyok a HTML::Mason modulnak, és mindig nyilatkoznak kedvezõen a nyílt forrású programokról, az egyik ok, amiért ennyire lelkesedem a Bricolage programért, egyre többen próbálják ki és írnak bírálatot a Bricolage csomag- az az, hogy a kedvenc megoldásaimat – PostgreSQL, ról. A többség kitûnõ programnak értékeli, amely felveszi a mod_perl, Apache és HTML::Mason – egy, a végfelhasználó versenyt sok ezer dollárba kerülõ, zárt kódú vetélytársaival. számára jó alkalmazásba fogja össze. Ebben a hónapban áttekintjük a Bricolage telepítését és hasz- nálatba vételét. A következõ pár hónapban sok szempontból Telepítés megvizsgáljuk a programot, kitérve a különféle webhelytípu- A Bricolage telepítése nem egyszerû folyamat. Ez nem a sokhoz és a közléshez való testreszabásra. Bricolage szerzõinek és karbantartóinak a hibája, inkább azért ilyen, mert a Bricolage rengeteg modult használ CPAN-ból Alapok (Comprehensive Perl Archive Network). Még ma sem megy Minden tartalomkezelõ rendszer magja egy adatbázis. A keres- olyan simán a telepítés, ahogy mennie kellene, de a dolog kedelmi tartalomkezelõ programok általában az Oracle vagy folyamatosan fejlõdik, és az újabb változatokat egyre köny- a Microsoft SQL Server adatbázis-kezelõt használják. Számos nyebb telepíteni. nyílt forrású program, beleértve több PHP alapú tartalomkezelõ A legegyszerûbben úgy telepíthetjük a Bricolage programot, rendszert is, a MySQL adatbázis-kezelõt használja. Ezzel szem- hogy miután a Perl, az Apache és a mod_perl – statikus mo- ben a Bricolage a PostgreSQL-t választotta háttértárolóként. dulként, nem Apache dinamikus megosztott objektumként A PostgreSQL-t gyakran úgy emlegetik, mint „a másik” nyílt (DSO) – telepítve van, a Bundle::Bricolage virtuális forrású adatbázis-kezelõt, pedig már régóta támogatja a tranz- modult telepítjük a CPAN-ból. A Perl-modulokat úgy lehet akciókezelést, lehetõvé téve, hogy több lekérdezést vagy paran- telepíteni a CPAN-ból, hogy elindítjuk a CPAN-héjat a perl csot egy kötegbe fogjunk, és „mindent vagy semmit” alapon -MCPAN -e 'shell' paranccsal, és a parancssorban kiadjuk hajtsunk végre. A PostgreSQL olyan képességekkel is rendel- az install Bundle::Bricolage parancsot. Ha viszonylag kezik, amit a komoly adatbázis-felhasználók elvárnak, például új Perl-héjat használunk, és megadtuk a PGINCLUDE és PGLIB nézetek, felhasználó által megadott függvények, részkiválasz- környezeti változókat, akkor minden modulnak a legújabb tások, egyesítések, idegen kulcsok és sértetlenség-ellenõrzés. változata magától és gond nélkül letöltõdik és telepítõdik. A PostgreSQL támogatja a Unicode szabványt, ami egyre A folyamat hosszú és bonyolult lehet, ha hozzám hasonlóan inkább fontos a többnyelvû webhelyek kezelésénél. belebonyolódsz a CPAN függõségeinek erdejébe. Nem minden A Bricolage a PostgreSQL-t használja háttértárolóként, de CPAN-csomag adja meg világosan, hogy milyen más csoma- magát az alkalmazást Perlben írták. Legalább két módszer goktól függ. Elõször az LWP-t és a Bundle::CPAN-t telepítettem ismeretes a kiszolgálóoldali webes Perl-programok futtatására. a CPAN-héjból. Ezután megkíséreltem a Bundle::Bricolage Az egyik a CGI, ami lassú, de biztonságos és hordozható, a telepítését (Red Hat 7.3-as rendszeren), de nem sikerült elsõre másik a mod_perl, ami gyors, de a biztonsággal gondok lehet- telepíteni a Cache::Cache modult, másodszorra viszont igen. nek, és csak az Apache webkiszolgálóval mûködik. A Bricolage A DB_File telepítése is sikertelen volt, mert nem volt telepítve a mod_perl segítségével dolgozik, ami azt jelenti, hogy a a db3-devel RPM-csomag, és ez gondot okozott az kódja – Perl-modulok rendszere – csak egyszer fordul le, „Perl- Apache::Session telepítésénél, amely azután a opkódok” formájában a memóriában tárolódik, és onnan HTML::Mason telepítését tette lehetetlenné, amitõl a Bricolage 64 Linuxvilág Kovácsmûhely függ. Gondok voltak a libapreq telepítésével is (mert az Apache hatjuk a rendszer által használt PostgreSQL adatbázis-meg- már futott ugyanazon a kapun), és az XML::Parser csomaggal határozásokat. A kezdõ PostgreSQL-felhasználók meglepõd- is (mert az expat-devel RPM-csomag nem volt telepítve). hetnek azon, amit ebben az állományban látnak, például Szerencsére egy CPAN-köteg telepítése után a rendszer kiírja, sorszámokat és feltételeket. A sorszám (sequence) egy külön- hogy mely csomagokat nem sikerült tisztán telepíteni. Megkísé- leges számobjektum a PostgreSQL-ben, amelynek az értékeit relhetjük ismét a köteg telepítését (ekkor a CPAN közli, hogy sosem lehet újra felhasználni. Leggyakrabban arra használják mely modulok vannak már telepítve, és melyek még nem). õket, hogy egyedi azonosítókat hozzanak létre egy rendszer- A Bundle::Bricolage nem a Bricolage moduljait telepíti, ha- ben, különösen, amikor elsõdleges kulcsként is felhasználják nem csak azokat, amelyektõl a Bricolage függ. Ha meggyõzõd- a programozók. Ha a PostgreSQL-ben egy oszlopot SERIAL tünk arról, hogy a Bundle::Bricolage telepítése sikeres volt, típusúként határozunk meg az INTEGER helyett, akkor tulaj- akkor töltsük le a legújabb Bricolage-tarcsomagot a Bricolage donképpen sorszámot hozunk létre. A PostgreSQL régebbi honlapjáról ( http://www.bricolage.cc), csomagoljuk ki, majd változataiban kényelmetlen volt a SERIAL oszlopot tartalmazó adjuk ki a make parancsot. A Makefile ellenõrzi, hogy a köte- táblák törlése, elõször a táblát kellett törölni, azután a sorszá- lezõ és választható Perl-csomagok közül melyek vannak tele- mot, amely a SERIAL oszlophoz volt rendelve. A PostgreSQL pítve, és megkérdezi, hogy telepíteni szeretnénk-e a hiányzókat. 7.3-as megjelenésétõl kezdve a tábla törlése magával vonja Ellenõrzi azt is, hogy a mod_perl statikus modulként (és nem a SERIAL oszlopokhoz rendelt sorszámok törlését is. DSO-ként) van-e fordítva, és hogy a PostgreSQL telepítve van-e. A feltételek (constraint) lehetõvé teszik, hogy az adatbázis Végül néhány felhasználói nevet és jelszót kér, amelyek a visszautasítsa az olyan INSERT és UPDATE parancsokat, ame- © Kiskapu Kft. Minden jog fenntartva Bricolage adatbázisának elkészítéséhez szükségesek, valamint lyek egy megadott tartományon kívül esõ értéket próbálnak telepíti a rendszerre a program HTML::Mason összetevõit. beállítani. Például a Bricolage megad egy media táblát, amely- A kérdések megválaszolása után a telepítést a következõ ben minden elem 1-tõl 5-ig terjedõ fontossággal (priority) parancs kiadásával indíthatjuk: rendelkezik, az alapértelmezett érték 3. Az oszlop meghatározása így néz ki: make cpan && make test && make install ooks priority NUMERIC(1,0) NOT NULL Ez a parancs letölti és telepíti a szükséges modulokat a CPAN- DEFAULT 3 ból, ellenõrzi a Bricolage telepítését, hogy minden rendben CONSTRAINT ck_media__priority van-e, és ha igen, telepíti magát a Bricolage programot. CHECK (priority BETWEEN 1 AND 5) A Bricolage telepítése közben felmerülhetnek gondok, de az egész telepítés meglepõen könnyû a rendszer bonyolultságá- A feltételnek adhatunk nevet, ebben az esetben ez a név hoz képest. A Makefile értelmes, elõre kitöltött válaszokat ck_media_priority. A névadás egyszerûbbé teszi a hibák javasol, kényszerít a „bric” PostgreSQL-felhasználó jelszavának megtalálását és javítását, ugyanis amikor ebbe az oszlopba megadására, és általában gondoskodik arról, hogy minden jól érvénytelen értéket próbálunk beszúrni,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    3 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us