# Instalimi i Moodle

> Ky udhėrrėfyes shpjegon si ta instalosh Moodle pėr herė tė parė. Ai shkon nė detaje pėr disa hapa, pėr tė mbuluar njė gamė tė gjerė ndryshimesh tė vogla midis web server tė setup-eve tė web server, kėshtu qė ky dokument mund tė duket i gjatė dhe i komplikuar. - Zakonisht unė kryej setup-in e Moodle nė pak minuta!

> Harxho pak kohė pėr kėtė dokument - qė tė mos harxhosh kohėn mė vonė.

> Seksionet nė kėtė dokument:

> 1. Kėrkesat
> 2. Download
> 3. Struktura e Site-it
> 4. Krijo njė direktori pėr tė dhėnat (data)
> 5. Krijo njė databazė
> 6. Kontrollo vendosjet e web server-it
> 7. Edito config.php
> 8. Shko te faqja admin
> 9. Ndėrto cron
> 10. Krijo njė kurs tė ri

### 1. Kėrkesat

> Moodle ėshtė zhvilluar kryesisht pėr Linux duke pėrdorur Apache, MySQL dhe PHP (gjithashtu e njohur si platforma LAMP), por ėshtė e testuar edhe me PostgreSQL dhe nė sistemet operative: Windows XP, Mac OS X dhe Netware 6

> Kėrkesat pėr Moodle janė:

> 1. Web server software. Shumica e njerėzve pėrdorin Apache, por Moodle duhet tė punojė mirė nė ēdo web server qė suporton PHP, si IIS nė platforma Windows .
> 2. PHP gjuha e skriptimit (versioni 4.1.0 ose mė vonė), me kėto vendosje:
>    - GD library e kthyer nė ON, me suport pėr formatet JPG dhe PNG
>    - zlib library e kthyer ON (nėse don tė pėrdorėsh backup/restore nė Windows)
>    - Sessions support e kthyer nė ON
>    - File uploading e kthyer nė ON
>    - Safe Mode duhet tė kthehet OFF (shiko forume nė moodle.org pėr probleme z“tė shkaktuara nga Safe Mode)
> 3. njė server databaze funksionuese: MySQL or PostgreSQL janė krejt tė suportara dhe rekomandohet pėr pėrdorim me Moodle 1.1. Tė gjitha databazat e tjera do tė suportohen nga versionet pasardhėse.

> Shumica e web host-eve e suportojnė gjithė kėtė nė mėnyrė default. Nėse ju jeni tė regjistruar nė nga ato pak webhost-e qė nuk suportojnė kėtė veēori pyet pėrse, dhe shiko mundėsinė e webhost-eve tė tjerė.

> Nėse do qė Moodle tė ekzekutohet nė kompjuterin tuaj dhe gjithēka duket paksa e tmerrshme, atėhere shiko guidėn tonė: Installing Apache, MySQL and PHP. Aty jepen disa instruksione tė instalimit hap-pas-hapi nė shumicėn e platformave tė njohuara.

### 2. Download

> Ka dy mėnyra pėr ta marrė Moodle, si njė paketė tė kompresuar dhe nėpėrmjet CVS. Kėto janė shpjeguar me hollėsi nė faqen e download-imit: http://moodle.org/download/

> Pas download-imit dhe ēpaketimit tė arshivės ose kontrollit tė skedarėve nėpėrmjet CVS, do tė keni njė direktori tė quajtur "moodle", e cila pėrmban njė numėr skedarėsh dhe folderash.

> Ju mund ta vendosni krejt folder-in nė direktorinė e dokumentave tė web server-it tuaj, e nė kėtė rast site-i do jetė alokuar nė http://yourwebserver.com/moodle, ose ta kopjoni gjithė pėrmbajtjen drejtpėrsėdrejti nė direktorinė e dokumentave tė web server-it kryesor , e nė kėtė rast site-i do tė jetė thjesht http://yourwebserver.com.

### 3. Struktura e Site-it

> Kėtu ėshtė njė pėrmbledhe e shkurtėr e pėrmbajtejes sė folderit tė Moodle, pėr tju ndihmuar qė tė orientoheni:

> > config.php - i VETMI skedar qė duhet tė editoni pėr z“tė filluar
> > version.php - pėrcakton versionin korent tė kodit tė Moodle
> > index.php - faqja front e site-it

> > - admin/ - kodi i administrimit tė krejt server-it
> > - auth/ - modulet plugin pėr autentifikimin e pėrdoruesve
> > - course/ - kodi pėr shfaqjen dhe menaxhimin e kurseve
> > - doc/ - dokumentimi ndihmues pėr Moodle (psh kjo faqe)
> > - files/ - kodi i shfaqjes dhe menxhimit tė skedarėve tė ngarkuar
> > - lang/ - tekstet nė gjuhė tė ndryshme, nga njė direktori pėr ēdo gjuhėe
> > - lib/ - biblotekat e kodeve tė bėrthamės sė Moodle
> > - login/ - kodi pėr menxhimin e logimeve dhe krijimin e llogarive
> > - mod/ - tė gjitha modulet e kurseve tė Moodle
> > - pix/ - grafika e site-it
> > - theme/ - tema packs/skins pėr tė ndryshuar pamjen e site-it.
> > - user/ - kodi i shfaqjes dhe menaxhimit tė pėrdoruesve

### 4. Krijo njė direktori tė dhėnash

> Moodle ka nevojė pėr ca hapėsirė nė hard disk tuaj pėr tė ruajtur skedarėt e ngarkuar, tė tilla si dokumenta kursi dhe foto pėrdoruesish.

> Krijo njė dirketori diku pėr kėtė qėllim. Pėr siguri, ėshtė mirė qė kjo dirketori tė MOS jetė e aksesueshme nėrmjet web-it. Mėnyra mė e lehtė pėr ta bėrė kėtė ėshtė thjesht ta alokosh atė JASHTE direktorisė web, pėrndryshe duhet ta mbrosh atė me krijimin e njė skedari nėdirektorinė e tė dhėnave tė quajtur .htaccess, i cili pėrmban rrehstin:

> >     deny from all

> Pėr tu siguruar qė Moodle mund tė ruajė skedarėt e ngarkuar nė kėtė direktori, kontrollo qė software i web server-it (psh Apache) e ka lejen tė shkruajė nė kėtė direktori. Nė makinat Unix, kjo do tė thotė qė pronar (owner) i kėsaj direktorie tė jetė si "nobody" ose "apache".

> Nė shumė hosting servera, ju duhet ta kufizoni aksesin e skedarėve vetėm te "group"-i juaj (pėr tė ndaluar klientėt e tjerė tė webhost nga shikimi ose ndryshimi i skedarėve tuaj) . Fol me administratorin e serverit nėse keni probleme pėr kėtė siguri.

### 5. Krijo njė databazė

> Ju duhet tė krijoni njė databazė bosh (psh "moodle") nė sistemin e databazave tuaja me njė pėrdorues tė veēantė (psh "moodleuser") qė ka akse te kjo databazė (dhe vetėm tek kjo databazė). Ju mund tė pėrdorni pėrdoruesin "root" nėse dėshironi, por kjo nuk ėshtė e rekomandueshme pėr njė system: nėse hacker-at ja arrijnė ta zbulojnė password-in atėhere krejt sistemi juaj i databazave do tė jetė nė rrezik, e jo vetėm databaza juaj.

> Shembull i rreshtit tė komandės pėr MySQL:

>        # mysql -u root -p
>        > CREATE DATABASE moodle;
>        > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
>                TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
>        > quit
>        # mysqladmin -p reload

> Shembull i rreshtit tė komandės pėr PostgreSQL:

>        # su - postgres
>        > psql -c "create user moodleuser createdb;" template1
>        > psql -c "create database moodle;" -U moodleuser template1
>        > psql -c "alter user moodleuser nocreatedb;" template1

> (Pėr MySQL unė rekomandoj pėrdorimin e phpMyAdmin pėr tė menxhuar databazat tuaja - ju mund ta bėni kėtė nėpėrmjet njė web interface).

> Sikurse te versioni 1.0.8, Moodle tashmė suporton prefikset e tabelabe, dhe mund bėjė share njė databazė me tabelat e aplikimeve tė tjera.

### 6. Kontrollo vendosjet e web serverit tuaj

> Sė pari, sigurohu qė web serveri mund ta pėrdori index.php si njė faqe default (ndoshta krahas me index.html, default.htm dhe etj.).

> Nė Apache, kjo bėhet duke pėrdorur parametrin DirectoryIndex nė skedarin tuaj httpd.conf Imi duket zakonisht si ky:

> >     DirectoryIndex index.php index.html index.htm

> Vetėm sigurohu qė index.php ėshtė nė kėtė listė (preferencialisht nga fillimi i listėst).

> Sė dyti, nėse po pėrdorni Apache 2, atėhere duhet ta ktheni nė on variablin AcceptPathInfo , i cili lejon qė skriptimet tė kalohen me argumente si http://server/file.php/arg1/arg2. Kjo ėshtė esenciale pėr tė lejuar link-e ndėrmjet resource-ve tuaja, dhe gjithashtu jep njė ngritje performance pėr pėrdoruesit e site-it tuaj Moodle. Ju mund ta ktheni nė on duke shtuar kėto rradhė nė skedarin tuaj httpd.conf file.

> >     AcceptPathInfo on

> Sė treti, Moodle kėrkon njė numėr vendosjesh PHP settings qė tė aktivizohen pėr kėtė punė. Nė shumicėn e serverave kėto janė vendosje default. Megjithatė, disa servera PHP (dhe ca versione tė vjetra tė PHP) mund ti kenė tė vendosura ndryshe. Kėto quhen skedar konfigurimi tė PHP (zakonisht tė quajtur php.ini):

> >     magic_quotes_gpc = 1    (e preferushme por jo e domosdoshme)
> >     magic_quotes_runtime = 0    (necessary)
> >     file_uploads = 1
> >     session.auto_start = 0
> >     session.bug_compat_warn = 0

> Nėse ju nuk keni akses te httpd.conf ose php.ini nė serverin tuaj, ose keni Moodle nė njė server me aplikime tė tjera qė kėrkojnė vendosje tė ndyshme, atėhere mos u shqetėso, ju mund mbishkruani gjithēka duke vendosur parametrat default.

> Pėr ta bėrė kėtė, ju duhet tė krijoni njė skedar tė quajtur .htaccess nė direktorinė kryesore tė Moodle i cili tė pėrmbajė pėrcaktimet e kėtyre vendosjeve. Kjo mund tė funksionojė vetėm nė Apache servera dhe vetėm kur "Overrides" janė tė lejueshme.

> >     DirectoryIndex index.php index.html index.htm

> >     <IfDefine APACHE2>
> >          AcceptPathInfo on
> >     </IfDefine>

> >     php_flag magic_quotes_gpc 1
> >     php_flag magic_quotes_runtime 0
> >     php_flag file_uploads 1
> >     php_flag session.auto_start 0
> >     php_flag session.bug_compat_warn 0

> Ju mund tė pėrcaktoni edhe pėrmasat maksimale tė skedarėve tė ngarkuar:

> >     LimitRequestBody 0
> >     php_value upload_max_filesize 2M
> >     php_value post_max_size 2M

> Gjėja mė e lehtė ėshtė vetėm tė kopjosh skedarin shembull nga lib/htaccess dhe ta editosh atė sipas nevojave tuaja. Ai pėrmban instruksione tė mėtejshme. Pėr shembull, nė njė Unix shell:

> >     cp lib/htaccess .htaccess

### 7. Edit config.php

> Tashmė ju mund tė editoni skedarin e konfigurimit, config.php, duke pėrdorur njė editor teksti. Ky skedar pėrdoret nga tė gjithė skedarėt e tjerė tė Moodle.

> Para se tė fillosh, bėj njė kopje tė config-dist.php dhe emėrtoje atė config.php. Ne e bėjmė kėtė nė mėnyrė qė skedari juaj config.php tė mos mbishkruhet nė rast se ju bėni upgrade tė Moodle mė vonė.

> Edito config.php pėr tė specifikuar detajet e databazės qė ju keni pėrcaktuar (duke pėfshirė njė prefiks table - vini re se kjo KERKOHET pėr PostgreSQL), si edhe adresėn e site-it, direktorinė e "file system" dhe atė tė "data". Skedari config vetė ka detaje dhe shembuj.

> Pasi e keni bėrė kėtė pjesa tjetėr e instalimit ėshtė nėpėrmjet njė web interface. Nė pjesėn tjetėr tė kėtij dokumenti instalimi ne do supozojmė qė adresa e site-it tuaj ėshtė: http://example.com/moodle

### 8. Shko te faqja admin

> Faqja admin duhet tė punojė nė: http://example.com/moodle/admin. Nėse provoni ta aksesoni faqen "front page" tė site-it tuaj, ju do tė shkoni automatikisht aty. Herėn e parė qė ju aksesoni faqen admin, do tju paraqitet me njė GPL "shrinkwrap" marrveshje me tė cilėn ju duhet tė bini dakort para se tė mund tė vazhdoni me setup.

> (Moodle do pėrpiqet edhe qė tė vendosė ca cookies nė browser-in tuaj. Nėse ju e keni setup-in e browser-it qė tė pranojė cookies, atėhere ai must i pranon cookies e Moodle, pėrndryshe Moodle nuk do funksionojė mirė.)

> Tani Moodle do fillojė tė ndėrtojė databazėn tuaj dhe tė krijojė tabela pėr tė ruajtur tė dhėna. Sė pari, krijohen tabelat e databazės. Ju duhet tė shikoni njė numėr komandash tė SQL tė pasuara nga mesazhe (tė kuqe nė tė gjelbėr) qė duken si kjo:

> > CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default '', fullname varchar(254) NOT NULL default '', shortname varchar(15) NOT NULL default '', summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM

> > SUCCESS

> > ...e kėshtu mė tej, tė pasuara nga: Main databases set up successfully.

> Nėse nuk i shikoni kėto, atėhere duhet tė ketė ndonjė problem me databazėn ose me parametrat e konfigurimit tė pėrcaktuara nė config.php. Kontrollo qė PHP nuk ėshtė nė modėn "Safe Mode" (web hostet shpesh e venė safe mode nė "on"). Ju mund tė kontrolloni variablat PHP duke krijuar njė skedar tė vogėl qė pėrmban <? phpinfo() ?> dhe shikoje atė nėpėrmjet browser-it. Kontrollo gjithė kėto dhe provo kėtė faqe pėrsėri.

> Shko poshtė nė fund tė faqes dhe shtyp link-un "Continue" .

> Mė pas do tė shikoni njė faqe tė ngjashme qė ndėrton tablat e kėrkuar nga ēdo modul Moodle. Si mė parė, ato duhet tė jenė tė gjitha jeshile.

> Shko poshtė nė fund tė faqes dhe shtyp link-un"Continue" .

> Ju duhet tė shikoni tani njė formė ku pėrcaktohen mė shumė variabla tė konfigurimit pėr instalimin tuaj, si gjuha default, SMTP hosts etj. Mos u shqetėsoni shumė mbi kryerjen e gjithēkaje tani - gjithmonė mund tė ktheheni mbrapsht dhe ti editoni kėto mė vonė duke pėrdorur interfejsin e admin. Shko poshtė nė fund dhe kliko click "ruaj ndryshimet".

> Nėse ju e gjeni vehten tė ngecur nė kėtė faqe, pa mundur tė vazhdosh, atėhere serveri ka njė problem qė unė e quaj "buggy referrer" . Kjo ėshtė e lehtė pėr ta rregulluar: kthejeni nė off vendosjen "secureforms" dhe provo edhe njėherė.

> Faqja tjetėr ėshtė njė formė ku ju mund tė pėrcaktoni parametrat pėr site-in tuaj Moodle dhe front page, si emri, formati, pėrshkrimi etj. Plotėso kėtė formė (ju mund tė ktheheni mbrapsht dhe ti ndryshoni mė vonė) dhe shtypni "Ruaj ndryshimet".

> Sė fundi, ju do tė pyeteni pėr krijimin e njė pėrdoruesi administrues i nivelit mė tė lartė pėr aksesim tė mėtejshėm tė faqeve admin. Plotso me detaje me emrin tuaj, email etj. dhe mandej kliko "Ruaj ndryshimet". Jo tė gjitha fushat jan tė domosdoshme, por nėse shmagni ndonjė fushė tė rėndėsishme do tu kėrkohet ta mbushni atė.

> > > > > > Sigurohuni qė ta mbani mend username dhe password-in qė ju zgjodhėt pė llogarinė e pėrdoruesit administrator, sepse do tju duhet pėr tė aksesuar faqen e administrimit mė vonė.

> (Nėse pėr ndonjė arsye instalimi juaj ėshtė ndėrprerė, ose ka ndonjė system error qė ju pengon tė logoheni duke pėrdorur llogarinė admin, ju mund tė pėrdorni njė default username tė "admin", me password "admin".)

> Pas suksesit, ju do tė riktheheni te home page i site-it tuaj. Vini re link-et e administrimit qė shfaqen poshtė majtas faqes (kėto ēėshtje do tė shfaqen tė ndara n?7 faqen Admin) - kėto ēėshtje janė tė dukshme pėr ju sepse jeni loguar si admin user. I gjithė administrimi i mėtejshėm i Moodle mund tė bėhet duke pėrdorur kėtė menu, si:

> - krijo dh fshi kurse
> - krijo dhe edito llogari tė pėrdoruesve
> - administrimi i llogarive tė mėsuesve
> - ndryshimi i vendosjeve tė site-it si temat etj.

### 9. Ndėrto cron

> Disa nga modulet e Moodle kėrkojnė tė kryhen kontrolle tė vazhdueshme. Pėr shembull, Moodle ka nevojė tė kontrollojė forumet e diskutimeve qė tė mund tė dėrgojė kopje t?7 postimeve te njerėz qė janė regjistruar.

> Skripti qė e bėn gjithė kėtė ėshtė lokalizuar nė direktorinė admin, dhe quhet cron.php. Megjithatė, ai mund tė mos ekzekutohet vet vetio, kėshtu qė ju duhet tė ngrini njė mekanizėm ku ky skript ekzekutohet rregullisht (psh ēdo 5 ose 10 minuta). Kjo jep njė "heartbeat" kėshtu qė skripti mund t?7 kryejė funksionet nė perioda tė pėrcaktuara ng ēdo modul.

> Vini re qė makina qė kryen cron-in nuk ka nevojė tė jetė e njėjta makinė qė ekzekuton Moodle. Psh, nėse keni njė server web tė kufizuar qė host-on shėrbimin qė nuk ka cron, atėhere ju mund tė zgjidhni ta ekzekutoni cron-in nė njė server tjetėr nė kompjuterin tuaj. Gjithė puna ėshtė qė skedari cron.php tė thirret regullisht.

> Ngarkesa e kėtij skripti nuk ėshtė e lartė, kėshtu qė ēdo 5 minuta ėshtė e arsyeshme, por nėse jeni nė merak pėr tė mund ta reduktoni nė 15 minuta ose edhe 30 minuta. Eshtė mė e mira mos ta bėni periodėn kohore shumė tė gajtė, sepse vonesat e dėrgimit tė email-ve mund ta ngadalėsojė aktivitetin brenda kursit.

> Sė pari, testoni kėtė skript duke e ekzekutuar drejt nga browser-i juaj:

> >     http://example.com/moodle/admin/cron.php

> Tani, ju duhet tė ngrini njė mėnyrė pėr ta ekzekutuar skriptin automatikisht dhe regullisht.

> #### Ekzekutimi i skriptit nga rresht komanda

> Ju mund ta thirni faqen nga rresht komanda siē bėtė tek shembulli mė lart. Pėr shembull, ju mund tė pėrdorni njė utilitet tė Unix-it si 'wget':

> >     wget -q -O /dev/null http://example.com/moodle/admin/cron.php

> Vini re qė nė kėtė shembull rezultati ėshtė flakur (te /dev/null).

> E njėjat gjė kur pėrdoret lynx:

> >     lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

> Alternativisht ju mund tė pėrdorni njė version standalone tė PHP, i kompiluar tė ekzekutohet nė rresht komandė. Avantazhi i kėsaj ėshtė qė logimet e web serveri juaj nuk janė tė mbushura me kėrkesa konstante pėr cron.php. Disavantazhi ėshtė se ju duhet tė keni akses te versioni command-line version i php.

> >     /opt/bin/php /web/moodle/admin/cron.php

> >     (Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php

> #### Automatikisht ekzekuton skriptin ēdo 5 minuta

> Nė sisteme Unix: Pėrdor cron. Edito vendosjet e cron nga commandline duke pėrdorur "crontab -e" dhe duke shtuar njė rresht si:

> >     */5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

> Zakonisht, komanda "crontab" do tju vejė nė editorin 'vi'. Ju hyni nė "insert mode" duke shtypur "i", mandej shtyp rreshtin e mėspėrm, pastaj dil nga moda "insert mode" duke shtypur ESC. Ju e ruani dhe dilni duke shtypur":wq", ose dilni pa e ruajtur duke shtypur ":q!" (pa thonjėza).

> Nė sistemet Windows: Mėnyra mė e thjeshtė ėshtė tė pėrdorni kėtė paketė tė vogėl moodle-cron-for-windows.zip e cila e bėn gjithė kėtė gjė shmė tė lehtė. Ju mund tė eksploroni duke pėrdorurveēoritė e Windows pėr "Scheduled Tasks".

> Nė web host-ėt: Paneli juaj i kontrollit web-based mund tė ketė njė faqe web qė ju lejon tė ngrini njė proces cron. Pyesni administratorin tuaj pėr detaje se si funksionon.

### 10. Krijo kurs tė ri

> Tashmė qė Moodle ekzekutohet mirė, ju mund tė krijoni njė kurs.

> Zgjidh "Krijo njė kurs tė ri" nga faqja Admin (ose link-u admin nė home page).

> Plotėso formėn, duke patur kujdes te formati i kursit. Nuk duhet tė shqetėsoheni pėr detaje shumė nė kėtė fazė, sepse ēdo gjė mund tė ndryshohet mė vonė nga mėsuesi.

> Shtyp "Ruaj ndryshimet", dhe ju do kaloni nė njė formė tjetėr ku ju mund tė caktoni mėsues pėr kursin. Ju mund tė shtoni llogaritė e pėrdoruesve ekzistues nga kjo formė - nėse doni tė krijoni njė llogari tė re mėsuesi atėhere ose kėrko qė mėsuesi tė krijojė njė nga vetvetja (shiko faqen login), ose krijo njė prej tyre duke pėrdorur "Shto njė pėrdorues tė ri" nė faqen Admin.

> Pasi bėhet kjo, kursi ėshtė gati pėr tu personalizuar, dhe ėshtė i aksesueshėm nėpėrmjet link-ut "Kurset" nė home page.

> Shiko "Manuali i Mesuesit" pėr mė shumė detaje nė ndėrtimin e kurseve.

Dokumentacioni i Moodle

Version: $Id$