Installer Moodle

Ingen panik!

Denne guide forklarer hvordan du installerer Moodle for første gang. Vi vil gå i en masse detaljer på nogle af trinene for at dække de fleste webserveropsætninger, så dette dokument kan synes langt og kompliceret. Gå ikke i panik, det er slet ikke sikkert du får brug for at fordybe dig i alle detaljer. Så snart du ved hvordan det skal gøres, kan du installere Moodle på få minutter!

Hvis du har problemer så læst dette dokument omhyggeligt - de fleste almindelige spørgsmål er besvaret her. Har du stadig problemer kan du søge hjælp fra Moodle Help

En anden mulighed er at kontakte et webhostingfirma som kan varetage alt omkring Moodle for dig, sådan at du kan glemme alt dette og starte direkte med undervisning!

Indhold:

  1. Tekniske krav
  2. Download og kopier filer på plads
  3. Sitestruktur
  4. Kør installationsprogrammet og få oprettet config.php
  5. Gå til admin-siden og fortsæt konfigurationen
  6. Opsætning af cron
  7. Opret et kursus

1. Tekniske krav

Moodle er primært udviklet på Linux ved brug af Apache, MySQL og PHP (også kaldet LAMP), men bliver også regelmæssigt testet med PostgreSQL og på Windows XP, Mac OS X og Netware 6.

Tekniske krav til Moodle:

  1. Webserver software. De fleste bruger Apache, men Moodle skulle virke fint på enhver webserver der understøtter PHP, så som IIS på Windows.
  2. PHP (version 4.1.0 eller nyere). PHP 5 er supporteret fra Moodle 1.4.
  3. en database server: MySQL eller PostgreSQL er fuldt understøttet og anbefales til brug med Moodle.

De fleste webhoteller understøtter alt dette. Hvis det ikke gælder dit webhotel så spørg hvorfor og overvej at flytte hotel.

Vil du køre Moodle fra din egen computer og alt dette lyder lidt skræmmende, så se the administrator documentation.

2. Download og kopier filer på plads

Der er to måder at få fat i Moodle på: som en komprimeret pakke og via CVS. Disse måder er forklaret i detaljer på downloadsiden: http://moodle.org/download/

Efter download og udpakning af arkivet, eller efter at have kørt et cvs-checkout, vil du have en mappe, "moodle", som indeholder en række filer og undermapper.

Du kan enten placere hele moodle-mappen i din webservers dokumentmappe, i så fald vil sitet komme til at ligge på http://dinwebserver.tld/moodle, eller du kan kopiere alt indholdet direkte ind på webroden, så vil dit site komme til at ligge på http://dinwebserver.tld.

Hvis du downloader Moodle til din lokale computer og derefter uploader den til din webserver, er det som regel bedre at uploade hele arkivet som en fil og derpå pakke filen ud på serveren. I nogle webserveres kontrolpaneler, som f.eks. Cpanel, kan du udpakke filer med panelets "File Manager".

3. Sitestruktur

Du kan sagtens springe dette afsnit over, men her er til din orientering en hurtig oversigt over indholdet af de vigtigste af Moodles mapper:

config.php - indeholder basisindstillinger. Filen leveres ikke med Moodle - du kommer selv til at oprette den.
install.php - scriptet hvormed config.php oprettes
version.php - information om den aktuelle version af Moodle-koden
index.php - forsiden af sitet

4. Kør installationsprogrammet og få oprettet config.php

Kør installationsprogrammet (install.php) ved at gå ind på din Moodles URL i en browser, eller gå direkte ind på http://dinserver.tld/install.php.

(Installationsprogrammet vil forsøge at lægge en sessionscookie på din computer. Hvis du får advarsel på en popop skal du acceptere denne cookie!)

Moodle vil opdage at en konfiguration er nødvendig og vil lede dig gennem nogle sider som vil hjælpe dig med at oprette en ny konfigurationsfil, config.php. Til sidst i processen vil Moodle forsøge at gemme filen på det rette sted, ellers vil du blive tilbudt at downloade den fra installationsprogrammet og derpå uploade den til Moodles webrod på serveren.

Undervejs vil installationsprogrammet teste dit servermiljø og foreslå hvordan du kan fixe eventuelle problemer. I de fleste tilfælde vil disse forslag være nok, men går du i stå, kan du se nedenfor efter yderligere information om nogle af de almindelige ting der kan bremse dig.

4.1 Generelle webserverindstillinger

Start for det første med at sikre dig at din webserver er sat op til at bruge index.php som standardside (måske sammen med index.html, default.htm osv.).

I Apache gøres dette ved hjælp af en DirectoryIndex parameter i filen httpd.conf. Mine ser normalt sådan ud:

DirectoryIndex index.php index.html index.htm 

Sørg for at index.php er på listen (og helst i starten for effektivitetens skyld).

For det andet, hvis du bruger Apache 2, skal du aktivere variablen AcceptPathInfo, som tillader scriptargumenter som http://server/file.php/arg1/arg2. Det er essentielt at tillade relative links mellem dine ressourcer, og det giver ydelsen et boost for brugere af sitet med Moodle. Du kan aktivere det med disse linjer i din httpd.conf.

AcceptPathInfo on 

For det tredje kræver Moodle at nogle PHP-indstillinger skal være aktiverede for at kunne køre. På de fleste servere vil disse allerede være standardindstillinger. Imidlertid kan nogle PHP-servere (og nogle nyere PHP-versioner) have andre indstillilnger. Disse er defineret i PHP's konfigurationsfil (som regel kaldet 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

Hvis ikke du har adgang til httpd.conf eller php.ini på din server, eller hvis du har Moodle på en server med andre programmer med andre indstillinger, så skidt, du kan ofte stadig OVERRIDE standardindstillingerne.

Det kan du gøre ved at oprette filen .htaccess i Moodles webrod. Indholdet kan du se herunder. Den virker kun på Apache-servere og kun når Overrides er blevet tilladt i hovedkonfigurationen.

 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

Du kan også fastsætte maximumstørrelsen på filer der kan uploades:

 LimitRequestBody 0 php_value upload_max_filesize 2M php_value post_max_size 2M

Det letteste er blot at kopiere eksempelfilen fra lib/htaccess og redigere den så den stemmer overens med dine behov. Den indeholder flere instruktioner. F.eks. på en Unix-shell:

cp lib/htaccess .htaccess

4.2 Opret en database

Du skal oprette en tom database (f.eks. "moodle") i dit databasesystem og en speciel bruger (f.eks. "moodlebruger") som har adgang til (og kun til) databasen. Du kan bruge "root" på en testserver hvis du vil, men det anbefales ikke i et produktionsmiljø: Hvis det lykkes for hackere at opsnuse koden vil hele dit databasesystem være i stor fare, i stedet for kun en enkelt database.

Bruger du et webhotel vil det sikkert have et kontrolpanel med webadgang, hvorfra du kan oprette databasen.

Cpanel er et meget udbredt kontrolpanet på webhoteller. Du kan følge disse trin hvis du skal oprette en datapase i Cpanel:
  1. Klik på ikonet "MySQL Databases".
  2. Skriv "moodle" i databasefeltet og klik på "Add Database"
  3. Skriv et brugernavn og en adgangskode (som du ikke bruger andre steder) og klik på "Add User".
  4. Brug knappen "Add User to Database" til at give denne bruger "ALLE" rettigheder til den nye database.
  5. Bemærk at brugernavn og databasenavn kan være forudbestemt med dit Cpanel-kontonavn. Når du tilføjer denne information i Moodles installationsprogram skal du skrive det fulde navn.
Har du adgang til en kommandolinje i Unix kan du bruge den til det samme.

Her er nogle eksempler på Unix-kommandoer til 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

Og her er nogle eksempler på linjer til 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

4.3 Opret en datamappe

Moodle skal også bruge en mappe på serveren til uploadede filer så som kursusdokumenter og brugerbilleder.

Installationsprogrammet vil gøre hvad det kan for at oprette denne mappe for dig, men lykkes det ikke, må du selv oprette den manuelt.

Af sikkerhedsmæssige årsager må denne mappe IKKE være tilgængelig direkte fra Internettet. Den nemmeste måde at klare det på, er at placere den UDENFOR webmappen, men hvis du er tvunget til at have den i webmappen, kan du beskytte den ved at oprette en fil i datamappen med navnet .htaccess, og give den dette indhold:

deny from all
AllowOverride None

Du kan sikre dig at Moodle kan gemme uploadede filer her, ved at tjekke at webserversoftwaren (f.eks. Apache) har tilladelse til at læse, skrive og køre filer i denne mappe.

På Unix betyder det at ejeren af mappen skal sættes til noget i retning af "nobody" eller "apache", og denne bruger skal have læse-, skrive- og eksekveringsrettigheder.

På systemer med Cpanel kan "File Manager" bruges til at finde mappen med, klikke på det og vælge "Change Permissions". På mange delte webhoteller vil du sikkert være tvunget til at begrænse al tilgang til filerne til din gruppe (for at forhindre andre kunder i at se eller ændre dine filer), men give fuld læse- og skriveadgange til alle andre (hvad der vil give din webserver adgang til filerne).

Tal med din serveradministrator hvis du har problemer med at sætte det sikkert op. Især websteder, der bruger en PHP med "Safe Mode on", kan kræve, at administrator opretter denne mappe rigtigt for dig.

5. Gå til admin-siden for at fortsætte konfigurationen

Så snart den basale config.php er oprettet korrekt, kan du gå ind på din Moodles forside, hvorfra du vil blive ført videre til admin-siden, hvor resten af konfigurationen foregår.

Første gang du kommer til admin-siden bliver du præsenteret for en GPL "shrinkwrap"-aftale som du skal acceptere før du kan fortsætte opsætningen.

Nu vil Moodle starte med at sætte din database op, oprette tabeller og gemme data. Først oprettes hovedtabellerne i databasen. Du vil se en række SQL-sætninger efterfulgt af statusbeskeder (i grønt eller rødt) a la:

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

...osv. efterfulgt af: "Main databases set up successfully".

Ser du ikke dette må der være noget galt med databasen eller indstillingerne i config.php. Tjek at PHP ikke har restriktionen "Safe Mode On" (kommersielle webhoteller har somme tider safe mode sat til). Du kan tjekke PHP-variable ved at oprette en fil med indholdet <?php phpinfo() ?> og se på den fra en browser. Tjek alle disse indstillinger og prøv denne side igen.

Scroll helt ned til bunden af siden og klik på linket "Fortsæt".

Du skulle nu få en formular hvor du kan sætte flere variable i din konfiguration til installationen så som standardsprog, SMTP-host mv. Du skal ikke bekymre dig så meget om hvorvidt alting er helt perfekt lige nu - du kan altid vende tilbage og redigere indstillingerne. De foruddefinerede indstillinger er valgt så de skulle være fornuftige og sikre til brug for de fleste sider. Scroll ned til bunden af siden og klik på "Gem".

Hvis (og kun hvis) du går i stå på denne side, ude af stand til at fortsætte, har din server antagelig hvad jeg kalder "the buggy referrer" problem. Det er nemt at rette: Deaktiver indstillingen "secureforms" og prøv igen.

Herefter vil du se flere sider med masser af statusmeddelelser efterhånden som alle tabeller, der er nødvendige til Moodles forskellige moduler, bliver oprettet. Som før skulle de alle være grønne.

Scroll helt ned til bunden af siden og klik på "Fortsæt".

Den næste side er med en formular hvor du kan sætte nogle parametre for Moodle og forsiden så som navn, format, beskrivelse mm. Udfyld felterne (du kan altid vende tilbage og redigere dem senere) og klik på "Gem".

Til slut vil du blive bedt om at oprette en administratorbruger som fremover skal have adgang til administrationssiderne. Udfyld felterne med dit navn, e-mail osv. og klik på "Gem". Det er ikke nødvendigt at udfylde alle felter, men hvis du misser nogle vigtige vil du få det at vide!

Sørg for at huske det brugernavn og den adgangskode du valgte til administratorkontoen, oplysningerne er nødvendige for at kunne komme ind på administrationssiderne i fremtiden.

(Hvis din installation af en eller anden grund bliver afbrudt, eller at der opstår en systemfejl af en eller anden art, som forhindrer dig i at logge ind med administratorkontoen, kan du normalt logge ind med det foruddefinerede brugernavn "admin", med koden "admin".)

Når det hele er succesfuldt overstået vil du ende på forsiden af din nye Moodle-installation! Bemærk at administrationslinkene du kan se til venstre på siden, kun er synlige fordi du er logget ind som administrator. Al fremtidig administration af Moodle vil nu ske ved hjælp af denne menu så som at:

Du er dog ikke helt færdig endnu! Der er en meget vigtig ting tilbage (se næste afsnit om cron).

6. Opsætning af cron – VIGTIGT!

Nogle af Moodles moduler kræver jævnlige tjek for at udføre tilbagevendende opgaver. Moodle skal for eksempel tjekke forummer, så der kan blive sendt mails ud med kopier af indlæg til abonnenterne.

Scriptet, der sørger for det, er placeret i admin-mappen og kaldes for cron.php. Du kan imidlertid ikke køre det manuelt, så du skal sætte en timer op der kan sætte scriptet i gang automatisk (f.eks. hver femte eller tidende minut). Dette giver et "hjerteslag", så scriptet kan udføre funktioner i perioder defineret af hvert modul. Denne form for regelmæssig mekanisme er kendt som en cron service.

Bemærk at den maskine som udfører cron ikke behøver at være samme maskine som kører Moodle. Hvis du for eksempel har en begrænset webhotelservice som ikke har en cron-service, kan du køre cron fra en anden server eller fra din hjemmecomputer. Det vigtige er at cron.php køres jævnligt.

Belastningen af dette script er ikke særlig høj, så 5 minutter er normalt rimeligt, men hvis du er bekymret for det, kan du nedsætte perioden til noget i retning af 15 eller 30 minutter. Det er bedst ikke at gøre perioden for lang, da forsinkelser på udsending af mails kan virke bremsende på aktiviteten på kurset.

Tjek først at scriptet virker ved at køre det direkte fra din browser:

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

Nu skal du opsætte indstillingerne for hvordan scriptet køres automatisk og jævnligt.

På Windows

Det nemmeste er at bruge den lille pakke moodle-cron-for-windows.zip som gør det hele ganske nemt ved at installere en Windowsservice. Kør det og glem så alt om det!

På en webhosting service

Dit webbaserede kontrolpanel kan have en side til opsætning af cron. På Cpanelsystemet for eksempel, skal du se efter en knap med "Cron jobs". Der kan du indtaste samme slags Unix-kommandoer som vist herunder.

Brug Unix' kommandolinje

Der er forskellige kommandolinjeprogrammer du kan bruge til at kalde siden fra kommandolinjen. Ikke alle er tilgængelige på en given server.

Du kan for eksempel bruge et Unix-progam som 'wget':

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

Bemærk at output i dette eksempel bliver smidt væḱ (til /dev/null).

Samme ved hjælp af lynx:

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

Alternativt kan du bruge en standalone version af PHP, kompileret til at køre fra kommandolinjen. Fordelen er at din webserverlog ikke fyldes konstant med kald til cron.php. Bagsiden af medaljen er at du skal have adgang til en kommandolinjebaseret version af php.

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

Anvend programmet crontab på Unix

Alt hvad Cpanel gør, er at give et webinterface til Unix-utilityen crontab. Har du en kommandolinje kan du sætte crontab op selv med kommandoen:

crontab -e

og tilføje en af de ovennævnte kommandoer som:

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

Almindeligvis vil "crontab"-kommandoen åbne 'vi'-editoren til dig. Du kommer i "insert mode" ved at trykke på "i", skriv så linjen herover ind og forlad "insert mode" med "Esc"-knappen. Du gemmer og afslutter ved at taste ":wq", eller afslutter uden at gemme med ":q!" (uden gåseøjnene).

7. Opret et kursus

Nu hvor Moodle kører på behørig vis kan du oprette et kursus at lege med.

Vælg "Kurser - Tilføj/rediger kurser" i Administrationsmenuen.

Udfyld formularen med opmærksomheden specielt rettet mod kursusformatet. Du behøver ikke at bekymre dig særligt om detaljerne, alt kan ændres senere af en lærer. Bemærk de gule hjælpeikoner overalt, det er kontekstrelevant hjælp til Moodle.

Efter tryk på "Gem" får du en side hvorpå du kan tilføje lærere til kurset. Du kan kun tilføje eksisterende brugerkonti på denne formular - hvis du vil oprette en ny lærerkonto så bed læreren om selv at oprette en profil (se loginsiden) eller opret en for dem via Administration - Brugere - Konti - Ny bruger.

Når det er i orden er kurset klar til brug og kan tilgås fra forsiden.

Se "Teacher Documentation" med flere detaljer om hvordan man bygger kurser.

God fornøjelse & held og lykke med din moodling!

Kan du lide Moodle, så overvej at donere for at hjælpe os med at dække vores omkostninger!