Moodle Docs: Installation

## Å installere Moodle

Denne bruksanvisningen forklarer hvordan du installerer Moodle første gang. Den går gjennom noen detaljer om noen av stegene du må ta. Det er stor variasjon og mange store og små ulikheter: Ulike framgangsmåter for ulike innstillinger tilulike servere og systemer. Dette dokumentet ser derfor langt og uoverkommelig ut. Ikke la deg skremme, jeg installerer Moodle vanligvis i løpet av fem minutter!

Ta deg tid til å lese dette dokumentet - det vil spare deg for tid og irritasjon senere.

Innhold:

1. Systemkrav
2. Nedlasting
3. Struktur på siden
4. Lag en katalog for datalagring
5. Lag en database
6. Sjekk serverens innstillinger
7. Rediger config.php
8. Gå til administrasjonssiden
9. Sete opp cron
10. Lag ett nytt kurs/fag

### 1. Systemkrav

> Moodle er i hovedsak utviklet i Linux med Apache, MySQL og PHP (Også kjent som LAMP-plattformen). Moodle blir også jevnlig testet med PostgreSQL, samt i operativsystemene Windows XP, Mac OS X og Netware 6.

> Alt du trenger er:

> 1. Programvare for server. De fleste bruker Apache, men Moodle burde fungere fint uansett webserver som støtter PHP, som IIS på Windows-plattformer.
> 2. En fungerende installasjon av PHP (versjon 4.1.0 eller senere) med følgende egenskaper aktivert:
>    - GD library slått PÅ med støtte for JPG- og PNG-formater
>    - zlib library slått PÅ (hvis du vil bruke backup/restore i Windows)
>    - Støtte for Sessions slått PÅ
>    - Støtte for opplasting av filer slått PÅ
>    - Sikkermodus må være slått AV (se foraene på moodle.org for problemer forårsaket av "Safe Mode")
> 3. En fungerende databaseserver: MySQL eller PostgreSQL støttes fullstendig og anbefales for bruk med Moodle 1.1. Alle andre databaser vil støttes fullt ut i neste versjon.

> De fleste leverandører av serverplass tilbyr alt dette som standard. Hvis du har en avtale med en av de få som ikke støtter disse funksjonene, spør dem hvorfor, og vurder å bytte leverandør.

> Hvis du vil kjøre Moodle på din egen datamaskin og dette ser vanskelig ut, vennligst se guiden vår Installing Apache, MySQL and PHP. Den gir noen steg-for-steg-instruksjoner for å installere alt dette på de vanligste plattformene.

### 2. Nedlasting

> Det er to måter å få tak i Moodle på: Som en komprimert pakke eller med CVS. Disse er forklart i detalj på nedlastingssiden på http://moodle.com/

> Etter at du har lastet ned og pakket ut filene eller hentet dem ut fra CVS står du igjen med en katalog som heter "moodle". Den inneholder et sett med filer og mapper.

> Du kan plassere hele mappen på serveren din i 'dokumenter'-katalogen. I så tilfelle blir nettadressen slik: http://yourwebserver.com/moodle. Du kan også kopiere alt innholdet rett inn i hovedserverens 'dokumenter'-katalog. Da vil nettadressen bli slik: http://yourwebserver.com.

### 3. Struktur på siden

> Her er en kort oppsummering av innholdet i mappen 'Moodle' som kan gi deg litt bedre oversikt:

> > config.php - den ENESTE filen du må redigere for å komme i gang
> > version.php - forteller hvilken versjon av koden i Moodle du bruker
> > index.php - sidens forside

> > - admin/ - kode for å administrere hele serveren
> > - auth/ - plugin-moduler for å autentisere brukere
> > - course/ - kode for å vise og administrere kurs/fag
> > - doc/ - hjelpefiler for Moodle (som denne siden)
> > - files/ - kode for å vise og administrere opplastede filer
> > - lang/ - tekster i ulike språk, en katalog for hvert språk
> > - lib/ - bibliotek med kjernekoden til Moodle
> > - login/ - kode for å styre innlogging og oppretting av brukerkontoer
> > - mod/ - alle modulene i Moodle
> > - pix/ - generisk grafikk for sidene
> > - theme/ - temapakker (skins) for å endre sidens utseende
> > - user/ - kode for å vise og administrere brukere

### 4. Lag en katalog for datalagring

> Moodle trenger også plass på harddisken din for å lagre opplastede filer. (Slik som dokumenter i fag og brukerbilder.)

> Lag en katalog for dette et sted. Av sikkerhetshensyn er det best at denne katalogen IKKE kan nås direkte fra Internett. Det enkleste er å legge den UTENFOR nettkatalogen. Du kan også beskytte den med å lage en fil i datakatalogen kalt .htaccess som inneholder følgende linje:

> >     deny from all

> For å være sikker på at Moodle kan lagre opplastede filer i denne katalogen må du sjekke at serverprogrammet (f.eks. Apache) har tilgang til å skrive i denne katalogen. På Unix-maskiner betyr dette at eieren av katalogen blir noe som "nobody" eller "apache".

> På mange netthotell som tilbyr serverplass der det også er andre brukere må du nok begrense filtilgangen til din "gruppe" (for å forhindre at de andre kundene kan se eller endre (ødelegge) dine filer). Du må da gi full lese- og skrivetilgang til alle andre. Dette tillater serveren at du får tilgang til filene dine. Snakk med serverens administrator hvis du har problemer med å sette dette opp på en sikker måte.

### 5. Lag en database

> Du må lage en tom database (f.eks. "moodle") i databasesystemet sammen med en spesiell bruker (f.eks. "moodleuser") som har tilgang til denne databasen (og bare denne databasen). Du kan bruke "root"-brukeren hvis du vil, men dette anbefales ikke. Hvis hackere knekker passordet vil hele databasen og hele systemet stå på spill i stedet for bare en database.

> Eksempel på kommandolinjer for 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

> Eksempel på kommandolinjer for 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

> (For MySQL anbefaler jeg sterkt at du bruker phpMyAdmin for å administrere databasene).

> Som med versjon 1.0.8 har Moodle nå støtte for "table prefixes". Moodle kan derfor trygt dele en database med tabeller fra andre programmer.

### 6. Sjekk serverens innstillinger

> Først må du se til at serveren bruker index.php som standardside (kanskje i tillegg til index.html, default.htm osv.).

> Med Apache bruker du en DirectoryIndex-parameter i httpd.conf-filen for å gjøre dette. Min ser vanligvis slik ut:

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

> Bare pass på at index.php er i listen (og helst i starten av listen for best mulig effektivitet).

> Etterpå hvis du bruker Apache 2 må du slå på AcceptPathInfo-variabelen. Denne tillater at koder kand sende argumenter som http://server/file.php/arg1/arg2. Dette er viktig for å tillate relative linker mellom ressursene dine. Dette er også en god støtte for de som bruker sidene. Du kan slå dette på ved å legge til dette i filen httpd.conf:

> >     AcceptPathInfo on

> Videre krever Moodle en rekke PHP-innstillinger for at det skal fungere. På de fleste serverne vil dette allerede være satt som standardinnstillinger. Likevel kan PHP-servere (og noen av de nyeste versjonene av PHP) ha elementer satt opp ulikt. Dette defineres i PHPs konfigurasjonsfil (vanligvis php.ini):

> >     magic_quotes_gpc = 1 (anbefales men ikke nødvendig)
> >     magic_quotes_runtime = 0 (nødvendig)
> >     file_uploads = 1
> >     session.auto_start = 0
> >     session.bug_compat_warn = 0

> Hvis du ikke har tilgang til httpd.conf eller php.ini på serveren din eller du har Moodle på en server med andre programmer som krever ulike innstillinger kan du OVERSTYRE alle standardinnstillingene.

> For å gjøre dette må du opprette en fil og gi den navnet .htaccess i Moodles hovedkatalog som inneholder disse innstillingene. Dette virker bare på Apache-servere og bare når overstyring (override) er tillatt/slått på.

> >     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å endre innstillingene for f.eks. den maksimale filstørrelsen for opplastede filer:

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

> Det enkleste å gjøre er å kopiere originalfilen fra lib/htaccess og redigere den slik at den passer dine behov. Den inneholder videre instruksjoner. F.eks. i et Unix-system:

> >     cp lib/htaccess .htaccess

### 7. Rediger config.php

> Nå kan du redigere konfigurasjonsfilen config.php med å bruke en tekstredigerer (f.eks. notisblokk). Denne filen brukes av alle de andre filene i Moodle.

> Lag først en kopi av config-dist.php og kall den config.php. Vi gjør dette slik at konfigurasjonsfilen din (config.php) ikke skal overskrives dersom du oppgraderer Moodle senere.

> Rediger config.php for å spesifisere detaljer i databasen som du akkurat har definert (inkludert 'table prefix' - merk at dette KREVES for PostgreSQL), og også med sidens adresse, filsystem og datakatalog. Filen config.php har detaljerte beskrivelser.

> I resten av denne bruksanvisningen forutsetter vi at siden din ligger på http://example.com/moodle

### 8. Gå til administrasjonssiden

> Adminsiden burde nå fungere på http://example.com/moodle/admin. Hvis du prøver å gå til forsiden til nettstedet ditt blir du tatt dit uansett. Første gangen du får tilgang til adminsiden blir du presentert en GPL-avtale som du må godta før du kan fortsette installeringen.

> (Moodle vil også forsøke å legge igjen noen informasjonskapsler (cookies) i nettleseren din. Hvis du har nettleseren satt slik at du kan velge å akseptere 'cookies' må du akseptere disse i Moodle. Ellers vil ikke Moodle fungere skikkelig.)

> Nå vil Moodle starte å sette opp databasen din og lage tabeller for å lagre data. Først blir hoveddatabasen og dens tabeller opprettet. Du burde nå se et sett med SQL-utsagn etterfulgt av en statusbeskjed (i grønt eller rødt) som ser slik ut:

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

> > ...og deretter etterfulgt av: Main databases set up successfully.

> Hvis du ikke ser disse har det vært et problem med databasen eller innstillingene du satt i config.php. Sjekk at PHP ikke er satt til en begrenset "safe mode" (leverandører av serverplass har ofte denne slått på). Du kan sjekke PHP-variabler ved å lage en liten fil som inneholder <? phpinfo() ?> og se på den i en nettleser. Sjekk alle disse og prøv igjen.

> Bla helt nederst på siden og klikk på linken "Fortsett".

> Deretter vil du se en lignende side som setter opp alle tabellene som de ulike modulene i Moodle behøver. Som før, de bør alle være grønne.

> Bla helt nederst på siden og klikk på linken "Fortsett".

> Du burde nå se et skjema der du kan definere flere variabler for installeringen din, slik som standardspråk, SMTP-vert osv. Ikke tenk for mye på å få alt dette riktig med en gang - du kan alltid komme tilbake og endre disse senere med å bruke siden for administrator. Bla ned til bunnen av siden og klikk "Lagre endringer".

> Hvis (og bare hvis) du ikke kommer videre fra denne siden eller den neste har sannsynligvis serveren din det jeg kaller et "buggy referrer"-problem. Dette er lett å fikse: Rediger bare filen config.php og sett variabelen buggy_referrer til true. Prøv deretter siden igjen.

> Den neste siden er et skjema der du kan definere parametere for din Moodleside og forsiden, slik som navnet, formatet, beskrivelse osv. Fyll ut dette (du kan alltid gå tilbake og endre disse senere) og klikk knappen "Lagre endringer".

> Til slutt blir du spurt om å opprette en bruker som er administrator for framtidig tilgang til administratorsidene. Fyll ut detaljene med ditt eget navn, e-post osv. og klikk "Lagre endringer". Ikke alle feltene må fylles ut, men om du hopper over noen viktige felter blir du spurt om dem på nytt.

> > > > > > Vær sikker på at du husker brukernavnet og passordet du valgte for denne brukerkontoen. De er nødvendige for å få tilgang til administratorsidene senere.

> (Hvis du av en eller annen grunn måtte avbryte installasjonen eller en systemfeil nekter deg å logge inn med admin-kontoen kan du vanligvis logge inn med brukernavn admin og passordet admin.)

> Når du er ferdig returnerer du til hovedsiden for administrator. Den inneholder en rekke linker i en meny. (Disse vises også på hovedsiden når du er logget inn som administrator). All den framtidige administrasjonen av Moodle kan nå gjøres fra denne menyen, slik som:

> - opprette og slette fag/kurs
> - opprette, redigere og slette brukerkontoer
> - administrere lærertilgangen
> - endre innstillinger som gjelder alle undersidene, f.eks. temaer

### 9. Sette opp cron

> Noen av modulene i Moodle krever kontinuerlig kontroll for å utføre oppgaver. F.eks. trenger Moodle å kontrollere diskusjonsforaene slik at det kan sende ut kopier av foruminnlegg på e-post til abonnentene.

> Skriptet som gjør dette ligger i admin-katalogen, det heter cron.php. Men - det kan ikke kjøre seg selv, så du må klargjøre en mekanisme som kjører skriptet, f.eks. hvert femte minutt. Dette gir en slags "hjerterytme" slik at skriptet kan utføre sine funksjoner i tidsperioder som er definert for hver modul.

> Merk at maskinen som utfører dette ikke behøver å være den samme maskinen som kjører Moodle. F. eks. hvis du har servertilgang som ikke støtter cron kan du velge å kjøre det fra en annen server eller på en PC som er tilkoblet nettet. Det som er viktig er at filen cron.php kjøres jevnlig.

> Dette scriptet krever ikke mye systemressurser, så fem minutter er vanligvis fornuftig. Dersom dette bekymrer deg kan du redusere dette til f.eks. 15 minutter eller til og med 30 minutter. Det er best ikke å sette denne perioden for lang, ettersom sene e-poster fra sidene kan forsinke aktiviteten i klassene.

> Først tester du om skriptet fungerer ved å kjøre det direkte i nettleseren din:

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

> Nå må du finne en måte å kjøre det automatisk og regelmessig.

> #### Å kjøre skriptet fra en kommandolinje

> Du kan kjøre siden fra kommandolinjen akkurat som i eksempelet over. F.eks. kan du bruke en Unixfunksjon som 'wget':

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

> Merk at i dette eksempelet blir utdataene kastet bort (til /dev/null).

> Det samme med lynx:

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

> Alternativt kan du bruke en egen, uavhengig versjon av PHP. Den må da innstilles slik at den kjører i kommandolinjen. Fordelen med dette er at loggene i serveren ikke blir fylt med regelmessige forespørsler til cron.php. Ulempen er at du må ha tilgang til en kommandolinjeversjon av PHP.

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

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

> #### Kjør skriptet automatisk hvert femte minutt

> Med Unix: Bruk cron. Rediger innstillingene fra kommandolinjen med "crontab -e" og legg til en linje som:

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

> Vanligvis vil kommandoen "crontab" føre deg til 'vi'-editoren. Du velger "insert mode" med å taste "i", deretter skriv linjen som over. Etterpå gå ut av "insert mode" ved å trykke ESC. Tast ":wq" for å lagre og avslutte, eller avslutt uten å lagre med ":q!" (uten hermetegn).

> Med Windows: Den enkleste måten er å bruke pakken moodle-cron-for-windows.zip som gjør dette svært enkelt. Du kan også utforske den innebygde funksjonen i Windows "Planlagte oppgaver". (Start > Programmer > Tilbehør > Systemverktøy > Planlagte oppgaver.)

> Hos leverandører av serverplass: Ditt nettbaserte kontrollpanel kan ha en nettside som lar deg sette opp denne prosessen. Spør administratorein din etter detaljer for hvordan dette fungerer.

### 10. Lag ett nytt kurs/fag

> Nå som Moodle fungerer skikkelig kan du lage nye kurs/fagsider.

> Velg "Legg til nytt kurs" fra adminsiden (eller adminlinkene på hovedsiden).

> Fyll ut skjemaet, legg spesielt merke til kursformatet. Du behøver ikke å bekymre deg for mye om detaljene på dette stadiet. Alt her kan endres senere av læreren/lærerne som skal bruke siden.

> Klikk "Lagre endringer" og du får opp et nytt skjermbilde for å tilordne lærere til kurset/faget.Du kan bare tilordne brukere som allerede er registrert fra dette skjemaet - dersom du vil lage en helt ny brukerkonto må du enten be læreren registrere seg som bruker i systemet selv (Innloggingssiden), eller lag en selv for dem med linken "Legg til ny bruker" på adminsiden.

> Når du er ferdig er siden klar til bruk, og den nås fra linken "Kurskategorier" på hovedsiden.

> Les "Teacher Manual" for flere detaljer om å sette opp kurs/fag.

Dokumentasjon om Moodle

Versjon: $Id$