Na tejto stránke nájdete odpovede na niektoré nejčastejšie kladené otázky týkajúce sa inštalácie Moodle. Ak ste sa držali pokynov pre inštaláciu, a predsa ste sa dostali do problémov, potom je táto stránka určena práve vám...
Ak tu odpoveď na svoju otázku nenájdete, vyskúšajte kurz Using Moodle na moodle.org. Začnite prehľadaním diskusných fór, pretože je možné, že rovnaký problém, ako je ten váš, už nekdo riešil. Ak nenájdete nič, čo by vám pomoholo, môžete svoju otázku poslať do príslušného fóra – obvykle vám niekdo pomôže.
Ak ste bezvýsledne vyskúšali viacero rôznych riešení a váš server je umiestnený za firewallom, je vhodné pozmeniť nastavenie firewallu a vyskúšať, či neblokuje niektorú z vyžadovaných funkcií alebo nevyhnutnú komunikáciu. Firewally spôsobujú v kombinácii s Moodle problémy iba veľmi zriedkavo, v dôsledku nevhodnej konfigurácie sú však v nektorých prípadoch zodpovedné za zníženú funkčnosť Moodle.
Kliknutím na otázku z tohoto zoznamu sa dostanete priamo k príslušnej odpovedi:
Mám nainštalované PHP? Akú verziu?
Prečo sú moje stránky prázdne?
Neustále sa mi zobrazuje chybové hlásenie: Headers already sent.
Neustále sa mi zobrazuje chybové hlásenie: Failed opening required '/web/moodle/lib/setup.php'.
Zobrazujú sa mi chybové hlásenia ohľadom session_start.
Keď sa pokúsim pridať študijný materiál, dostanem chybové hlásenie.
Behom inštalácie nie som vyzvaný k vytvoreniu administrátorského účtu.
Nemôžem sa vôbec prihlásiť - zostanem na prihlasovacej obrazovke a systém ma nepustí ďalej.
Ako môžem zálohovať celú inštaláciu Moodle?
Prečo sa v Moodle nezobrazuje správny čas a dátum?
Z fór mi nie sú zasielané e-mailové kópie príspevkov.
Napríklad: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.
Webový server musí byť nakonfigurovaný tak, aby časť URL za názvom skriptu bolo možné priamo predať skriptu. Na serveroch Apache 1.x ide obvykle o štandardné nastavenie, na serveroch Apache 2.x je táto možnosť štandardne zakázaná. Funkciu zapnete tým, že do súboru httpd.conf alebo .htaccess vo vašom lokálnom adresári pridáte tento riadok (podrobnejšie v návode k inštalácií):
AcceptPathInfo on
Upozornenie: táto možnosť platí IBA pre servery Apache verzie 2.x.
Ak nepoužívate Apache verzie 2 a predsa máte tento problém (i keď je to veľmi nepravdepodobné), môžete použiť nižšie opísané náhradné riešenie. Jeho nevýhodou bude mierne zniženie výkonu pre používateľa a tiež a strata možnosti používať v HTML materiáloch relatívne odkazy.
Nastavenie náhradného riešenia: prihláste sa ako administrátor, prejdite na stránku Administratíva, v nej na odkaz Premenné a zmeňte nastavenie "slasharguments". Teraz by ste mali mať možnosť pristupovať k vloženým súborom.
Vytvorte kdekoľvek na serveri nový súbor info.php, ktorý bude obsahovať nasledujúci text. Potom zadajte jeho URL v prehliadači:
<?php phpinfo() ?>
Ak sa nič nestane, PHP nainštalované nemáte. Informácie o tom, odkiaľ ho môžete stiahnuť, najdete v návode k inštalácii Moodle.
Skontrolujte premennú dirroot v súbore config.php. Musíte použiť úplnu absolútnu cestu, ako napr.:
$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";
Pre platformu Redhat Linux viď Redhat Linux.
Ak sa vám objavujú chybové hlásenia ako napríklad
Parse error: parse error, unexpected T_VARIABLE in c:\program
files\easyphp\www\moodle\config.php on line 94
Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php
on line 11
...je pravdepodobné, že ste vynechali bodkočiarku alebo koncové uvodzovky na niektorom riadku v súbore config.php (pred riadkom 94).
Iným dôvodom môže byť, že ste súbor config.php editovali v programe, ako je napríklad Word a potom ste ho uložili ako webovú stránku vo formáte HTML miesto ako prostý text.
Ak sa vám objavujú chybové hlásenia ako napr.
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54
...máte prázdne riadky alebo medzery za koncovým reťazcom ?> v súbore config.php. Spôsobujú to niektoré editory (ako napr. Poznámkový blok vo Windows). Skúste preto iný editor a v ňom tieto prázdne riadky alebo medzery vymažte.
V súbore config.php musí premenná dirroot obsahovať úplnu cestu z koreňového adresára pevného disku vášho serveru.
Niekedy používatelia používajú iba cestu zo svojho domovského adresára alebo relatívnu cestu z východzieho adresára webového serveru.
Problémy s apostrofmi sú spôsobené nesprávnym nastavením "magic quotes". Moodle vyžaduje nasledujúce nastavenie (ktoré je obvykle defaultné):
magic_quotes_gpc = On
magic_quotes_runtime = Off
Viac nájdete v sekcii o konfiguráci webového serveru v návode k inštalácii Moodle.
Ak sa vám objavujú chybové hlásenia ako napr.
Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123
... je to tým, že PHP nemôže uložiť na server (do adresára /tmp) session súbory. Obvykle je to spôsobené tým, že na serveri taký adresár nemáte. Najčastejšie sa to stáva u serverov s Windows.
Riešením je upraviť nastavenie PHP tak, aby odkazovalo na existujúci adresár. V súbore php.ini nastavte
session.save_path = C:\temp
... alebo v súbore .htaccess
php_value session.save_path "/home/moodle/sessions"
Ak sa vám v Moodle 1.0.9 objavujú hlásenia
Please fix your settings in config.php:
You have: $CFG->dirroot = "/home/users/fred/public_html/moodle"; but it should be: $CFG->dirroot = ""; |
...potom ste narazili na drobnú chybu, ktorá sa prejavuje iba na nektorých serveroch. Jedná sa o problém algoritmu pre vyhľadávanie chýb a nie zadanej cesty. K jeho odstráneniu vyhľadajte riadok 66 v súbore admin/index.php
if ($dirroot != $CFG->dirroot) {
a zmeňte ho na
if (!empty($dirroot) and $dirroot != $CFG->dirroot) {
Skontrolujte, či URL v nastavení $CFG->wwwroot je úplne rovnaké s tým, ktoré používate k prístupe na stránky.
Ak používáte server Apache, je veľmi pravdepodobné, že nastavenie $CFG->wwwroot v súbore config.php je iné ako URL, ktoré používate k prístupu na stránky. Môžete tiež skúsiť vypnúť "secureforms" v administrátorskom nastavení.
Toto je známa chyba Moodle až do verzie 1.0.9. V hlavnom kóde v CVS a vo verzii 1.1 je už odstránená.
Netýka sa všetkých používateľov. Objavuje sa iba v prípade, že máte pri inštalácii Moodle vo svojom prehliadači cookie s názvom "user", "admin", alebo "teacher", ktoré pochádzajú z iného programu inštalovaného na tom istom serveri.
Rýchla oprava spočíva vo vymazaní cookies z prehliadača ešte pred začiatkom inštalácie, použitie iného prehliadača, alebo v úprave súboru moodle/admin/user.php v týchto úvodných riadkoch:
unset($user);
unset($admin);
unset($teacher);
Po vykonaní niektorej z vyššie uvedených zmien by stálo za úvahu vymazať všetky tabuľky z databázy a nainštalovať všetko odznova.
Nejčastejšou príčinou tejto chyby je, že váš vlastný počítač (nie server Moodle) má firewall, ktorý odstraňuje niektoré informácie týkajúce sa prehliadača. Tu je niekoľko návodov, ako upraviť firewally firmy Norton.
Správca serveru môže tiež vyriešiť tento problém pre všetkých používateľov tým, že upraví konfiguračnú stránku Moodle a zmení nastavenie premennej "secureforms" na "No".
Inou možnou príčinou tohoto problému môže byť to, že na vašom serveri nie sú správne nastavené sessions. Môžete to vyskúšať tak, že spustíte skript na http://yourserver/moodle/lib/session-test.php.
Potrebujete vytvoriť dve zálohy: zálohu databázy a zálohu vložených súborov. Skripty Moodle sú menej dôležité; ak bude treba, môžete si ich znovu nahrať.
Zálohovanie možno uskutočniť rozličnými spôsobmi. Tu je náčrtok krátkeho skriptu, ktorý môžete pre zálohovanie databázy spustiť v Unixe (je vhodné spúšťať taký skript každý deň prostrednictvom cronu).
cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename > moodle-database.sql
gzip moodle-database.sql
Pre vložené súbory môžete pravidelne použiť rsync, ktorý skopíruje na iný stroj iba súbory, u ktorých došlo k zmene:
rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/
Pre každý jazyk je potrebné nastaviť príslušný kód jazyka (takzvané locale), ktorý zaisťuje správne zobrazovanie času a dátumu. Jazykové balíčky obsahujú štandardný kód daného jazyka, na serveroch s Windows však niekedy nefungujú.
Správný kód jazyka pre Windows nájdete na týchto dvoch stránkach: Language codes a Country/region codes (napr. "esp_esp" pre španelštinu).
Nový kód jazyka možno vložiť na administrátorskej stránke Administratíva -> Premenné; tu vložený kód má prednosť pred kódom uvedeným v aktuálnom jazykovom balíčku.
Ak chcete, aby Moodle automaticky zasielal e-maily z modulov Fórum, Zadanie apod., potom musíte správne nastaviť cron. Skript spúštaný cronom vykonáva množstvo operácií, ako je vyčistenie systému od starých nepotvrdených používateľských účtov, odstraňovanie študentov so zrušeným účtom z kurzov a podobne.
V podstate potrebujete vytvoriť proces, ktorý bude pravidelne spúšťať skript http://yoursite/admin/cron.php. Podrobnosti nájdete v sekcii týkajúcej sa cronu v návode k inštalácii.
Tip: Vyskúšajte štandardné nastavenie ponúkané na stránke Administratíva -> Premenné. Premennú smtphost nechajte prázdnu. Toto nastavenie by malo uspokojivo fungovať u väčšiny používateľov.
Zašlite nám ďalšie FAQ (aj s odpoveďou!)
Vďaka Johnovi Eyreovi za pomoc pri správe tejto stránky.