# Att installera Moodle

## Ta det lugnt!

> Den här guiden förklarar hur Du installerar Moodle första gången. När det gäller en del av dessa steg så går guiden in på rätt mycket detaljer. Den försöker också att täcka in så många tänkbara sätt att installera Moodle på en webbserver som möjligt. Det gör att det här dokumentet kan komma att se långt och komplicerat ut. Ta det dock lugnt, när Du väl har kommit på hur Du ska göra så kan Du installera Moodle inom några minuter!

> Om Du stöter på problem så får Du läsa det här dokumentet noga. Du får hjälp med alla de vanligaste oklarheterna här. Om Du ändå behöver mer hjälp så kan Du hitta den här (på engelska): Moodle Help

> Ett annat alternativ är att kontakta ett webbhotell som kan sköta hela underhållet av Moodle år Dig. Då kan Du hoppa över allt detta och koncentrera dig på Dina utbildningar!

> Sektioner i det här dokumentet:

> 1. Tekniska krav
> 2. Ladda ner och kopiera filerna till rätt plats
> 3. Webbplatsens struktur
> 4. Kör installationsskriptet för att skapa config.php
>    - Kolla inställningarna för webbservern
>    - Att skapa en databas
>    - Att skapa en katalog för data
> 5. Gå till sidan för admininstration för att fortsätta med konfigurationen
> 6. Inställning av cron
> 7. Att skapa en ny kurs

### 1. Tekniska krav

> Moodle är i första hand utvecklat i Linux och med användning av Apache, MySQL och PHP (detta kallas ibland för LAMP-plattformen), men det har också regelbundet testats med PostgreSQL och i Windows XP, Mac OS X och Netware 6 operativsystem.

> De tekniska kraven för Moodle är som följer:

> 1. program för webbservern. De flesta använder Apache, men Moodle bör fungera väl med vilken webbserver som helst som stödjer PHP, såsom IIS på Windows plattformar.
> 2. PHP scriptspråk (version 4.1.0 or later). PHP 5 stödjs fr.o.m. Moodle 1.4.
> 3. en fungerande databasserver: MySQL eller PostgreSQL stödjs fullt ut och rekommenderas för användning med Moodle.

> De flesta webbvärdar stödjer allt detta som standard. Om Du har ett avtal med någon av de få webbvärdar som inte stödjer dessa egenskaper så bör Du fråga dem varför. Du bör också överväga att byta webbvärd.

> Om Du vill köra Moodle på Din egen dator och om det låter lite riskfyllt så är Du välkommen att läsa vår guide: Att installera Apache, MySQL ochPHP. Där hittar Du steg-för-steg-instruktioner för att installera detta på de mest populära plattformarna.

### 2. Ladda ner och kopiera filerna till rätt plats.

> Det finns två sätt att skaffa Moodle, antingen som en .zip-fil eller via CVS. Dessa sätt beskrivs i detalj på sidan för nedladdning: http://moodle.org/download/

> När Du har laddat ner och packat upp arkivet, eller om Du har installerat filerna med CVS, så kommer Du att ha en katalog som heter "moodle", som innehåller ett antal filer och mappar.

> Du kan placera hela denna katalog i Din webbservers katalog för dokument. Webbplatsen hittar Du då på http://dinwebbserver.com/moodle, Du kan också kopiera över allt innehåll direkt i webbserverns huvudkatalog. Då kommer webbplatsen helt enkelt att heta http://dinwebbserver.com.

> Om Du först laddar ner Moodle till Din lokala dator och sedan vill ladda upp systemet till Din webbplats så är det oftast bättre att ladda upp hela arkivet som en fil. Därefter kan Du packa upp den på servern. Det finns t.o.m. gränssnitt av typen Cpanel som låter Dig packa upp arkiv i "File Manager".

### 3. Webbplatsens struktur

> Du kan lugnt hoppa över den här sektionen men här hittar Du ändå en sammanfattning av innehållet i mappen Moodle. Detta för att det ska bli lättare för Dig att orientera Dig:

> > config.php | - | innehåller de grundläggande inställningarna. Den här filen kommer inte med Moodle - det är Du som måste skapa den.
> > install.php | - | Det här är det skript som Du behöver köra för att skapa config.php
> > version.php | - | definierar den aktuella versionen av Moodles kod.
> > index.php | - | första sidan på webbplatsen

> > - admin/ - kod för att administrera hela servern
> > - auth/ - plugin-moduler för att autenticera användare
> > - blocks/ - plugin-moduler för de små sidoblocken som finns på många sidor
> > - calendar/ - all den kod som behövs för att hantera och visa kalendrar
> > - course/ - kod för att visa och administrera kurser
> > - doc/ - hjälp-dokumentation för Moodle (som t.ex. den här sidan)
> > - files/ - kod för att visa och hantera uppladdade filer
> > - lang/ - texter på olika språk, en katalog per språk
> > - lib/ - bibliotek med Moodles källkod
> > - login/ - kod för att hantera inloggningar och registreringar
> > - mod/ - alla Moodles standardmoduler för aktiviteter i kurser finns här
> > - pix/ - allmän grafik för webbplatsen
> > - theme/ - Paket med teman/skin för att ändra webbplatsens utseende.
> > - user/ - kod för att visa och administrera användare

### 4. Kör skriptet för installation för att skapa config.php

> För att köra skriptet för installation (install.php), så behöver Du bara försöka gå till adressen (URL) till Din webbplats för Moodle med hjälp av en webbläsare eller gå direkt till http://dinserver/install.php.

> Skriptet för installation kommer att försöka att ställa in en 'cookie' (kaka) för en session. Om Du får upp en dialogruta i Din webbläsare med en varning om detta så ska Du acceptera en sådan 'cookie'!

> Moodle kommer att upptäcka att det är nödvändigt att konfigurera systemet och Du kommer att ledas genom några dialogrutor (skärmar) som hjälper Dig att skapa en ny konfigurationsfil som heter config.php. I slutet av processen kommer Moodle att försöka skriva in filen på rätt plats. Annars kan Du klicka på en knapp för att ladda ner den med hjälp av skriptet för installation så att Du sedan kan ladda upp config.php till huvudkatalogen för Moodle på servern.

> Under proceduren kommer skriptet för installation också att testa den miljö som finns i Din server och ge Dig förslag om hur Du ska lösa eventuella problem. I de flesta fall bör det vara tillräckligt med dessa förslag men om Du kör fast så kan Du leta efter mer information här nedan.

> ### 4.1 Allmänna inställningar för webbservern.

> > För det första så ska Du se till att Din webbserver är inställd för att använda index.php som standardsida (kanske i kombination med index.html, default.htm osv).

> > I Apache, så går det till så att en DirectoryIndex parameter i den fil som heter httpd.conf används. Min ser vanligtvis ut så här:

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

> > Säkerställ att index.php är med i listan (och helst i början av den, det är mest effektivt).

> > För det andra, om Du använder Apache 2, då bör Du aktivera variabeln AcceptPathInfo, som tillåter att skript skickas med som argument som t.ex. http://server/file.php/arg1/arg2. Det här är av avgörande betydelse för att det ska vara möjligt med relativa länkar mellan Dina resurser och för dem som använder Din webbplats för Moodle innebär det också en förstärkning av Moodles prestanda. Du kan aktivera detta genom att lägga till de nedanstående raderna i den fil som heter httpd.conf file.

> > >     AcceptPathInfo on (det vill säga 'på')

> > För det tredje, så kräver Moodle att ett antal inställningar i PHP är aktiverade för att det ska fungera. På de flesta servrar så kommer dessa inställningar redan att vara aktiverade som standard. Trots detta kan det vara så att en del PHP-servrar (och en del av de nyare versionerna av PHP) kan ha andra värden inställda. Dessa definieras isåfall i PHP:s konfigurationsfil (vanligtvis kallad php.ini):

> > >     magic_quotes_gpc = 1    (mest önskvärda men inte nödvändiga)
> > >     magic_quotes_runtime = 0    (nödvändig)
> > >     file_uploads = 1
> > >     session.auto_start = 0
> > >     session.bug_compat_warn = 0

> > Om Du inte har tillgång till httpd.conf eller php.ini på Din server, eller om Du har Moodle på en server med andra applikationer som kräver andra inställningar så behöver Du inte oroa Dig över detta eftersom Du ändå kan göra inställningar som tar över (OVERRIDES) de förinställda.

> > För att göra detta så behöver Du skapa en fil i Moodles huvudkatalog som kallas .htaccess och som innehåller rader liknande de följande. Det här fungerar bara på servrar av typen Apache och bara när när 'Overrides' har tillåtits i den övergripande konfigurationen.

> > >     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 också göra saker som att definiera den maximala storleken för uppladdade filer:

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

> > Det enklaste är att bara kopiera exempelfilen från lib/htaccess och redigera den så att den passar Dina behov. Den innehåller vidare instruktioner. T.ex. i en 'Unix shell':

> > >     cp lib/htaccess .htaccess

> ### 4.2 Skapar en databas

> > Du behöver skapa en tom databas (t.ex. "moodle") i Ditt databassystem tillsammans med en speciell användare (t.ex. "moodlare") som har tillgång till den databasen (och endast till den databasen). Du skulle kunna använda "root" användare på en testserver om Du ville, men detta rekommenderas inte för ett produktionssystem: om hackers skulle lyckas upptäcka lösenordet så kommer hela Ditt databassystem att vara utsatt för risk och inte bara just den databasen.

> > Om Du använder en webbvärd, så har de antagligen en kontrollpanel med ett webbgränssnitt som Du kan använda för att skapa Din databas.

> > Cpanel är en av de mest populära av kontrollpanelerna. För att skapa en databas i Cpanel:

> > 1. Klicka på ikonen "MySQL Databases".
> > 2. Skriv in "moodle" i databasfältet och klicka "Add Database (Lägg till databas)".
> > 3. Skriv in ett användarnamn och ett lösenord (inte ett som Du använder någon annanstans) i respektive fält och klicka på "Add User(Lägg till användare)".
> > 4. Använd sedan knappen "Add User to Database (Lägg till användare till databas)" för att ge den här användaren ett nytt användarkonto med "ALL (alla)" rättigheter i den nya databasen.
> > 5. Lägg märke till att användarnamnet och namnet på databasen kan ha fått ett extra prefix som är bestämt utifrån namnet på Ditt konto som användare av Cpanel. När Du skriver in denna information i installationsprogrammet för Moodle så ska Du använda de fullständiga namnen.

> > Om Du har tillgång till kommandorader i Unix, då kan Du göra samma sak genom att skriva in kommandon.

> > Här följer några exempel på kommandrader i UNIX fö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

> > Och några exempel på kommandorader fö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

> ### 4.3 Att skapa en katalog för data

> > Moodle kommer också att behöva ett visst utrymme på Din servers hårddisk för att lagra uppladdade filer såsom kursdokument och användarbilder.

> > Installationsprogrammet för Moodle gör tappra försök att skapa denna katalog åt Dig men om det inte går då måste Du skapa en sådan katalog manuellt.

> > Med tanke på säkerheten så är det bäst att den här katalogen INTE är tillgänglig direkt via webben. Det enklaste sättet att lösa det här problemet är att helt enkelt att placera den UTANFÖR webbkatalogen (www). Om Du måste ha den i webbkatalogen då bör Du skydda den genom att skapa en fil i datakatalogen som kallas för .htaccess och som innehåller följande rad:

> > >     deny from all

> > För att säkerställa att Moodle kan spara uppladdade filer i den här katalogen så ska Du kontrollera att webbserverprogrammet (t.ex. Apache) har tillstånd att läsa, skriva och köra (program) i den här katalogen.

> > På Unix maskiner, betyder den här inställningen att ägaren av katalogen kan var något i stil med "nobody" eller "apache", och därmed får den användaren tillstånd att läsa, skriva och köra (program).

> > På Cpanel system kan Du använda "File Manager" för att hitta mappen, klicka på den och sedan välja "Change Permissions". På många webbhotell där man delar server med andra kommer Du antagligen att behöva begränsa all tillgänglighet till filer till Din "grupp" (detta för att hindra andra kunder på webbhotellet från att titta på eller ändra Dina filer) men ändå se till att alla andra, som Du vill ska ha rättigheter och tillgång till Dina filer också får det.

> > Tala med den som är administratör för Din webbserver om Du är osäker på hur Du ska göra den här inställningen på ett säkert sätt. Specifikt gäller det att vissa webbplatser som använder en egenskap i PHP som kallas "Safe Mode" kan kräva att det är administratören som ska skapa den här katalogen åt Dig så att det blir rätt.

### 5. Gä till sidan för administration för att fortsätta konfigurationen.

> När Du väl har skapat den grundläggande config.php på ett korrekt sätt i det föregående steget, så kommer att Du, när Du försöker att gå till hemsidan på Din webbplats, att istället att bli länkad till sidan för "administration" så att Du kan slutföra konfigurationen.

> Första gången som Du använder den här sidan kommer Du att få se ett GPL "shrinkwrap" avtal som Du måste acceptera innan Du kan fortsätta intallationen.

> Därefter kommer Moodle sätta igång att iordningsställa Din databas och skapa tabeller för att lagra data. Först skapas de grundläggande databastabellerna. Du bör se ett antal SQL-satser som åtföljs av statusmeddelanden (i grönt eller rött) som ser ut så här:

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

> > FRAMGÅNG

> ...osv, följt av: De grundläggande databaserna har satts upp framgångsrikt.

> > Om Du inte ser dessa, då måste det ha uppstått något problem med databasen eller med de inställningar i konfigurationen som Du definierade i config.php. Kolla att PHP inte är i ett begränsat "Safe Mode"-läge (kommersiella webbvärdar har ibland säkert läge 'safe mode' aktiverat). Du kan kolla PHP-variabler genom att skapa en liten fil som innehåller <?php phpinfo() ?> och titta på den genom en webbläsare. Kolla alla dessa variabler och försök sedan att uppdatera denna sida.

> Skrolla till allra längst ner på sidan och klicka på länken "Fortsätt".

> Du bör nu se ett formulär där Du kan definiera fler variabler för konfiguration av Din installation, såsom t.ex. vilket språk som ska vara förvalt, SMTP värdar osv. Oroa Dig inte för mycket över hur Du ska få till allting rätt just nu - Du kan alltid komma tillbaka hit och redigera saker genom att använda gränssnittet för administratörer. De förinställda värden bör passa och vara säkra för de allra flesta webbplatser. Skrolla ner till slutet på sidan och klicka på "Spara ändringar".

> > Om (och bara om) det visar sig att Du fastnar på den här sidan då beror det troligen på det som kallas ett "buggy referrer" problem. Det här är lätt att åtgärda: avaktivera bara inställningen "secureforms (säkra formulär)" och försök sedan att fortsätta.

> Därefter kommer Du att få se ytterligare ett antal sidor som skriver ut mängder med statusmeddelanden i takt med att de sätter upp de tabeller som hör till de olika modulerna. Liksom tidigare bör de alla visas med en grön font.

> Skrolla ner till längst ner på sidan och klicka på länken "Fortsätt".

> Nästa sida är ett formulär som låter Dig definiera parametrar för hela Din webbplats av Moodletyp och hur ingångssidan ska visas såsom namn, formatering, beskrivning osv. Fyll i detta (Du kan alltid återvända till denna sida och göra ändringar senare) och klicka sedan på "Spara ändringar" "Save changes".

> Sedan kommer Du slutligen att bli uppmanad att skapa en användare med behörigheter och rättigheter som administratör på toppnivå så att Du kan få tillgång till sidorna för adminstration i fortsättningen. Fyll i detta med Ditt eget namn, e-postadress osv och klicka sedan på "Spara ändringar". Alla fält är inte obligatoriska, men om Du har missat något/några av de viktiga fälten så kommer Du att få påminnelser om detta.

> > > > > Försäkra Dig om att komma ihåg det användarnamn och det lösenord Du valde för administratörskontot. Du måste ha tillgång till dessa koder för att få tillgång till sidan för administration i fortsättningen.

> > (Om det av någon anledning blir avbrott i Din installation eller om det uppstår någon form av systemfel som hindrar Dig från att logga in som administratör, så kan Du i regel logga in med det förinställda användarnamnet "admin", med lösenordet "admin".)

> När Du väl har lyckats så kommer Du att få se ingångssidan på Din nya webbplats! Lägg märke till att länkarna till administrationen dyker upp nere på vänster sida av sidan (dessa komponenter visas också på den separata sidan för administration). Dessa komponenter är synliga bara om Du är inloggad som administratör. Du kan nu utföra allt Ditt administrativa arbete med Moodle med hjälp av den här menyn, som t.ex. :

> - skapa och ta bort kurser
> - skapa och ta bort användarkonton
> - administrera lärarkonton
> - ändra inställningar som är giltiga på hela webbplatsen som teman etc

> Men installationen är inte klar än! Det återstår fortfarande en mycket viktig sak att göra (se nästa sektion om cron).

### 6. Att ställa in cron -- VIKTIGT!

> En del av Moodles moduler kräver upprepade kontroller för att genomföra sina uppgifter. Moodle behöver t.ex. kontrollera diskussionsforumen så att systemet kan skicka ut kopior av inlägg i forum via e-post till dem som har prenumererat på detta forum.

> Skriptet som gör allt detta hittar Du i katalogen 'admin' och det kallas cron.php. Det kan dock inte köra sig självt så Du behöver sätta upp en mekanism där skriptet körs regelbundet (t.ex. var femte eller tionde minut). Detta tillför en "puls" så att skriptet kan utföra periodiserade funktioner som är definierade av varje modul. Denna typ av mekanism kallas för en cron service.

> Lägg märke till att den maskin som utför cron inte behöver vara samma maskin som den som kör Moodle. Om Du t.ex. har en begränsad tjänst hos ett webbhotell då kan Du välja att köra cron från en annan server eller från Din egen hemdator. Det enda som är viktigt är att filen cron.php blir anropad regelbundet.

> Belastningen på det här skriptet är inte så hög, så fem minuter är i regel lagom men om Du oroar Dig över detta så kan Du minska tidsperioden till femton eller t.o.m. trettio minuter. Det bästa är att inte göra tidsperioden alltför lång. Om Du fördröjer utskicket av e-post så kan även aktiviteterna i kursen bli långsammare.

> För det första, testa så att skriptet fungerar genom att köra det direkt via Din webbläsare:

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

> Sedan behöver Du sätta upp något sätt att köra skriptet automatiskt och regelbundet.

> På Windows-system

> > Det enklaste sättet är att använda detta lilla paket moodle-cron-for-windows.zip som gör det hela mycket enkelt genom att installera en liten Windows-service. Kör den och glöm det hela!

> Om tjänster hos webbhotell

> > I Din webbbaserade kontrollpanel kan det ingå en webbsida som låter Dig ställa in den här cron-processen. T.ex. på ett Cpanel-system ska Du titta efter en knapp som heter "Cron jobs". Där kan Du fylla i samma typ av Unix-kommandon som de som är listade nedan.

> #### Att använda kommandoraden i Unix

> > Det finns olika program med kommandorader som Du kan använda för att anropa sidan från kommandoraden. Det är inte säkert att alla dessa är tillgängliga på en viss server.

> > Du kan t.ex. använda ett UNIX verktyg som 'wget':

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

> > Lägg märke till att i det här exemplet så tas resultatet bort (to /dev/null).

> > Samma sak med användning av lynx:

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

> > Alternativt skulle Du kunna använda en 'standalone' version av PHP, som är kompilerad för att köras från kommandoraden. Fördelen med att göra detta är att loggarna från Din webbserver inte fylls upp med konstant upprepade förfrågningar till cron.php. Nackdelen är att Du behöver ha tillgång till en php-version som tillåter styrning via kommandorad.

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

> #### Att använda crontab-programmmet i Unix

> > Allt som Cpanel gör är att tillhandahålla ett gränssnitt för webben för ett UNIX verktyg som kallas 'crontab'. Om Du har en kommandorad så kan Du ställa in 'crontab' själv genom att använda kommandot:

> > >     crontab -e

> > och sedan lägga till ett av kommandona ovan som t.ex.:

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

> > Vanligtvis så kommer, 'crontab'-kommandot att ta Dig till 'vi'-redigeraren. Du går in i "insert mode" genom att trycka på 'i', och sedan skriva in raden så som ovan och sedan gå ur läge infoga 'insert mode' genom att trycka på ESC. Du sparar och går ur genom att skriva in ':wq', eller avbryter utan att spara genom att använda ':q!' (utan apostrofer).

### 7. Skapa en ny kurs

> Nu när Moodle alltså fungerar som det ska, kan Du försöka skapa en ny kurs att experimentera med.

> Välj "Skapa en ny kurs" från sidan för administration (eller via länkarna för administration på hemsidan).

> Fyll i formuläret, och lägg särskilt märke till kursformatet. Du behöver inte bekymra Dig om detaljerna i det här läget eftersom Du kan ändra på allting i ett senare skede. Lägg märke till att de gula hjälpikonerna finns med överallt för att ge sammanhangsberoende hjälp om allt Du behöver veta.

> Klicka på "Spara ändringar", och då kommer Du till ett nytt formulär där Du kan tilldela (distans)lärare till kursen. Du kan bara lägga till redan befintliga användarkonton från det här formuläret - om Du vill skapa ett nytt lärarkonto då får Du antingen be dem att skapa ett eget sådant själva (se sidan för inloggning) eller skapa ett åt dem genom att använda funktionen "Lägg till ny användare" på sidan för administration.

> När detta väl är gjort så är kursen klar så att Du kan ange de inställningar Du vill göra. Kursen är också tillgänglig via länken "Kurser" på hemsidan.

> Se "Lärarmanualen" för mer detaljer angående design av kurser.

> Lycka till med Ditt utforskande av Moodle och med moodlandet!

> Om Du tycker om Moodle, kanske Du kan tänka Dig att donera för att hjälpa oss att täcka våra kostnader!

Dokumentation av Moodle

Version: $Id: install.html,v 1.6.2.3 2006/02/06 10:00:36 moodler Exp $