Moodle Installeren

In deze gids vind je hoe je Moodle de eerste keer moet installeren. Soms wordt er in detail getreden om de grote variëteit aan kleine verschillen tussen verschillende installaties van webservers. Zo lijkt dit document lang en moeilijk. Laat je er niet door afschrikken - Moodle kan geïnstalleerd worden in enkele minuten!

Neem je tijd en werk je door dit document - het zal je later tijd besparen.

Sections in this document:

  1. Systeemvereisten
  2. Download
  3. Site structuur
  4. Een gegevensmap maken
  5. Een databank maken
  6. Instellingen van de webserver controleren
  7. Config.php bewerken
  8. Naar de admin pagina gaan
  9. Cron installeren
  10. Een nieuw vak maken

 

1. Systeemvereisten

De ontwikkeling van Moodle is gestart in Linux met Apache, MySQL en PHP (soms ook gekend onder de naam LAMP platform), maar is ook grondig getest met PostgreSQL en op Windows XP, Mac OS X en Netware 6 besturingssystemen

De systeemvereisten zijn de volgende:

  1. Web server software. Meest gebruikt is Apache, maar Moodle zou ook goed moeten werken op gelijk welke webserver met ondersteuning voor PHP, zoals IIS op Windows platforms.
  2. PHP scripting taal (version 4.1.0 or later), met volgende instellingen:
    • GD library ingeschakeld, met ondersteuning voo JPG en PNG bestandsindeling
    • zlib library ingeschakeld (als je backup/restore op Windows wil gebruiken)
    • Sessions support ingeschakeld
    • Bestanden uploaden ingeschakeld
    • Safe Mode moet uitgeschakeld worden (raadpleeg de forums op moodle.org voor problemen veroorzaakt door Safe Mode)
  3. een werkende databank server: MySQL of PostgreSQL zijn volledig ondersteund en aangeraden voor het gebruik met Moodle 1.1. Alle andere databanken zullen volledig ondersteund worden in de volgende versie.

De meeste web hosts ondesteunen dit allemaal standaard. Als je ingetekend hebt bij een van de weinige webhosts die deze mogelijkheden niet ondersteunen, vraag hen dan waarom en overweeg om te verhuizen.

Als je Moodle op je eigen computer wil laten lopen en dit lijkt je allemaal wat moeilijk, raadpleeg dan onze gids: Installing Apache, MySQL and PHP. Die geeft stap voor stap informatie om dit te installeren op de meest gebruikte platforms.

 

2. Download

Er zijn twee manieren om Moodle te bekomen. als gecomprimeerd pakket en via CVS. Dit staat in detail uitgelegd op de downloadpagina: http://moodle.org/download/

Na het downloaden en het uitpakken van het gecomprimeerd bestand of na het uitchecken uit CVS, krijg je een map "moodle", die een hele reeks bestanden en mappen bevat.

Je kan de hele map in de documentenmap van je webserver kopiëren; in dat geval zal je site te vinden zijn via http://jouwdomein.com/moodle of je kan heel de inhoud van die map recht in de documentenmap van je webserver zetten, zodat je site gewoon http://jouwdomein.com zal zijn.

 

3. Site structuur

Een kort overzicht van de inhoud van de Moodle map, om je te helpen oriënteren

config.php - het ENIGE bestand dat bewerkt moet worden voor je kunt starten
version.php - geeft de huidige versie van de Moodle programmatuur
index.php - de startpagina van de site

 

4. Een gegevensmap maken

Moodle zal wat ruimte op je harde schijf nodig hebben om geüploade bestanden te bewaren, zoals vak bestanden en foto's van de gebruikers.

Maak ergens een map voor dit doel. Voor de veiligheid is het best dat deze map NIET rechtstreeks te bereiken is via het web. De gemakkelijkste manier om dit te doen is door ze gewoon BUITEN de webmap te zetten. Anders kun je de map ook beschermen door een bestandje te maken dat je .htaccess noemt en in die map plaatst. In dat bestandje zet je volgende lijn

deny from all

Om er zeker van te zijn dat Moodle bestanden kan uploaden naar deze map, kijk je best na of de webserver (bijvoorbeeld Apache) het recht heeft om te schrijven in deze map. Voor Unixmachines betekent dit de instellingen voor de eigenaar van de map op "nobody&quaot; of "apache" zetten.

Op veel gedeelde hostinservers zul je waarschijnlijk alle bestandstoegang moeten beperken tot jouw groep (om te verhinderen dat andere klanten van je host je bestanden kunnen komen bekijken en wijzigen), maar volledig lezen en schrijvenrecht geven alle anderen (wat de webserver zal toelaten tot jouw bestanden) Spreek er over met de beheerder van je server als je problemen hebt met dit veilig in te stellen.

 

5. Een databank maken

Je moet een lega databank maken (bv "moodle") in je databanksysteem samen met een speciale gebruiker (bv "moodleuser") die toegang heeft tot die databank (en alleen die databank). Je kunt ook de "root" gebruiker nemen als je wil, maar dit is niet aan te raden voor een productiesysteem: als hackers je wachtwoord kraken, dan is je hele databanksysteem in gevaar, anders slechts één databank

Voorbeeldcode voor 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

Voorbeeldcode voor 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

(Voor MySQL raad ik ten zeerste phpMyAdmin aan voor het beheer van je databank - Je kunt dit dan allemaal doen via een webinterface).

Vanaf versie 1.0.8 ondersteunt Moodle tabelprefixen, zodat je veilig een databank kun delen met tabellen van andere applicaties

 

6. Instellingen van de webserver controleren

Zorg er eerst voor dat je webserver ingesteld is om index.php als startpagina te gebruiken (eventueel aangevuld met index.html, default.htm enz).

In Apache gebeurt dit door een DirectoryIndex parameter te gebruiken in je httpd.conf bestand. Het mijne ziet er gewoonlijk zo uit:

DirectoryIndex index.php index.html index.htm 

Verzeker jezelf er van dat index.php in het lijstje staat (en voor de efficiëntie liefst ergens bovenaan de lijst).

Verder als je Apache 2 gebruikt, moet je de AcceptPathInfo variable inschakelen. Die zorgt er voor dat aan scripts parameters kunnen doorgegeven worden zoals http://server/file.php/arg1/arg2. Dit is noodzakelijk om relatieve links tussen je bronnen toe te laten, wat dan weer voor een grote snelheidswinst oplevert voor bezoekers van je Moodle-site. Je kunt dit inschakelen door volgende lijnen in je httpd.conf-bestand te zetten.

AcceptPathInfo on 

Ten derde vereist Moodle een aantal PHP-instellingen actief vóór het werkt. Op de meeste servers zullen deze al in de standaardinstellingen voorzien zijn. Hoewel sommige PHP-servers (en sommige van de recentere PHP-versies) andere instellingen kunnen hebben. Je kunt ze vinden in het PHP configuratiebestand (meestal php.ini):

magic_quotes_gpc = 1    (preferred but not necessary)
magic_quotes_runtime = 0    (necessary)
file_uploads = 1
session.auto_start = 0
session.bug_compat_warn = 0

Als je geen toegang hebt tot httpd.conf of tot php.ini op jouw server, of je hebt Moodle geïnstalleerd op een server met andere toepassingen die andere instellingen vereisen, maak je dan geen zorgen, je kunt al die standaardinstellingen nog overschrijven.

Om dit te doen maak je een bestandje met als naam .htaccess in Moodle's hoofdmap. Daarin zet je al deze instellingen. Dit werkt enkel op Apache servers en alleen als Overrides toegestaan zijn.

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

Je kunt ook instellingen maken zoals de maximum grootte voor de geüploade bestanden.

LimitRequestBody 0
php_value upload_max_filesize 2M
php_value post_max_size 2M
     

De eenvoudigste manier is het voorbeeldbestand kopiëren uit lib/htaccess en dat bewerken om het aan jouw noden aan te passen. Het bevat verdere aanwijzingen, bijvoorbeeld, in een Unix shell:

cp lib/htaccess .htaccess

 

7. Config.php bewerken

Nu kun je het configuratiebestand, config.php, bewerken met een tekstverwerker. Dit bestand wordt door alle andere bestanden in Moodle gebruikt.

Maak om te beginnen een kopie van config-dist.php en noem ze config.php. We doen dit, zodat je config.php niet overschreven zou worden als je Moodle later upgrade.

Bewerk config.php om de details van de databank te specifiëren die je net gemaakt hebt (tabelprefix inbegrepen - let op: dit is vereist voor PostgreSQL), het siteadres, de map van het bestandssysteem en de gegevensmap. In het configuratiebestand staan details en voorbeelden.

Na deze instellingen verloopt de rest van de installatie via een webinterface. Vanaf hier veronderstellen we dat je site te vinden is op: http://example.com/moodle

 

8. Naar de admin pagina gaan

De adminpagina zou nu moeten werken op: http://example.com/moodle/admin. Als je probeert naar de startpagina van je site te gaan, dan zul je toch automatisch naar de adminpagina gestuurd worden. De eerste keer dat je deze pagina bezoekt, krijg je een licentieverklaring te zien, die je moet goedkeuren voor de installatie kan verdergezet worden.

Moodle zal ook wat cookies in je browser proberen te zetten. Als je je browser ingesteld hebt om het gebruik van cookies te controleren, dan moet je instellen om van Moodle cookies te accepteren, anders werkt Moodle niet correct.

Nu zal Moodle beginnen met het configureren van je databank en met het maken van tabellen om de gegevens in te bewaren. Eerst worden de belangrijkste tabellen gemaakt. Je zou een aantal SQL-opdrachten moeten zien, gevolgd door statusberichten (in groen of rood) die er uitzien zoals dit:

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

...enzovoort, gevolgd door: Main databases set up successfully.

Als je dit niet ziet, dan moeten er wat problemen met de databank of zijn of met de instellingen die in config.php gedefinieerd zijn. Controleer of PHP niet in "Safe Mode" staat (commerciele web hosts zetten dit soms aan). Je kunt PHP variablen controleren door een klein bestandje te maken en te uploaden met daarin <? phpinfo() ?> en dat te bekijken met een browser. Controleer dit allemaal en probeer opnieuw.

Scroll down the very bottom of the page and press the "Continue" link.

Als volgende pagina zie je een gelijkaardige pagina die de tabellen voor elke Moodle module maakt.Zoals de vorige zouden deze green moeten zijn.

Scroll helemaal naar onderaan de pagina en klik op de "Continue" link.

Je zou nu een formulier moeten zien, waarin je meer configuratievariablen kunt ingeven, zoals de stanaardtaal, SMTP-hosts enzovoort. Maak je niet te veel zorgen om alles nu juist te zetten - je kunt altijd terugkeren en deze later bewerken met je beheer-interface. Scroll naar onderaan de pagina en klik op "Save changes".

Als (en slecht als) je vastgeraakt op deze pagina, dan heeft je server waarschijnlijk, wat ik noem, het 'buggy referrerprobleem' Dit is gemakkelijk te herstellen: schakel de "secureforms" instelling uit en probeer opnieuw.

De volgende pagina is een formulier waar je de parameters voor de voorpagina van je Moodlesite, zoals de naam, opmaak, beschrijving enzovoort. kunt instellen. Vul dit in (je kunt altijd later terugkomen) en druk op "Save changes".

Ten slotte wordt je gevraagd een om een beherder aan te maken voor toegang toe de beheerpaginas. Vul hier je eigen naam, e-mail enz in. Niet alle velden zijn verplicht, maar als je een belangrijk veld mist, dan krijg je er opnieuw een aanvraagformulier voor.

Zorg er voor dat je het paswoord en de gebruikersnaam die je gekozen hebt voor de beheerder, goed kent, omdat die nodig zijn om in de toekomst toegang tot het beheer te blijven hebben.

(Als je installatie om één of andere reden onderbroken wordt, of er is een systeemfout die verhindert dat je aanmeldt met je admin-account, dan kun je gewoonlijk nog aanmelden met de standaard gebruikersnaam "admin", met wachtwoord "admin".)

Eens je met succes aangemeld bent, wordt je teruggebracht naar de startpagina van je site. Merk op dat er onderaan links een aantal links voor beheer verschijnen (deze links kun je ook vinden op een aparte beheerpagina). - Deze items kun jij alleen zien omdat je aangemeld bent als Beheerder. Alle beheerstaken van Moodle kunnen vanuit deze pagina gedaan worden, zoals:

 

9. Cron installeren

Sommige Moodlemodules hebben constante controle nodig om hun activiteiten te kunnen doen. Zo moet Moodle bijvoorbeeld de discussieforums regelmatig controleren om kopies van de berichten te sturen naar gebruikers die daarvoor ingeschreven hebben.

Het script dat al deze taken doet staat in de adminmapen heet cron.php. Alleen kan dit script niet uit zichzelf lopen, dus moet je een mechanisme installeren dat dit script om de 5 á 10 minuten start. Dit maakt een "hartslag", zodqt het script taken kan uitvoeren na periodes die vastgelegd zijn in elke module.

Merk op dat de machine die cron.php laat lopenniet dezelfde machine moet zijn als degene waar Moodle op loopt. Als je installatie bijvoorbeeld bij een beperkte webhost staat die geen cron aanbiedt, dan kun je bijvoorbeeld opteren om cron te laten lopen op een andere server of op je eigen huiscomputer. Het enige wat belang heeft is dat het bestand cron.php regelmatig opgevraagd wordt.

Het script veroorzaakt geen grote belasting, dus om de vijf minuten is redelijk, maar als je je daarover zorgen maakt, dan kun je de periode verlengen tot 15 of zelfs 30 minuten. Je kunt de periode best niet te lang nemen, omdat het vertragen van de e-mailverzendingen de activiteit in je vak kan vertragen.

Test het script eerst door het te laten lopen vanuit je browser.

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

Nu moet je iets installeren zodat het script automatisch en regelmatig opgevraagd wordt.

Het script starten vanaf de opdrachtregel

Je kunt vanuit de opdrachtregel de pagina opvragen, net zoals bij bovenstaand voorbeeld. Je kunt bijvoorbeeld een Unixtool gebruiken zoals 'wget':

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

Merk op dat in dit voorbeeld de output weggegooid wordt (naar /dev/null).

Hetzelfde kan met lynx:

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

Je zou ook een alleenstaande versie van PHP, gecompileerd om van de opdrachtregel te lopen, kunnen gebruiken. Het voordeel hiervan is dat de logs van je webserver niet vol lopen met de continue vraag naar cron.php. Het nadeel is dat je toegang moet hebben tot een opdrachtregel-versie van PHP.

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


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

Het script automatisch laten lopetn om de 5 minuten

Op Unix systemen: Gebruik cron. Bewerk je croninstellingen door vanaf de opdrachtregel gebruik te maken van "crontab -e" en voeg een lijn toe zoals:

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

Gewoonlijk zal de "crontab" iodracht je in de 'vi' editor brengen. Je gaat in "insert mode" door op "i"te drukken, dan kun je bovenstaande lijn inbrengen, dan ga je uit insert mode door op ESC te drukken. Je bewaart en verlaat het programma door "wq" te typen of door ":q!" te typen (zonder de aanhalingstekens).

Op Windows systemen: De gemakkelijkste manier is door dit kleine pakketje te gebruiken moodle-cron-for-windows.zip wat het hele ding erg gemakkelijk maakt. Je kunt eventueel ook gebruik maken van de ingebouwde Windowsfunctie "Scheduled Tasks".

Bij web hosts: Je webgebaseerde controlepaneel kan een pagina hebben die bedoeld is om cron op te zetten. Vraag je beheerder naar de details over hoe dit werkt.

10. Een nieuw vak maken

Nu Moodle goed loopt, kun je een vak aanmaken.

Kies "Voeg een nieuw vak toe" vanuit de beheerpagina (of vanuit de beheerlinks op de startpagina).

Vul het formulier in, met speciale aandacht voor de vakformat. Je moet je geen zorgen maken over de details, omdat alles later door de leraar zelf kan veranderd worden door de leraar.

Druk op "Bewaar de wijzigingen", en je wordt naar een nieuw formulier gebracht waar je leraars aan het vak kunt toewijzen. Je kunt alleen een bestaande gebruikersaccount aanwijzen vanuit dit formulier - als je een nieuwe lerarenaccount wil maken, dan kun je ofwel de leraar vragen om zelf zijn eigen account te maken (zie loginpagina) of maak er zelf een voor hen door gebruik te maken van de "Voeg een nieuwe gebruiker toe" op de beheerpagina.

Als dit gedaan is, dan is het vak klaar om aangepast te worden en is het toegankelijk vanaf de "vakken" link op de startpagina.

Zie ook de "Help..." voor meer details over het opbouwen van een vak.

 

Moodle Documentation

Version: $Id$