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.

Läs om hur vi testar och betygsätter

26 resultat Priser exkl. moms
Sverige Oderland 3 paket
4.8
SSL SSH Backup HTTP/3 Sverige WordPress WooCommerce Redis GDPR Grönt Litespeed Cpanel
Från
215 kr /mån
USA Kinsta 3 paket
4.6
Endast WordPress SSL SSH Backup HTTP/3 WordPress WooCommerce Managed Nginx
Sverige Inleed 5 paket
4.6
SSL SSH Backup HTTP/3 Sverige WordPress WooCommerce Redis GDPR NginxLitespeed Directadmin
Sverige Templ 5 paket
4.5
Endast WordPress SSL SSH Backup HTTP/3 WordPress Managed Nginx
Intropris från
142 kr /mån
Ord. från 155 kr/mån
USA WP Engine 4 paket
4.4
Endast WordPress SSL SSH Backup WordPress WooCommerce Managed Nginx
USA Cloudways 3 paket
4.3
SSL SSH Backup WordPress Apache
Sverige HostUp 3 paket
4.3
SSL SSH Backup Sverige WordPress GDPR Litespeed Cpanel
Intropris från
59 kr /mån
Ord. från 79 kr/mån
Danmark Simply.com 4 paket
4.2
SSL SSH Backup WordPress Apache
Intropris från
2 kr /mån
Ord. från 110 kr/mån
Bulgarien SiteGround 2 paket
4.1
SSL SSH Backup WordPress GDPR
Intropris från
3 kr /mån
Ord. från 16 kr/mån
Schweiz Infomaniak 1 paket
4.1
SSL SSH Backup WordPress GDPR Grönt Apache
Tyskland Hetzner 4 paket
4.0
SSL SSH Backup Redis GDPR Grönt Apache
Litauen Hostinger 3 paket
4.0
SSL SSH Backup WordPress WooCommerce GDPR Litespeed
Intropris från
24 kr /mån
Ord. från 118 kr/mån
Sverige EgenSajt 1 paket
3.9
SSL SSH Backup Sverige WordPress Apache
USA Namecheap 3 paket
3.8
SSL SSH Backup WordPress Litespeed Cpanel
Intropris från
2 kr /mån
Ord. från 4 kr/mån
3.8
SSL SSH Backup WordPress Redis GDPR Litespeed Cpanel
Intropris från
4 kr /mån
Ord. från 12 kr/mån
3.7
SSL SSH Backup WordPress GDPR Litespeed Cpanel
Intropris från
1 kr /mån
Ord. från 119 kr/mån
Tyskland Strato 3 paket
3.6
SSL SSH Backup WordPress GDPR Grönt Apache
Intropris från
1 kr /mån
Ord. från 59 kr/mån
Tyskland IONOS 4 paket
3.5
SSL SSH Backup WordPress GDPR Grönt Apache
Intropris från
1 kr /mån
Ord. från 8 kr/mån
Sverige Wopsa 3 paket
3.5
SSL Backup Sverige WordPress GDPR Cpanel
Intropris från
7 kr /mån
Ord. från 69 kr/mån
Danmark Polar55 1 paket
3.5
SSL SSH Backup WordPress Litespeed Cpanel
Intropris från
9 kr /mån
Ord. från 39 kr/mån

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.1 eller nyare

Moodle 4.x kräver minst PHP 8.0, men PHP 8.1 eller 8.2 ger bättre prestanda och aktivt underhåll. OPcache ska vara aktiverat som standard. Kontrollera också att max_execution_time är minst 180 sekunder. Moodle-cron kan köra länge.

MySQL, MariaDB eller PostgreSQL

Alla tre stöds officiellt. På delad hosting är det MySQL/MariaDB som gäller. Det viktiga är att databasanslutningsgrä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.1 eller 8.2 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/MariaDB med rimlig anslutningsgränsPå delad hosting: fråga 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 bryter mot hur de flesta delade hotell konfigurerar vhosts. För seriös drift pekar Moodle-communityt mot VPS som lägstanivå.

Moodle kräver PHP 8.2 eller senare (64-bitars), att OPcache är aktiverat, och att max_input_vars är satt till minst 5 000, ett värde som många delade hotell 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 hotell 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.