Webbhotell för Moodle
Moodle är världens mest använda open source-lärplattform och driver kurser för skolor, universitet, myndigheter och företag. Men Moodle är ingen lätt webbplats. Det är ett resurskrävande system med hög databasbelastning, täta cron-jobb och belastningstoppar när hundratals studenter loggar in samtidigt för ett prov.
Vi har gått igenom vad Moodle faktiskt kräver av sin servermiljö och filtrerat fram webbhotell och VPS-alternativ som klarar det.
Fem bra val för Moodle - PHP-versionen sätter gränsen
Moodle 5 kräver PHP 8.2 eller senare och lutar sig tungt mot cron för köer och notiser, en kurs utan cron bearbetar allt i webbläsaren och kravlar. Alla fem här klarar båda kraven. Det som skiljer dem är hur mycket kursmaterial som får plats och vad det kostar.
Moodle 5 kräver PHP 8.2 eller senare och bearbetar det mesta i bakgrunden via cron, så cron är ett krav. Sedan väger vi databaser, lagring och betyg. Så gör vi bedömningen
-
Snabb drift, men snålt utrymme Testat av oss Betyg 4,80
Oderland kör LiteSpeed med Redis och cron, från servrar i Göteborg, och PHP-versionen räcker för Moodle 5. Standard kostar 215 kronor i månaden. Haken för en kurs med mycket material är utrymmet: bara 30 gigabyte, minst av de fem.
-
100 GB och svensk telefon Testat av oss Betyg 4,60
Inleeds Prime #2 ger 100 gigabyte, cron och support dygnet runt för 239 kronor i månaden, med servrar i Sverige. Det räcker för videotunga kurser. Priset är listans näst högsta, men för en skola är svensk telefonlinje ofta värd det.
-
100 GB till lägre pris Granskat, ej testat Betyg 4,30HostUp ger 100 gigabyte, cron och LiteSpeed för 149 kronor i månaden vid förnyelse, med servrar i Älvsjö. Det är mer utrymme per krona än de svenska konkurrenterna. Supporten är dock chatt och e-post, ingen telefon för en stressad kursansvarig.
-
Mest utrymme per krona Granskat, ej testat Betyg 4,10
Infomaniak ger 250 gigabyte NVMe och PHP 8.4 för 5,75 euro i månaden utan förnyelsehopp, det billigaste stora utrymmet i faltet. Datacentren står i Schweiz, utanför EU men med kommissionens beslut om adekvat skyddsnivå. Supporten är inte på svenska.
-
Stockholm, 100 GB och dygnet runt Testat av oss Betyg 3,70Miss Hostings Small står i Stockholm med cron och support dygnet runt. Paketet ger 100 gigabyte men bara 10 databaser, vilket räcker för en Moodle-installation. Förnyelsepriset 129 kronor är rimligt, men introduktionspriset 32 kronor gäller bara första året.
Priser anges exklusive moms i leverantörens egen valuta, och avser det paket som bäst uppfyller facettens krav. Baslinjen är ett års bindning delat med tolv.
Utforska webbhotell efter ämne
Moodle är resurskrävande, inte bara ett plugin
Moodle är det dominerande öppna lärplattformsystemet (LMS) i världen och används av allt från kommunala skolor till universitetsinstutioner och företagsutbildningar. Till skillnad från en vanlig WordPress-sajt eller en presentationssida är Moodle en applikation som används aktivt och samtidigt av många. Det gör hosting-valet till något mer än ett pris-per-månad-beslut.
Det vi ser när vi tittar på Moodle-installationer som fungerar dåligt är nästan alltid samma mönster: för lite RAM, en cron-körning som missats eller schemalagts för sällan, och en databas som delar resurser med andra kunders webbplatser. Moodle kan absolut fungera på ett välkonfigurerat delat webbhotell för ett litet kursutbud med få aktiva deltagare. Men det är en smalt fönster, och det kräver att webbhotellet faktiskt tillhandahåller tillräckliga resurser under prissidan.
Det här är en genomgång av vad Moodle faktiskt kräver för att fungera väl, och hur det påverkar valet av hosting-lösning.
Resurskraven är verkliga och ska tas på allvar
Moodle är inte ett tungt system i bemärkelsen att det alltid belastar servern hårt. Problemet uppstår i belastningstoppar. När 30 elever laddar ner kursmaterial, skickar in uppgifter och ser kurssidor samtidigt ställs krav på PHP-processer, databasanslutningar och I/O som ett delat webbhotell ofta möter med felkoder och timeout-meddelanden.
PHP-minnesgräns är en central parameter. Moodle rekommenderar minst 128 MB per process, men i praktiken är 256 MB ett mer realistiskt golv för en installation med fler än ett hundratal aktiva deltagare och ett normalt antal plugins (aktivitetsmoduler, teman, autentiseringsplugins). Har du videokonferensintegration som BigBlueButton eller H5P-aktiviteter med interaktivt innehåll kan du behöva ännu mer.
Stor lagring är ett annat konkret krav. Elever laddar upp inlämningsuppgifter, kursmaterialet inkluderar PDF:er och presentationer, och ibland videofiler. Det är inte ovanligt att ett aktivt Moodle-system med ett 50-tal kurser konsumerar 20-50 GB lagring över ett år. Kontrollera att hostingplanen inte har snäva inläggsfilgränser eller låga kvoter för upload_max_filesize.
Cron är inte valfritt i Moodle
Moodle är helt beroende av att dess cron-jobb körs regelbundet, och standardrekommendationen är en gång per minut. Cron hanterar allt från schemalagda kursaktiviteter och forummeddelanden till betygsberäkningar och rensning av sessioner. Kör cron för sällan (t.ex. var 15:e minut, vilket är standard på många delade webbhotell) märker du det direkt: e-postnotifieringar dröjer, uppgifter visas inte som inlämnade i tid, och administrationen känns seg. Kontrollera alltid att du kan sätta upp ett cron-jobb med minuts-intervall hos ditt webbhotell.
Databas: MySQL och MariaDB fungerar, PostgreSQL också
Moodle stöder MySQL, MariaDB och PostgreSQL. De allra flesta webbhotell erbjuder MySQL eller MariaDB, och det fungerar utmärkt. Det viktiga är inte vilken av de tre du väljer, utan hur mycket resurser databasservern har tillgång till. På ett delat webbhotell delar du MySQL-anslutningar med andra kunder. Under belastningstoppar kan anslutningsgränsen (vanligtvis 10-25 anslutningar per konto på delade planer) nås snabbt av Moodle, vilket ger felsidan "Too many connections" i stället för kursinnehåll.
På en VPS styr du databaskonfigurationen själv och kan sätta InnoDB-buffertpoolen efter faktiskt behov. Det är en av de tydligaste praktiska fördelarna med att flytta Moodle från delad hosting till en virtual private server när systemet växer.
Vad Moodle behöver från ditt webbhotell
Gå igenom dessa fyra punkter innan du bestämmer dig. Alla är nödvändiga för en fungerande installation.
PHP 8.3 eller nyare
Kravet höjs snabbt mellan versionerna. Moodle 5.2 kräver minst PHP 8.3 och stöder PHP 8.4, medan LTS-versionen 4.5 fortfarande går på PHP 8.1. Väljer du webbhotell efter den äldre siffran låser du dig till en Moodle-gren som bara får säkerhetsuppdateringar. OPcache ska vara aktiverat som standard. Kontrollera också att max_execution_time är minst 180 sekunder. Moodle-cron kan köra länge.
MySQL 8.4, MariaDB 10.11 eller PostgreSQL 16
Alla tre stöds officiellt, men Moodle 5.2 höjde minimikraven till MySQL 8.4, MariaDB 10.11 eller PostgreSQL 16. Fråga efter databasversionen innan du tecknar. Den står sällan i produktbladet, och en äldre gren stoppar installationen av senaste Moodle. Kontrollera också att anslutningsgränsen inte är för snäv och att servern inte är hårt belastad av andra kunders trafik.
Generöst diskutrymme
Moodle lagrar kursfiler, inlämningar, backuper och loggar. Räkna med 20-50 GB för en medelstor installation med aktivt kursutbud. Gränsen för upload_max_filesize bör vara minst 100 MB om elever ska ladda upp presentationer och videofiler.
Cron varje minut
Det är inte ett önskemål utan ett krav. Fråga leverantören specifikt om de tillåter cron-intervall ned till en minut. Många delade webbhotell begränsar det till 5 eller 15 minuter, vilket ger en märkbar försämring av Moodles funktionalitet.
Delad hosting: möjligt men med tydliga gränser
Vi är ärliga om det här: ett delat webbhotell räcker för Moodle i liten skala. En installation med 5-10 kurser och kanske 30-50 aktiva deltagare som inte är online samtidigt kan fungera acceptabelt på ett välkonfigurerat delat webbhotell, förutsatt att PHP-minne är tillräckligt och cron-jobbet kan köras varje minut.
Problemet är att de flesta skolor och organisationer som sätter upp Moodle planerar att växa. Och när systemet väl används på allvar, med elever som loggar in under ett lektionspass, lärare som publicerar material och automatiska betygsberäkningar som körs i bakgrunden, krymper marginalen på delad hosting snabbt. Det är jobbigare att flytta en aktiv Moodle-installation mitt i en termin än att börja på rätt nivå från start.
Om du vet att du kommer ha fler än 100 aktiva användare är det värt att börja med en VPS direkt. Kostnaden är inte dramatiskt högre, och du slipper en migreringsoperation vid fel tillfälle. Det ger dig också full kontroll över PHP-konfigurationen, cron-schemaläggning och serverminne.
Moodle är resurstungt inte för att koden är dålig, utan för att det används av många samtidigt. Det är en applikation, inte en webbplats.
Caching: OPcache är grunden, MUC är Moodles egna
Moodle har ett eget cachningssystem kallat MUC (Moodle Universal Cache) som hanterar allt från sessioner till beräknade data. Som standard lagrar MUC i filsystemet, vilket fungerar men inte är optimalt. På en VPS eller dedikerad server kan du konfigurera MUC att använda Redis eller Memcached för objektcache, vilket avlastar filsystemet och minskar svarstider märkbart under belastning.
OPcache på servernivå är ett minimikrav som de flesta seriösa webbhotell erbjuder. Det kompilerar PHP-kod till bytekod och håller den i minnet, vilket eliminerar en stor del av tolkningsoverheaden per sidanrop. Saknas OPcache märker du det tydligt i adminpanelens svarstider.
För databasnivån är en välkonfigurerad InnoDB-buffertpool den viktigaste cachingfaktorn. På delad hosting har du ingen kontroll över den. På VPS är det en av de första inställningarna att justera.
Kontrollera detta innan du väljer webbhotell för Moodle
- PHP 8.3 eller nyare med OPcache aktiveratKontrollera inte bara vilka versioner som finns tillgängliga utan vilken som är standard. OPcache ska vara på utan att du behöver begära det separat.
- PHP memory_limit minst 256 MB128 MB räcker för testinstallationer men är för lite för ett aktivt system. Be leverantören bekräfta eller installera phpinfo() för att mäta det faktiska värdet.
- max_execution_time minst 180 sekunderMoodle-cron och betygsrapporter kan ta lång tid att köra. En för snäv timeout ger avbrutna processer som ser ut som hängda sidor.
- Cron-jobb med minuts-intervall tillåtetFråga specifikt. Många leverantörer anger att cron finns tillgängligt men begränsar intervallet till 5 eller 15 minuter i praktiken.
- upload_max_filesize minst 100 MBElever behöver kunna ladda upp stora filer. Standardvärdet på många delade planer är 32-64 MB, vilket är för lite för videouppladdningar och stora presentationer.
- Tillräckligt diskutrymme (minst 20 GB tillgängligt)Räkna in kursfiler, inlämningar, Moodle-backuper och loggar. En aktiv installation växer snabbt.
- MySQL 8.4 eller MariaDB 10.11 med rimlig anslutningsgränsTvå saker att fråga om på delad hosting. Först vilken databasversion som körs, eftersom Moodle 5.2 inte installeras på äldre grenar. Sedan hur många samtida databasanslutningar som tillåts per konto. Under 10 anslutningar är för lite för ett aktivt Moodle-system.
Börja på VPS om du räknar med tillväxt
En ingångsnivå-VPS med 2-4 GB RAM och 2 vCPU-kärnor ger Moodle tillräckliga resurser för att hantera upp till ett par hundra aktiva användare, och du har full kontroll över PHP-konfiguration, cron och cachning. Kostnaden skiljer sig inte dramatiskt från ett premium delat webbhotell, men flexibiliteten är helt annan.
Vanliga frågor om webbhotell för Moodle
Moodle ställer högre krav på servermiljön än de flesta webbapplikationer. Här reder vi ut vad som faktiskt gäller.
Krav och kompatibilitet
Moodle går tekniskt att installera på delat webbhotell, men plattformen fungerar dåligt i den miljön och det är sällan värt besväret. Delad hosting saknar typiskt SSH-åtkomst för CLI-cron, har begränsningar på max_input_vars och execution time, och kan inte ge dedikerade databasresurser. Från Moodle 5.1 tillkom dessutom ett krav på en separat publik katalog som webbserverns document root måste peka på, vilket bryter mot hur de flesta delade webbhotell konfigurerar vhosts. För seriös drift pekar Moodle-communityt mot VPS som lägstanivå.
Moodle 5.2 kräver PHP 8.3 eller senare i 64-bitarsutförande, och PHP 8.4 stöds. Kravet höjdes i just 5.2, så en installation som gick fint på PHP 8.2 under Moodle 5.1 stannar vid uppgraderingen. Utöver versionen krävs att OPcache är aktiverat och att max_input_vars är satt till minst 5 000, ett värde som många delade webbhotell låser lägre. Sodium-tillägget behövs för kryptografifunktioner. Det räcker sällan att PHP-versionen stämmer. Det är kombinationen av inställningar som avgör om plattformen beter sig stabilt vid examinationstillfällen och massuppladdningar.
Moodles egna minimikrav är 512 MB RAM, men det är ett golv för testinstallationer, inte för produktion. En server som ska hantera aktiva kurser med parallella inlämningar behöver rimligen 2–4 GB dedikerat minne, och större organisationer med hundratals aktiva elever räknar med 8 GB eller mer. På delat webbhotell är minnesallokering per konto sällan dokumenterad och ännu mer sällan garanterad.
Cron och bakgrundsuppgifter
CLI-versionen av PHP kör utan de tidsbegränsningar och minnesgränser som webbservern tillämpar, och den drar inte resurser från det vanliga HTTP-flödet. HTTP-cron fungerar tekniskt men är opålitlig: en lång bakgrundsuppgift konkurrerar med elevernas sidladdningar, och om PHP-processen avbryts av en server-timeout avbryts uppgiften halvfärdig. Moodles dokumentation beskriver CLI-cron som en förutsättning för stabil drift, inte ett trevligt tillval.
En felmatchad eller stillastående cron ger ofta problem som inte syns direkt: e-postköer slutar tömmas, betyg och slutföranden räknas inte om, och schemalagda aktiviteter skjuts på framtiden utan felmeddelande. Plattformen kan verka fungera normalt medan kursdata sakta hamnar ur fas. Vissa delade webbhotell begränsar dessutom kronjobb till en gång var 15–30:e minut, vilket är för sällan för Moodles inbyggda schemaläggare.
Kapacitet och skalning
Gränsen för delad hosting brukar sättas vid 25–50 registrerade elever, och det förutsätter låg samtidighet. En VPS med 4 GB RAM klarar uppskattningsvis 80–160 samtidiga användare under normala förhållanden, men toppbelastning som en hel klass som gör ett tidsbegränsat prov på exakt samma minut kan landa närmare det lägre värdet. Verklig kapacitet beror också på hur aggressivt Redis-cachning är konfigurerat och om databasen körs lokalt eller via nätverksanrop.
En välkonfigurerad VPS med 8–16 GB RAM och Redis-cachning täcker de flesta kommunala skolor, utbildningsföretag och interna HR-plattformar med upp till några hundra aktiva elever. Dedikerad server eller klustrad infrastruktur blir aktuellt när man har tusentals samtida sessioner, komplicerade integrationsbehov mot HR-system, eller krav på noll-driftstopp vid uppgraderingar. Gränsen är mer sällan hårdvaran i sig och oftare databasoptimering och cachlagring.
MoodleCloud tar bort serveransvaret helt och hållet, vilket är attraktivt för organisationer utan egen IT-personal. Betaltjänsten börjar på motsvarande 1 000–1 700 kr per år för upp till 50 användare och skalas uppåt. Den avgörande begränsningen är att MoodleCloud inte tillåter egna tillägg eller anpassade plugins, vilket utesluter organisationer som behöver specifik funktionalitet. Självhostad Moodle på en VPS ger full kontroll men kräver att någon håller koll på säkerhetsuppdateringar, PHP-versioner och databasunderhåll.