Linuxos TextLib szerverek

[Tartalomjegyzék] [Index] [Fontosabb változások]

1. Bevezető

1.1. Előfeltételek

A TextLib szerver (TLSRV), TextLib WEB szerver (TLWWW) linuxos verzióját az Infokertől (http://www.textlib.hu/) szerezhetjük be. Ez tartalmazza a tulajdonosi adatokat is. E nélkül sem a TLSRV-t, sem a TLWWW-t, sem a későbbiekben megjelenő frissítéseket nem tudjuk használni.

A TextLib szerver linuxos verziójának telepítéséhez legalabb 2.4-es kernelre van szükség. A TLWWW használatához elengedhetetlen az Apache WEB szerver min. 1.3.x verziójának megléte. (Hasznlálják sok helyen 2.6-os kernellel és 2.x apache-al is)

A TextLib szerverekhez min. 2.3.2-es verziójú libc6 szükséges. Az elterjedt disztribúciók közül egyedül a Debian Woody-ban van ennél régebbi, ezért ezt fel kell sajnos újítani Sarge-ra.

A Debian disztribúció használatát javasoljuk mindenkinek, azzal van a legtöbb tapasztalat!

1.2. Előnyök, hátrányok

Bár a DOS-os TextLib szerver egyes verzióit sikerült rávenni Linux alatti működésre (DOSEMU alatt), ez azonban csak kis részben tudta kihasználni a Linux előnyeit. A jelenlegi, linuxos TextLib szerver kihasználja az operációs rendszer adta lehetőségeket, mely számos előnnyel jár:

Természetesen mindennek - mint az éremnek - két oldala van, pár ismert és fellépő kellemetlenség:

2. TextLib szerver

2.1. Telepítés

A telepítés az adott linux rendszernél megszokott módon történik (Suse, Fedora, Mandrake és egyéb .RPM csomagokat használó diszribúció esetén a RedHat-nál leírtakat kell alkalmazni). Tehát root felhasználóként adjuk ki a következő parancsot táblázat

1. táblázat: TLSRV - telepítés
Disztibúció   parancs  
Debian dpkg -i textlib-szerver-1.60.10-3.deb
RedHat rpm -i textlib-szerver-1.60.10-3.i386.rpm

Ahol természetesen az utolsó paraméter az Infokertől kapott .deb illetve .rpm file pontos neve. Ekkor a rendszer feltelepül ehhez hasonló (a példa Debian alatt készült) üzenetek kiséretében:

Selecting previously deselected package textlib-szerver.
Reading database ... 13238 files and directories currently installed.)
Unpacking textlib-szerver (from textlib-szerver-1.60.08-3.deb) ...
TextLib szerver telepitese...
- textlib group letrehozva...
- textlib user letrehozva...
- Csak a textlib group tagjai hasznalhatjak a TextLib-et!
- User felvetele a group-ba: adduser user textlib
- Info: man textlib
Setting up textlib-szerver (1.60.08-3) ...

Mint látható, a telepítő létrehozta a "textlib" felhasználót és csoportot. A TextLib vezérlését - elindítását, leállítását, táv-vezérlését - csak azok a felhasználók tudják elvégezni, akik a "textlib" csoportban benne vannak. Természetesen a rendszergazda is képes szinte mindent elvégezni. Tehát adjunk hozzá legalább egy (a példában XXX nevű) felhasználót a "textlib" csoporthoz (táblázat

2. táblázat: User beiratása a textlib csoportba
Disztibúció   parancs  
Debian adduser XXX textlib
RedHat usermod -G textlib XXX

A meglévő adatállományokat másoljuk be a /var/lib/textlib/ könyvtárba. Valószínűleg a jogosultságok így nem lesznek megfelelőek, ennek beállításához használjuk a tl_setdb scriptet a következőképpen:

/usr/share/textlib/exe/tl_setdb

Ezek után az adatbázis jogai megfelelőek lesznek.

2.1.1. 64 bites linux

A TextLib szerver,tlwww,stb. 32 bites program, de működik 64 bites linux alatt is (több helyen így megy).

Szükség van újabban a lib32stdc++6 lib-re, mivel a program egyes részei már C++-ban készültek. Ezt Debian alatt pl. így lehet telepíteni:

apt-get install lib32stdc++6

64 bites Ubuntu és Debian alatt szükséges lehet ez is:

sudo apt-get install ia32-libs

vagy esetleg ez (pl. Debian 7-esben, ha a fenti nem megy)

sudo apt-get install lib32z1

vagy Ubuntuban: .BAT sudo apt-get install gcc-multilib

A z3950 szerverhez kell meg Ubuntu alatt biztos, talan Debian is:

.BAT sudo apt-get install lib32z1

2.2. Felújítás

A linuxos TextLib szerver új verzióját - felújító csomagját - letölthetjük az Infoker honlapjáról. Ezzel csak a meglévő TextLib rendszerünket frissíthetjük a legújabb verzióra, telepítésre nem alkalmas! (lásd táblázat}

3. táblázat: TLSRV - felújító csomagok letöltési helye
Disztibúció   verzió   letöltési hely  
Debian 2.00.xx TextLib Honlap (http://textlib.hu/debian/dists/V2/main/binary-i386/)
RedHat 2.00.xx TextLib honlap (http://textlib.hu/rpm.200/)

Ha beszereztük a legújabb felújító csomagot .deb ill. .rpm formátumban, akkor ebből a felújítást hasonlóan kell csinálni, mint a telepítést (táblázat)

4. táblázat: TLSRV - felújítás
Disztibúció   parancs  
Debian dpkg -i textlib-szerver-2.00.02-134-felujito.deb
RedHat rpm -F textlib-szerver-2.00.02-134.i386.rpm

A telepítő .deb nem alkalmas felújításra!

Az üzenetek, amiket ilyenkor látunk hasonlóak, mint a telepítéskor már látott üzenetek.

Debian alatt lehetőség van a felújítás automatizálására is, mely sokkal kényelmesebb, erről az Automatikus program felújítás részben olvashatunk.

2.2.1. Rendszer rekordok betöltése

A TextLib felújító csomagja tartalmaz import fájlokat (tlsysNN.tcs). Ezekben jól használható keresőkérdések, nyomtatási formátumok, jogok, statisztikák, projekciók, rendezési formátumok vannak.

Ezek betöltéséhez először is le kell állítani a TextLib szervert, majd elindítani a tlsysimp programot, ami a /usr/share/textlib/sysimp-ben található. Valahogy így:

tl_vezer stop
cd /usr/share/textlib/sysimp
./tlsysimp

2.3. Eltávolítás

Amennyiben szeretnénk eltávolítani a TextLib Integrált Könyvtári Rendszer szerverprogramját, úgy azt megtehetjük a következő parancsokkal (táblázat

5. táblázat: TLSRV - eltávolítás
Disztibúció   parancs  
Debian dpkg --remove textlib-szerver
RedHat rpm -e textlib-szerver

2.4. Használat

A TextLib szerver kívülről vezérelhető a tl_vezer programmal, ezért - a korábbi verziókkal ellentétben - nem külön konzolon fut, hanem mindjárt a háttérben indul el.

A TextLib szerver a következő paranccsal indítható:

tl_vezer start

Amennyiben minden sikerült, akkor a következőt látjuk:

TextLib szerver: inditas ... OK

Ha esetleg valami nem sikerült, akkor a log file (/var/log/textlib/tlsrv.log) végét egyszerűen megnézhetjük a következő paranccsal:

tl_vezer info

A tl_vezer paramétere lehet még:

A tl_vezer egy érdekes és nagyon hasznos része a linuxos TextLib szervernek! Segítségével - mint ahogy az előbb már láthattuk - elindíthatjuk a TextLib szervert, de a tl_vezer stop parancsal le is állíthatjuk azt. Tehát nem kell fizikailag a szerver billentyűjén kezdeményezni a TextLib szerver leállását, hanem akár távolról belépve a szerverre is leállíthatjuk. Sőt, ha a TextLib szerver már fut és csak a tl_vezer parancsot adjuk ki (paraméter nélkül), akkor egy interaktív felületet kapunk. Így pontosan azt látjuk és pontosan úgy vezérelhetjük a TextLib szerverünket, mintha fizikailag a szerver billentyűje mellett ülnénk, tehát akár a belépett felhasználókat, akár a statisztikát is lekérdezhetjük!

Azért, hogy a számítógép indításakor a TextLib szerver is automatikusan elinduljon a telepítő a /etc/rcN.d/ könyvtárba létrehoz egy S98textlib-szerver linket, ami a /etc/init.d/textlib-szerver-re mutat. Debian esetén az N helyén 2 szerepel, RedHat-nál pedig 3.

A TextLib linuxos verziója tartalmazza az automatikus biztonsági mentést, mellyel az adatbázisunkról akár helyben, de akár távoli számítógépre is áthelyezhetjük az adatbázisunk biztonsági másolatát, majd erről e-mailben értesítést is kérhetünk. Alap esetben ez a funkció nincs aktiválva, de nagyon egyszerűen bekapcsolható.

Megjegyzés:

2.5. File-ok

A TextLib szerver könyvtárai és a fontosabb config file-ok (táblázat)

6. táblázat: TLSRV - config file-ok
File/path   magyarázat  
/usr/share/textlib/exe/ Programok, config file-ok
tlcomm.cfg TLSRV kommunikáció (UDP/TCP protokoll beállítások)
tl_backup.cfg biztonsági mentés beállításai
hm_kuld.cfg HunMark export beállításai
hm_vesz.cfg HunMark import beállításai
tl_kuld.cfg TextLib export beállításai
tl_vesz.cfg TextLib import beállításai
tl_modul Modulok helyükre másolása és beállítása
tl_setdb Adatbázis tulajdonos és jog beállítása
tl_backup Biztonsági mentés készítése
/usr/share/textlib/tlm/ TextLib modulok
/var/lib/textlib/ Adatbázis
/var/lib/textlib/ment/ Adatbázis mentés
/var/log/textlib/ log file-ok

Előfordul, hogy javított modult küldünk pl. email-ben. DOS alatt egyszerűen be kellett másolni a modult a helyére. Linux alatt be kell állítani a tulajdonost, jogokat, stb. Sőt, ha esetleg XXX.TLM modult küldünk, az át kell nevezni xxx.tlm-re, a linuxos TLSRV csak a kisbetűs modulneveket szereti. Mindezen dolgok elintézésére készült a tl_modul parancs. A tőlünk kapott modulokat egyszerűen be kell másolni pl. a /tmp könyvtárba, majd egy

/usr/share/textlib/exe/tl_modul /tmp

parancs megcsinál minden előbb felsorolt dolgot.

2.6. Beállítások

2.6.1. Más könyvtárból belépés

A TextLib szerver az 1.63 utáni verziókban ellenőrzi, hogy a bejelentkező munkaállomás program mely könyvtár tulajdona. Saját munkaállomás programmal természetesen be lehet jelentkezni, de más könyvtár munkaállomás programjával csak akkor, ha ezt direkt megengedjük.

Ha be akarunk engedni más könyvtárból érkezőket is, akkor hozzuk létre a /usr/share/textlib/exe/tlsrv.cfg file-t. Ebben lehet megadni azokat a könytárakat, akik beléphetnek hozzánk. A file-ban egy ilyen sorban: .BAT kvt:NNN NNN NNN NNN ...

lehet megadni a könyvtárak azonosítóit (NNN helyén egy könyvtár 3 vagy 4 számjegyű azonosítója állhat). Az azonosítót egyszerű megtudni, mivel az szerepel mindig a munkaállomás bejelentkez ablakában. Az IK1995Tnnnn szövegből az nnnn az azonosító.

2.7. Biztonsági mentés

Ajánlott az adatállományok redszeres mentése. A TextLib linuxos verziója többszíntű lehetőséget biztosít adataink biztonságba helyezésére - itt elsősorban az új lehetőségekre nézünk példát, a TextLib eddig is jól működő és ismert naplózási, mentési mechanizmusát mindenki megtalálhatja a TextLib dokumentációjában.

A TextLib szerver tartalmaz egy "biztonsági mentést" is, mely alapesetben nincs aktiválva. A következőekben ennek a módját, beállítási lehetőségeit tekintjük át. Az ehhez kapcsolódó állományok megtalálhatóak a /usr/share/textlib/exe/ könyvtárban (táblázat)

7. táblázat: TLSRV - biztonsági mentés - file-ok
File/path   magyarázat  
tl_bment adatbázis biztonsági mentés készítése (akár sajátot is írhatunk!)
tl_ptime még a napló ellenőrzés előtt hajtódik végre, ha a szerver "időre" lépett ki
tl_time napló ellenőrzése után hajtódik végre, ha a szerver "időre" lépett ki
tl_sets általános - globális - környezeti változók beállításának a helye
tl_backup.cfg TextLibhez szállított biztonsági mentést beállító file

Újonnan telepített rendszernél az előbb említett file-ok .pld (példa) kiterjesztéssel is megtalálhatók. Frissítéskor természetesen csak a .pld file-ok frissülnek, így a már egyszer beállított értékek megmaradnak.

A tl_bment file ide vonatkozó része:

echo "Biztonsagi mentes indul a hatterben"
/usr/share/textlib/exe/tl_backup >> /var/log/textlib/tl_backup.log 2>&1 &

A tl_ptime alap beállítása:

TLPAR2="/Aigen /s0

Ez azt jelenti, hogy amikor a TextLib a megadott időpontban automatikusan kilép, akkor a TLPAR2 környezeti változót beállítja még a naplózó lefutása előtt. Ennek hatására a naplózó az esetleges kérdésekre automatikusan "igen" választ tételtez fel, illetve a napló méretétől függetlenül (kivéve, ha teljesen üres a napló) adatbázis mentés történik.

A tl_time alapértemezett beállításai pedig arra valók, hogy a tl_ptime-ban beállított környezeti változókat törölje, hogy az esetleges további részek kérdéseire ne legyen automatikus "igen". Ez a tl_time-ban így szerepel:

unset TLPAR2

Mivel a TextLibet többen is indíthatják (akik benne vannak a textlib csoportban), így gondoskodnunk kell, hogy a beállított környezeti változók minden egyes felhasználónál érvényre jussanak. Ehhez a /etc/profile file végére helyezzük az alábbi kódot:

if [ "`id -nG | grep textlib | wc -l`" -eq 1 ]; then
    . /usr/share/textlib/exe/tl_sets
fi

A második sorban a pont (.) után szóköz van!!! És ne felejtsünk el a file végén egy üres sort hagyni!

A /usr/share/textlib/exe/tl_sets fileban a környezeti változó(k) értékeit állíthatjuk be. Mint látható, a profile-ban is erre a file-ra hívatkozunk. A tartalma telepítés után a következő:

TLPARAM=/End:4:00

Ez az alaphelyzet, az értéket alapos megfontolás után átállíthatjuk.

Ezzel elértük, hogy a TextLib szerver minden nap hajnali 4:00-kor automatikusan kilép, elmenti az adatbázist (ha bármi változás volt az előző mentés óta), elindítja a biztonsági mentést a háttérben, majd újra elindul.

2.7.1. tl_backup beállítása

A biztonsági mentés attol "biztonsági" , hogy nem ugyanazon az adathordozón (még jobb, ha nem ugyanazon a számítógépen) van a biztonsági mentés, ahol a normál mentés. Így az egyik megoldás az lehet, hogy egy másik felcsatolt (mountolt) winchesterre mentjük az adatokat. Vagy ha lehetőségünk van rá, akkor egy másik, távoli számítógépre mentjük át adatainkat. Mindkettőre lehetőséget ad a tl_backup program. A biztonsági mentéshez a beállításokat /usr/share/textlib/exe/tl_backup.cfg néven találjuk. Nézzük meg a beállítási lehetőségeket:

HELYI=false
H_HOVA="/home/textlib/tl_mentes"
H_MAXMENT=2
H_HAVI_MAXMENT=12
TAVOLI=false
USERNEV="textlib"
SERVER="server"
SSHPAR="-p 2222"
SCPPAR="-P 2222"
T_HOVA="/home/textlib/tl_mentes"
T_MAXMENT=2
T_HAVI_MAXMENT=12
E_MAIL=false
E_MAIL_CIM="root@localhost"

2.7.2. Helyi mentés

Amennyiben kérünk helyi mentést, akkor meg kell adni a H_HOVA változónak, hogy pontosan hova kérjük a mentést illetve a H_MAXMENT értékénél, hogy hány mentést őrízzen meg. Mentéskor, ha az aktuális mentés száma már több lenne a H_MAXMENT-ben megadott értéknél, akkor a régebbieket törölni fogja.

A H_HAVI_MAXMENT változóban lehet megadni, hogy hány havi mentést akarunk. A havi mentés az abban a hónapban bekövetkezett összes adatbázis változást tartalmazza, valamit az abban a hónapban képződött naplókat. A havi mentés elkészülte után a régi naplók törlődnek. Ha nem adjuk meg, vagy nullát adunk, akkor havi mentések nem készülnek.

Ügyelni kell arra, hogy a megadott könyvtárra a textlib csoport tagjainak rwx joguk legyen!

Amennyiben kérjük, hogy minden egyes mentés eredményéről kapjunk e-mail értesítést, akkor meg kell adnunk azt is, hogy melyik címre küldje az értesítést. Figyeljünk rá, hogy a cím helyes legyen illetve, ha bizonytalan a névfeloldás (DNS), akkor inkább használjunk az e-mail címben IP címet.
Pl.: felhasznalo@[192.168.1.1]

Az Email értesítéstől függetlenül minden mentésnél készül egy bejegyzés a /var/log/textlib/tl_backup.log file-ba. Itt tehát megnézhetjük, mikor milyen mentés készült, és sikeres volt-e az.

2.7.3. Távoli mentés

Távoli mentésnél több dolgot kell figyelembe venni és beállítani. Elöször is a TAVOLI változót kell true-ra állítani. Majd a USERNEV mezőben meg kell adnunk annak a felhasználónak a nevét, akinek a nevében szeretnénk a távoli gépre belépni. A SERVER-nél adhatjuk meg a távoli számítógép nevét - esetleg IP címét. Ha speciális paramétereket (pl. milyen portot használjon) akarunk megadni az SSH-nak vagy az SCP-nek (ezeket használja a távoli mentés), azt az SSHPAR ill. SCPPAR változóban kell beállítani.

A T_HOVA változóban állítsuk be a távoli gépen azt az útvonalat, ahova a mentést kérjük. Ügyeljünk arra, hogy a távoli gépen a megadott útvonalhoz a megadott felhasználónak legyen írási joga!

A T_MAXMENT és T_HAVI_MAXMENT változók jelentése a helyi mentésnél leírtak alapján egyőrtelmű.

2.7.4. távoli gép beállítása

Mivel a script SCP-vel (secure copy) viszi át a mentést egyik gépről a másikra, így szükséges, hogy az távoli gépen az azonosítást is automatizáljuk, különben az átvitel előtt megkérdezi a távoli rendszerbe a belépési jelszót és mindaddig nem lép tovább, amíg be nem írjuk. A távoli bejelentkezés automatizálásához el kell készítsük a titkos és publikus kulcsunkat a TextLib-et futtató gépen (ezt minden egyes usernél el kell kesziteni, aki elindithatja a TextLibet). A publikus kulcsot át kell másolni arra a gépre, ahova a távoli mentést készítjük, ott fel kell venni az authorized_keys-ek közé.

Mindezen feladatokat megoldja a /usr/share/textlib/exe/tl-ssh-gen user@server [ paraméterek ] parancs. Ez létrehozza a kulcsokat, átmásolja a célgépre, ahol létrehozza a user home könyvtárában a tl_mentes könyvtárat a megfelelő jogokkal.

A paraméterekben lehet megadni pl. a port-ot, ha nem a szokványos 22-es porton érhető el a célgép: tl-ssh-gen user@server -p 1234.

Mivel így a távoli géphez a megadott usernévvel többen is hozzáférhetnek - ami biztonság szempontjából nem túl szerencsés - így ajánlott egy "fiktív" usert létrehozni erre a célra a távoli gépen. Ennek a fiktív usernek a saját könyvtárába tegyünk egy .bash_profile filet, melyben egy "exit" szerepeljen. Így belépni a szerverre nem tud, nem kap shell-t, viszont scp-vel tud másolni és bármilyen scriptet képes futtatni.

3. TextLib WEB szerver

3.1. Telepítés

A telepítés a TLSRV-vel azonos módon történik (táblázat)

8. táblázat: TLWWW - telepítés
Disztibúció   parancs  
Debian dpkg -i textlib-www-1.60.10-3.deb
RedHat rpm -i textlib-www-1.60.10-3.i386.rpm

A TLWWW az apache (esetleg más?) WEB szerver nélkül használhatatlan.

Az újabb linuxokban már az utf8 a default konzol kódkészlet, ami nem baj, de a TLWWW használatához szükség van arra, hogy az ISO-8859-2 is telepítve legyen. Ha nincs, akkor a TLWWW telepítő/felújító úgyis panaszkodni fog. Keressük meg az /etc/locales.gen fájlban a

# hu_HU ISO-8859-2

sort. Töröljük ki az elejéről a # jelet. Ezután futtassuk le a

locale-gen

parancsot.

3.2. Felújítás

A TLWWW felújító csomagját letölthetjük a TextLib honlapjáról (táblázat). Ezzel csak a meglévő TLWWW frissíthető, telepítésre nem alkalmas!

9. táblázat: TLWWW - felújító csomag letöltési helye
Disztibúció   verzió   letöltési hely  
Debian 2.00.xx TextLib Honlap (http://textlib.hu/debian/dists/V2/main/binary-i386/)
RedHat 2.00.xx TextLib honlap (http://textlib.hu/rpm.200/)

Ha beszereztük a legújabb felújító csomagot .deb ill. .rpm formátumban, akkor ebből a felújítást hasonlóan kell csinálni, mint a telepítést (táblázat)

10. táblázat: TLWWW - felújítás
Disztibúció   parancs  
Debian dpkg -i textlib-www-1.60.10-4-felujito.deb
RedHat rpm -F textlib-www-1.60.10-4.i386.rpm

3.3. Eltávolítás

Amennyiben szeretnénk eltávolítani a TLWWW-t, úgy azt megtehetjük a következő parancsokkal (táblázat)

11. táblázat: TLWWW - eltávolítás
Disztibúció   parancs  
Debian dpkg --remove textlib-www
RedHat rpm -e textlib-www

3.4. Használat

A TLWWW a háttérben indul el.

A TLWWW a következő paranccsal indítható:

tlwvezer start

Amennyiben minden sikerült, akkor ezt látjuk:

TextLib WWW: inditas ... OK

Ellenkező esetben nézzük meg, mi okozta a problémát. A log file (/var/log/tlwww/tlwww.log) végét lehet egyszerűen kiiratni a következő paranccsal:

tlwvezer info

A tlwvezer stop parancsal le is állíthatjuk a TLWWW-t. Tehát nem kell fizikailag a szerver billentyűjén kezdeményezni a TLWWW leállását, hanem akár távolról belépve is megtehetjük ezt.

Azért, hogy a számítógép indításakor a TLWWW is automatikusan elinduljon a telepítő a /etc/rcN.d/ könyvtárba létrehoz egy S98textlib-www linket, ami a /etc/init.d/textlib-www-re mutat. Debian esetén az N helyén 2 szerepel, RedHat-nál pedig 3.

3.5. File-ok

A TLWWW könyvtárszerkezete, és az egyes könyvtárakban található fontosabb config file-ok (Debian disztribúció alatt) láthatók a táblázatban.

12. táblázat: TLWWW - config file-ok
file/path   magyarázat  
/usr/share/tlwww/ Programok, config file-ok
tlwww.cfg TLWWW paraméterek (pl. kközi kérés kinek menjen)
tlgw.cfg TLSRV cime, egyéb paraméterek (TLSRV-TLWWW kommunikáció) - 1.62.xx verzióban
tlgw3.cfg TLSRV cime, egyéb paraméterek (TLSRV-TLWWW kommunikáció) - 1.7x.xx verzióban
/var/www/tlwww/ HTML lapok, CSS file
homepage.htm Kereső lap, ebben kell átírni a könyvtár nevét, honlapra mutató linket, stb.
tlwww.css Stílus file, ebben lehet megadni a HTML lapok hátterét, a könyvtár logo-ját, stb.
kislogo.gif A tlwww.css-ben megadott logo file, ami minden HTML lapon megjelnik (kislogo.gif a default)
backgr.gif A tlww.css-ben megadott háttérkép file (backgr.gif a default)
/usr/lib/cgi-bin/ TLWWW cgi-k helye
tlwww.cgi a kereséseket intéző CGI
userstat.cgi olvasói állapotot intéző CGI
/var/log/tlwww/ log file-ok

RedHat alatt
/var/www/html/tlwww/ vagy /srv/www/htdocs/tlwww/ van /var/www/tlwww/ helyett
/var/www/cgi-bin/ vagy /srv/www/cgi-bin/ van /usr/lib/cgi-bin/ helyett

3.6. Beállítások

A TextLib WWW telepítése után néhány dolgot be kell állítani, mielőtt még elkezdenénk használni.

3.6.1. TextLib szerver címe

Már csak a TCP protokoll használatát javasoljuk! A /usr/share/tlwww/tlwww.cfg file-ban kell megadni:

network = tcp
servertcp = 10.3.0.14:11345
loglevel = 1

Ez a legfontosabb, hiszen e nélkül a TextLib WWW nem tud kommunikálni a TextLib szerverrel. Abban az esetben, ha a TextLib WWW ugyanazon a gépen fut, amelyiken a TextLib szerver is, akkor nincs semmi teendő, mert a default beállítás pont megfelel (servertcp=127.0.0.1:11345)

3.6.2. Könyvtárközi kérés

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Azokban a könyvtárakban, ahol használják a könyvtárközi kérés opciót, meg kell adni, hogy milyen email címre menjen e-mail, amikor könyv kérés történik. Ide biztonsági okokból nem egy email címet kell írni, hanem csak egy - az InfoKer-től kapott - azonosítót. Az email címet csak az InfoKer-nek kell megmondani.

Meg kell adni egy formmail script-nek a címét, ami az email küldést intézi. Ennek default értéke az InfoKer honlapján található script. A legegyszerűbb ezt használni. Ez esetben kérni kell az InfoKer-től ehhez egy azonosítót.

tlwww.cfg megfelelő részlete:

# konyvtarkozi kereshez az email cim
kkozi = sajat-azonositonk-amit-az-infokertol-kellett-kerni

# FormMail script neve. Default: az InfoKer honlapon talalhato script # Ezt lehet hasznalni, de errol ertesiteni kell az InfoKer-t, o kuld # ehhez azonositot formmail=http://www.textlib.hu/script/FormMail.pl

3.6.3. Megjegyzés

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Azokban a könyvtárakban, ahol használják a megjegyzés küldés funkciót, meg kell adni, hogy milyen email címre menjen a megjegyzés. Ide biztonsági okokból nem egy email címet kell írni, hanem csak egy - az InfoKer-től kapott - azonosítót. Az email címet csak az InfoKer-nek kell megmondani!

Ha a könyvtárközi kérés és a megjegyzés ugyanarra az email címre kell menjen, akkor ide ugyanazt az azonosítót kell írni, amit a kkozi= után is megadtunk.

tlwww.cfg megfelelő részlete:

# Dokumentum megjegyzes kezeles.
# Ez a default, ezt nem is kell megadni. Ezért van az elején a # jel.
#megjegyzescgi=http://www.textlib.hu/script/megjegyzes.php
# Ha a következő sor elején nincs '#' jel, akkor nem is lesz [Megjegyzés] gomb:
#megjegyzescgi=
# Ha hasznalni akarjuk, meg kell itt adni az azonositonkat.
megjegyzesemail=azonositonk-az-infokertol

3.6.4. Felkutat

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Ha a könyvtár használni akarja a Felkutat funkciót, nem kell semmit tennie. Ha le akarja tiltani, akkor kell csak beállítani valamit.

tlwww.cfg megfelelő részlete:

# kutatcgi script neve
# Dokumentum felkutatasahoz
# Ez a default, ezt nem is kell megadni, ezért van # az elején
#kutatcgi=http://www.textlib.hu/script/tlkutat.php
# Ha a következő sornak az elején nincs #, akkor NEM lesz [Felkutat] gomb:
#kutatcgi=

3.6.5. Link-ide

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Ha a könyvtár használni akarja a Link-ide funkciót, nem kell semmit tennie. Ha le akarja tiltani, akkor kell csak beállítani valamit.

tlwww.cfg megfelelő részlete:

# doklinkcgi script neve
# Dokumentum link kezeles
# Ez a default, ezt nem is kell megadni, ezért van # az elején
#doklinkcgi=http://www.textlib.hu/script/doklink.php
# Ha a következő sornak az elején nincs #, akkor NEM lesz [Link-ide] gomb:
#doklinkcgi=

3.6.6. Akadálymentes TLWWW

Ha a könyvtár rendelkezik az akadálymentes opcióval, akkor a vak.htm oldalt használva keresésre, vakoknak és gyengénlátóknak készült formában (kevesebb részlet, képek nélkül, nagyobb betűk, kontrasztos szinek, stb.) látjuk a keresési eredményeket.

3.6.7. Olvasói állapot

Ha a könyvtár rendelkezik az olvasói állapot opcióval, akkor a homepage.htp (példa a kereső oldalra) fájlban meg kell keresni az 'Olvasoi allapot' részt. Ez megjegyzés jelek között van. Ezeket kiszedve az olvasó bejelentkezéséhez szükséges form is megjelnik a kereső oldalon.

Egy másik lehetőség: www.XXXX.hu/tlwww/_uform0.htm link elhelyezése valamely html lapon. Ez a link egy olyan oldalra visz, ahol csak bejelentkezni lehet.

3.6.8. Olvasói adatmódosítás

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Az olvasók bizonyos adataikat módosíthatják a TLWWW felületen.

tlwww.cfg megfelelő részlete:

# 1.70.xx: 1=adatmodositas, 2=email, 8=mobilszam - csak ezek
# 2.00.xx  4=emailcheck, 16=mobilcheck - is
usersets=11

3.6.9. Egyéb beállítások (könyvsegéd,hosszabbítás,DokStat)

Megadható a /usr/share/tlwww/tlwww.cfg file-ban.

Ha a könyvtár rendelkezik a web-es hosszabbítás opcióval, akkor az olvasók tudnak online hosszabbítani.

Az autolink opcióval rendelkező könyvtárakban működhet a könyvsegéd eszköz is (Lásd: www.konyvtar.hu), ha megfelelően beállítjuk.

Ha a dokumentum adatai után meg akarjuk jeleníteni a példányok állapotát is, akkor kell a DokStat beállítás.

tlwww.cfg megfelelő részlete:

# 1=DokStat    - dokumentum datai utan egybol latszanak peldany adatok is
# 2=konyvseged - generalodjon kod a konyvsegedhez
# 4=hosszabbitas-tudjon az olvaso WEB-en hosszabbitani (aki jogosult)
tlwwwsets=3

3.6.10. robots.txt

Érdemes létrehozni - ha még nincs - egy robots.txt fájlt. Ennek a bongészől által elérhető gyökér könyvtárban (pl. /var/www, /srv/www) kell lennie. Ezzel lehet a kereső motorokat (pl. Google, Yahoo) vezérelni. Az biztosan nem szrencsés, ha pl. HunMarc rekordokat tölt le a Google naponta több százat..

A robots.txt-be a következőket javasoljuk beírni:

User-agent: *
Disallow: /cgi-bin/

3.6.11. Default karakterkészlet

Megadható a /etc/httpd/ vagy /etc/apache vagy /etc/httpd/conf vagy alatti httpd.conf file-ban. Apache2 esetén a /etc/apache2/ alatti apache2.cfg. A következő beállítás a megfelelő:

AddDefaultCharSet iso-8859-2

Úgy tűnik, hiába van megadva a HTML lapokban, hogy milyen a kódkészletük, akkor megy csak minden rendesen, ha az apache-nak is meg van mondva az iso-8859-2 kódkészlet.

Másik megoldás: .htaccess fájl, abban pedig:

AddDefaultCharSet iso-8859-2

Így nem kell az apache configban változtatni.

3.7. Elérhetőség

Ha a gépnek a címe, amire a TLWWW-t telepítettük tlwww.XXX.hu, akkor a TLWWW kereső oldalt a http://tlwww.XXX.hu/tlwww/ címen találjuk meg.

Ha ezen a gépen a WEB szervert semmi másra nem használjuk, vagy azt akarjuk, hogy a http://tlwww.XXX.hu cím is a keresőlapra mutasson, akkor - root-kent - csak annyit kell tenni, ami a táblázatban látható.

13. táblázat: TLWWW - kezdőlap beállítása
Disztibúció   parancs  
Debian cd /var/www; mv index.html oldindex.html; ln -s tlwww/homepage.htm index.html
RedHat cd /var/www/html; mv index.html oldindex.html; ln -s tlwww/homepage.htm index.html

3.8. Ellenőrzés

A TLWWW része a chktlwww program, ami le tudja kérdezni, hogy rendben fut-e a TLWWW program, és eléri-e a TLSRV-t. Ha bármi változást tapasztal, akkor kiírja, mi történt. A chktlwww-t cron-ból érdemes időnként indítani, ily módon az általa kiírtakat megkaphatjuk email-ben.

A következő üzenetekkel találkozhatunk:

Csak akkor kapunk üzenetet, amikor változás történik, tehát nyugodtan lehet akár 5 percenként ellenőrizni. Ha nem fut a TLWWW, csak egyszer kapunk róla értesítést. És ha elindul, arról is csak egyet.

A chktlwww.cfg file-ban tudjuk beállítani, hogy mit akarunk ellenőrizni, és milyen üzeneteket akarunk megkapni.

Ha használni akarjuk a chktlwww-t, akkor hozzuk létre a /etc/cron.d/chktlwww file-t, és írjuk bele:
*/5 * * * * root /usr/share/tlwww/chktlwww

4. TLZ3950

A TLZ390 azért készült, hogy a TextLib adatbázist Z39.50 protokollon is le lehessen kérdezni.

4.1. Telepítés

A telepítés a TLWWW-vel azonos módon történik, mint az a (táblázatban) is látható.

14. táblázat: TLZ3950 - telepítés
Disztibúció   parancs  
Debian dpkg -i textlib-z3950-2.00.02-3.deb
RedHat rpm -i textlib-z3950-2.00.02-3.i386.rpm

Ahol természetesen az utolsó paraméter az Infokertől kapott .deb illetve .rpm file pontos neve.

A TLZ3950 használatához szükség lesz a libstdc++ csomagra, így azt is telepíteni kell!

4.2. Felújítás

A TLZ3950 felújító csomagját letölthetjük a TextLib honlapjáról (táblázat). Ezzel csak a meglévő TLZ3950 frissíthető, telepítésre nem alkalmas!

15. táblázat: TLZ3950 - felújító csomag letöltési helye
Disztibúció   verzió   letöltési hely  
Debian 2.00.xx TextLib Honlap (http://textlib.hu/debian/dists/V2/main/binary-i386/)
RedHat 2.00.xx TextLib honlap (http://textlib.hu/rpm.200/)

Ha beszereztük a legújabb felújító csomagot .deb ill. .rpm formátumban, akkor ebből a felújítást hasonlóan kell csinálni, mint a telepítést, lásd táblázat.

16. táblázat: TLZ3950 - felújítás
Disztibúció   parancs  
Debian dpkg -i textlib-z3950-1.60.10-4-felujito.deb
RedHat rpm -F textlib-z3950-1.60.10-4.i386.rpm

4.3. Eltávolítás

Amennyiben szeretnénk eltávolítani a TLZ3950-et, úgy azt megtehetjük a (táblázatban) látható parancsokkal.

17. táblázat: TLZ3950 - eltávolítás
Disztibúció   parancs  
Debian dpkg --remove textlib-z3950
RedHat rpm -e textlib-z3950

4.4. Használat

A TLZ3950 a háttérben indul el, a következő paranccsal indítható:

tlzvezer start

Amennyiben minden sikerült, akkor:

TextLib Z3950: inditas ... OK

Ellenkező esetben nézzük meg, mi okozta a problémát. A log file (/var/log/tlz3950/tlz3950.log) végét lehet egyszerűen kiiratni a következő paranccsal:

tlzvezer info

A tlzvezer stop parancsal le is állíthatjuk a TLZ3950-et.

Azért, hogy a számítógép indításakor a TLZ3950 is automatikusan elinduljon a telepítő a /etc/rcN.d/ könyvtárba létrehoz egy S98textlib-z3950 linket, ami a /etc/init.d/textlib-z3950-re mutat. Debian esetén az N helyén 2 szerepel, RedHat-nál pedig 3.

4.5. File-ok

A TLZ3950 könyvtárszerkezete, és az egyes könyvtárakban található fontosabb config file-ok (Debian disztribúció alatt) láthatók a táblázatban.

18. táblázat: TLZ3950 - config file-ok
/usr/share/tlz3950/   Programok, config file-ok  
tlz3950.cfg TLZ3950 paraméterek (pl. port)
tlgw3.cfg TLSRV cime, egyéb paraméterek (TLSRV-TLZ3950 kommunikáció)
/var/log/tlz3950/ log file-ok

4.6. Beállítások

A TLZ3950 telepítése után néhány dolgot be kell állítani, mielőtt még elkezdenénk használni.

4.6.1. TextLib szerver címe

Megadható a /usr/share/tlz3950/tlz3950.cfg file-ban.

Már csak a TCP protokoll használatát javasoljuk!

network = tcp
servertcp = 10.3.0.14:11345
loglevel = 1

Ez a legfontosabb, hiszen e nélkül a TextLib WWW nem tud kommunikálni a TextLib szerverrel. Abban az esetben, ha a TextLib WWW ugyanazon a gépen fut, amelyiken a TextLib szerver is, akkor nincs semmi teendő, mert a default beállítás pont megfelel (servertcp=127.0.0.1:11345)

4.6.2. Tűzfal beállításai

A TLZ3950 programot TCPIP-n érik el kívülről, ezért a tlz3950.cfg-ben megadott portot (default: 5210) be kell engedni a tűzfalon).

5. Automatikus program felújítás - Debian

Ez csak Debian Linux alatt működik (32 és 64 bites is), a többi disztribúció esetében kézzel kell letölteni a felújító csomagot, és kézzel megcsinálni a felújítást.

Az előző részben már megnéztük, hogyan frissíthetjük a TextLib rendszerünket. A fentebb vázolt frissítés hátránya, hogy folyamatosan figyelemmel kell tartani, hogy készült-e újabb verzió, ha igen, akkor honnan tölthető le, majd "kézzel" le kell tölteni és telepíteni. A debian rendelkezik egy kényelmesen használhatóm csomagkezelővel, ami a már feltelepített programok frissítését könnyíti meg. Elöször be kell állítani, hogy a TextLibet honnan frissítse, ehhez a /etc/apt/source.list file végére helyezzük el a következő sort:

deb http://www.textlib.hu/debian V2 main

A frissítés (TLSRV, TLWWW stb.) a következő parancsok megadásával történik. A felújításhoz előbb le kell állítani a szervereket.

apt-get update
apt-get install textlib-szerver
apt-get install textlib-www
apt-get install textlib-wlm
apt-get install textlib-msg
apt-get install textlib-z3950

Persze csak azokat a csomagokat kell felújítani, amik a gépre már telepítve vannak :-)

A textlib-wlm csomag a winkliens modulokat tartlamazza. A z3950 csomag a TextLib Z3950 szerver, az msg pedig a TextLib üzenetköldő (email/sms).

A képernyőn valami hasonlót kell látnunk:

TextLib:~# apt-get -u upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
   textlib-szerver
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 3476kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n]
    Get:1 http://textlib.hu sarge/main textlib-szerver 1.60.09-6 [3476kB]
Fetched 3476kB in 35s (97.5kB/s)
(Reading database ... 15027 files and directories currently installed.)
Preparing to replace textlib-szerver 1.60.09-4
    (using .../textlib-szerver_1.60.09-6_i386.deb)
TextLib szerver felujitasa...
groupadd: group textlib exists
useradd: user textlib exists
Unpacking replacement textlib-szerver ...
Setting up textlib-szerver (1.60.09-6) ...
V1.60.07, IK1995T0201, 10 felhasználó, 000d023f jog
Karcagi Városi Könyvtár

6. logrotate

A TLSRV és TLWWW 1.61.00-6-nál újabb verziói már használják a Linux logrotate nevű programját. Ez annyit jelent, hogy létrehoznak egy file-t (táblázat) , amiben a logrotate-nek szóló beálltások vannak.

19. táblázat: logrotate - file-ok
program   file neve  
TLSRV /etc/logrotate.d/textlib
TLWWW /etc/logrotate.d/textlib-www
TLZ3950 /etc/logrotate.d/textlib-z3950
TLMSG /etc/logrotate.d/textlib-msg

A default beállítások szerint a log file-ok naponta rotálódnak, két hétre visszamenőleg maradnak meg, a két napnál régebbiek tömörítődnek. Ilyen file-listával találkozhatunk például a TLWWW esetén:

-rw-rw-r--  1 textlib  textlib       281 okt 14 13:51 tlgw.log
-rw-rw-r--  1 textlib  textlib     13878 okt 14 07:36 tlgw.log.1
-rw-rw-r--  1 textlib  textlib      1576 okt 13 07:36 tlgw.log.2.gz
-rw-rw-r--  1 textlib  textlib      4006 okt 12 07:36 tlgw.log.3.gz
-rw-rw-r--  1 textlib  textlib        99 okt 14 13:51 tlwww.log
-rw-rw-r--  1 textlib  textlib       736 okt 13 07:36 tlwww.log.1
-rw-rw-r--  1 textlib  textlib       206 okt 12 07:36 tlwww.log.2.gz

7. Fontosabb változások

7.1. tlgw*.cfg helyett tlwww.cfg - 2013 június 11

Már csak a TCP protokoll használatát javasoljuk! A TLWWW, TLZ3950, TLMSG programok esetében is.

A megfelelő .cfg-ben (tlwww.cfg, tlz3950.cfg tlmsg.cfg) kell megadni a TextLib szerver IP cim + port adatot.

network = tcp
servertcp = 10.3.0.14:11345
loglevel = 1

7.2. tl_vezer paraméterek - 2007. március 1

A tl_vezer még több paramétert megért. Ezek az info, run, ver, backup, naplo, list

Részletek a tl_vezer pontban.

7.3. Tűzfal beállítások - 2006. auguszutus 8

Ha tűzfalon (firewall) keresztül érjük el a TextLib szervert, akkor a tűzfalon persze engedélyezni kell a megfelelő portokat. Ilyenkor csak az UDP protokoll jön szóba, a használt portok pedig a következők (kivéve, ha direkt mást adtunk meg):

7.4. SELinux - 2006. június 20

SELinux használata esetén (a Fedora Linux pl. telepítéskor felajánlja) a TLWWW nem működik rendesen. Úgy lehet rávenni a működésre, ha kiadjuk a

setenforce 0

parancsot. Biztosan van ennél jobb megoldás is, de még nem ismerjük :-(

7.5. Biztonsági mentés - 2006. június 1

A biztonsági mentés sokat okosodott:

A biztonsági mentés részletes leírása.

7.6. chktlwww script - 2006. április 25

Az 1.70 verziótól kezdve használható egy TLWWW ellenőrző script is. Ez időnként megnézi, hogy a TLWWW rendben fut-e, és eléri-e a TLSRV-t. Ha változáast tapasztal az előző futáshoz képest, akkor figyelmeztet. Részletek a pontban.

2004. március -
Gr„ff Zoltán, Szabó István