Server ja selle püstipanek

Laadides alla EELexi paki, võib EELexi serveri endale püsti panna igaüks, kellel on kasutada Perli interpretaator ja veebiserver. Serveriks võib olla Unix/Linux/Windows. Veebiserveriks võib peale Apache'i olla mistahes muu server, mis oskab kasutada Apache'i-laadset ligipääsuõiguste süsteemi. Kasutajate autoriseerimine toimub nn Digest Authentication abil. Võimalik on ka veebiserver (Apache) paigaldada Windowsi tööarvutisse.

Serverisse installeeritavad lisakomponendid – Perli moodulid – sõltuvad serveri operatsioonisüsteemist. Apache’i konfigureerimine on Apache’i versiooniti erinev. Samuti on mooduleid võimalik installeerida mitmel moel: kasutades nt mingit „Package Manager“-i või laadida moodulid käsitsi CPAN moodulite lehelt ning käivitada vastavad paigaldusskriptid. Seetõttu ei kirjeldata siinses juhendis moodulite täpset installeerimisprotsessi, vaid ainult loetletakse vajalikud moodulid.

EELex on välja töötatud Eesti Keele Instituudis. Eesti Keele Instituut ei võta endale mingit vastutust EELex paki installeerimisel ja kasutamisel tekkida võivate probleemide korral.

Perli moodulid

Käesoleva juhendi koostamisel võeti aluseks näidispaigaldus Ubuntu Linux 10.04 32-bitisel platvormil (EELex töötab Eesti Keele Instituudis Free-BSD Unix platvormil). Unbuntuga olid vaikimisi installeeritud Apache 2.2 veebiserver ja Perl 5.10. Allolevas nimekirjas on moodulid versiooni numbriga siis, kui vastav moodul puudus serveri paigaldusest ning moodul tuli installeerida. Kui versiooni numbrit pole, siis oli ta näidispaigalduses juba olemas.

Paigaldamine

Kopeerida „eeL3ex_Pakk_*.tgz veebiserveri juurkataloogi (/var/ww). Pakkida lahti. Tekivad kataloogid EELex ja shs_users. Kataloog EELex on EELexi süsteemi juurkataloog ning andmed tema kohta tuleb lisada ka Apache konfiguratsioonifaili (/etc/apache2/sites-available/default):
<Directory /var/www/EELex>
AddHandler cgi-script .cgi
DirectoryIndex index.html index.htm index.cgi
Options ExecCGI FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
</Directory>
Kui Apache veebiserveri „mime.types“ failis ei ole ikoonifailid (*.ico) kirjeldatud, tuleb seda teha, lisades rea:
image/x-icon ico
*.cgi failides on Perl-i interpretaatori asukohaks märgitud „/usr/bin/perl“. Kui see on antud serveris erinev, on võimalik nt teha symlink asukohaga /usr/bin/perl ning mis viib tegelikku asukohta. Peale nende muudatuste tegemist on EELexi süsteem kättesaadav aadressil http://server.domeen.ee/EELex kataloogist.

Juurkataloogi ülesehitus

Peale kodulehe index.html on näha kataloogid shs ja shs_test. Need on vastavalt EELexi süsteemi tööbaasi kataloog ja testbaasi kataloog. Töö- ja testbaasi kataloogid on üldjuhul (peale nt faili .htaccess) identsed. Edasine struktuur on järgmine:

Kasutajate haldus

Kasutajaõiguste kontroll on EELexis integreeritud veebiserveri ligipääsuõigustega. Kõik EELexi registreeritud kasutajanimed ja paroolid on koondatud faili /shs_users/shs_digest_users.txt ning suur osa töökataloogidest ja failidest on veebis nähtavad ainult registreeritud kasutajatele. Seda, kas kasutajal on õigused konkreetsele sõnaraamatule toimetaja või vaatajana, määrab tööversiooni jaoks fail /shs_users/shs_groups.txt ja testversiooni jaoks shs_test_groups.txt. Nende sisu kasutab lisaks veebiserverile ka sõnastike liides. Toimetaja õigused on grupi grp_*sid+ liikmetel, vaataja õigused annab grupp quest_*sid+ (*sid+ on sõnastiku kolmetäheline identifikaator). Grupp shs_DEV on arendajatele, ning annab kõik õigused kõigile sõnaraamatutele. shs_TEH on sisemiseks kasutuseks.

Ehkki kasutajaid saab lisada ja kustutada veebiserveri standardvarustusse kuuluva programmiga htdigest, on EELexil töö hõlbustamiseks kaasas paar lisaprogrammi kataloogis EELex/shs_access/. ankeet.cgi on uue kasutaja andmete sisestamiseks, halda.cgi sõnastikuõiguste andmiseks/keelamiseks olemasolevatele kasutajatele ning login.cgi kiireks sisselogimiseks sõnastikesse. Need abiprogrammid eeldavad, et sõnastikud on eelnevalt olemas ning nende andmed on kantud faili /EELex/lexlist.xml

Kasutaja lisamise protseduur on järgmine:
  1. Uus kasutaja avab ankeet.cgi ning sisestab oma andmed. NB! kasutaja soovitud parool jääb lahtise tekstina kirja faili ankeet.txt. NB! kui kasutaja ei ole nõus automaatselt genereeritud kasutajanimega kujul eesnime esitäht pluss perekonnanimi, tuleb seda muuta käsitsi.
  2. Haldur (arendaja, peatoimetaja vm, s.t nõutav on grp_DEV) avab halda.cgi ning otsustab avanenud veebilehe ülemises osas kuvatud ootel ankeetide kohta, kas need kustutada (soovimatu kasutaja, spämm vms) või lisada uueks EELexi kasutajaks. NB! Muutused rakenduvad koheselt.
  3. Haldur klõpsab registreeritud kasutaja nimel lehe allpoolses osas ning saab lisada või ära võtta õigusi sõnaraamatutele.

Kasutaja kustutamiseks tuleb avada halda.cgi, klõpsata kasutajanimel ning klõpsata lingil Kustuta see kasutaja. Juhul, kui kasutajal oli eelnevalt täidetud ankeet, ilmub see nüüd tagasi ootel ankeetide nimekirja. See annab võimaluse kasutaja kas taastada (nt kogemata kustutamisel, taastuvad ka kõik varem kehtinud õigused sõnaraamatutele) või kustutada ka ankeet.

Parooli või oma meiliaadressi muutmine liidese kaudu on võimalik kaudsete vahenditega. Kasutaja täidab uue ankeedi muutunud andmetega ning halduril on paari klõpsuga võimalik olemasolev kasutaja kustutada. Kustutada ootel ankeetide hulgast esimese(d) selle kasutaja ankeedi(d), jättes alles vaid nimekirjas viimase. Lisada kasutaja tagasi.

Tehniliste kontode ning arendajate-haldajate nimekirja saab grupifailis muuta ainult käsitsi.