Dokumentace Moodlu: Často kladené dotazy (FAQ/ČKD)

# Často kladené dotazy (FAQ/ČKD)

Na této stránce najdete odpovědi na některé nejčastěji kladené dotazy týkající se instalace Moodlu. Pokud jste se drželi pokynů pro instalaci, a přesto jste se dostali do problémů, pak je tato stránka určena právě vám...

Jestliže zde odpověď na svou otázku nenajdete, vyzkoušejte kurz Using Moodle na moodle.org. Začněte prohledáním diskusních fór, protože je možné, že stejný problém, jako je ten váš, již někdo řešil. Pokud nenajdete nic, co by vám pomohlo, můžete svou otázku poslat do příslušného fóra – obvykle vám někdo pomůže.

Jestliže jste bezvýsledně vyzkoušeli více různých řešení, a váš server je umístěn za firewallem, je vhodné pozměnit nastavení firewallu a vyzkoušet, zda neblokuje některou z vyžadovaných funkcí nebo nezbytnou komunikaci. Firewally způsobují v kombinaci s Moodlem problémy jen velmi zřídka, v důsledku nevhodné konfigurace jsou však v některých případech zodpovědné za sníženou funkčnost Moodlu.

Kliknutím na otázku z tohoto seznamu se dostanete přímo k příslušné odpovědi:

Kdykoliv se pokusím přistoupit k souboru, který jsem do Moodlu vložil, objeví se chybové hlášení: File not Found.

Mám nainstalováno PHP? Jakou verzi?

Proč jsou mé stránky prázdné?

Na mých stránkách se zobrazují hlášení o závažných chybách, jako např.: Call to undefined function: get_string().

Neustále se mi zobrazuje chybové hlášení: Headers already sent.

Neustále se mi zobrazuje chybové hlášení: Failed opening required '/web/moodle/lib/setup.php'.

Jakýkoliv vložený text obsahující apostrof (') nebo uvozovky (") buď způsobí chybu, nebo se k těmto znakům přidá lomítko.

Zobrazují se mi chybová hlášení ohledně session_start.

Při každém vstupu na správcovskou stránku jsem vyzván, abych do proměnné dirroot vložil prázdný řetězec.

Přihlásím se, ale odkaz 'Přihlásit se' se nezmění; přitom jsem přihlášen a mohu se volně pohybovat po systému.

Když se pokusím přidat studijní materiál, obdržím chybové hlášení.

Během úvodního nastavování nejsem vyzván k vytvoření správcovského účtu.

Nemohu se vůbec přihlásit - zůstanu na přihlašovací obrazovce a systém mě nepustí dál.

Jak mohu zálohovat celou instalaci Moodlu?

Proč se v Moodlu nezobrazuje správně čas a datum?

Z fóra mi nejsou zasílany e-mailové kopie příspěvků.

### Kdykoliv se pokusím přistoupit k souboru, který jsem do Moodlu vložil, objeví se chybové hlášení: File not Found.

Například: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.

Webový server musí být nakonfigurován tak, aby část URL za názvem skriptu bylo možno přímo předat skriptu. Na serverech Apache 1.x jde obvykle o standardní nastavení, na serverech Apache 2.x je tato možnost standardně zakázána. Funkci zapnete tím, že do souboru httpd.conf nebo .htaccess ve vašem lokálním adresáři přidáte tento řádek (více v návodu k instalaci):

AcceptPathInfo on

Upozornění: tato možnost platí POUZE pro servery Apache verze 2.x.

Pokud nepoužíváte Apache verze 2 a přesto máte tento problém (i když je to velice nepravděpodobné), můžete použít níže popsané náhradní řešení. Jeho nevýhodou bude mírné snížení výkonu pro uživatele a také a ztráta možnosti používat v HTML materiálech relativní odkazy.

Nastavení náhradního řešení: přihlaste se jako správce, přejděte na stránku Nastavení, v ní na odkaz Proměnné a změňte nastavení "slasharguments". Nyní byste měli mít možnost přistupovat k vloženým souborům.

### Mám nainstalováno PHP? Jakou verzi?

Vytvořte kdekoliv na serveru nový soubor info.php, který bude obsahovat následující text, a poté zadejte jeho URL do prohlížeče:

<?PHP phpinfo() ?>

Jestliže se nic nestane, PHP nainstalováno nemáte. Informace o tom, odkud ho můžete stáhnout, najdete v návodu k instalaci Moodlu.

### Proč jsou mé stránky prázdné?

Zkontrolujte proměnnou dirroot v souboru config.php. Musíte použít úplnou absolutní cestu, jako např.:

$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";

Pro platformu Redhat Linux viz Redhat Linux

### Na mých stránkách se zobrazují hlášení o závažných chybách, jako např.: Call to undefined function: get_string().

Jestliže se vám objevují chybová hlášení jako napří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 pravděpodobné, že jste vynechali středník nebo koncové uvozovky na některém řádku v souboru config.php (před řádkem 94).

Jiným důvodem může být, že jste soubor config.php editovali v programu, jako je například Word, a pak jste jej uložili jako webovou stránku ve formátu HTML místo jako prostý text.

### Neustále se mi zobrazuje chybové hlášení: Headers already sent.

Jestliže se vám objevují chybová hlášení jako např.

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ázdné řádky nebo mezery za koncovým řetězcem ?> v souboru config.php. Způsobují to některé editory (jako např. Poznámkový blok ve Windows). Zkuste proto jiný editor a v něm tyto prázdné řádky nebo mezery odstraňte.

### Neustále se mi zobrazuje chybové hlášení: Failed opening required '/web/moodle/lib/setup.php'.

V souboru config.php musí proměnná dirroot obsahovat úplnou cestu z kořenového adresáře pevného disku vašeho serveru.

Někdy uživatelé používají pouze cestu ze svého domovského adresáře nebo relativní cestu z výchozího adresáře webového serveru.

### akýkoliv vložený text obsahující apostrof (') nebo uvozovky (") buď způsobí chybu, nebo se k těmto znakům přidá lomítko.

Problémy s apostrofy jsou způsobeny nesprávným nastavením "magic quotes". Moodle požaduje následující nastavení (které je obvykle výchozí):

magic_quotes_gpc = On
magic_quotes_runtime = Off

Více najdete v sekci o konfiguraci webového serveru v návodu k instalaci Moodlu.

### Zobrazují se mi chybová hlášení ohledně session_start.

Jestliže se vám objevují chybová hlášení jako např.

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žit na server (do adresáře /tmp) soubory relace (session). Obvykle je to způsobeno tím, že na serveru takový adresář nemáte. Obvykle to nastává u serverů s Windows.

Řešením je upravit nastavení PHP tak, aby odkazovalo na existující adresář. V souboru php.ini nastavte

session.save_path = C:\temp

... anebo v souboru .htaccess

php_value session.save_path "/home/moodle/sessions"

### Při každém vstupu na správcovskou stránku jsem vyzván, abych do proměnné dirroot vložil prázdný řetězec.

Jestliže se vám v Moodlu 1.0.9 objevují hlášení

Please fix your settings in config.php: You have: $CFG->dirroot = "/home/users/fred/public_html/moodle"; but it should be: $CFG->dirroot = "";

...pak jste narazili na drobnou chybu, která se projevuje jen na některých serverech. Jedná se o problém algoritmu pro vyhledávání chyb, nikoliv zadané cesty. K jeho odstranění vyhledejte řádek 66 v souboru admin/index.php

if ($dirroot != $CFG->dirroot) {

a změňte ho na

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

### Přihlásím se, ale nevypadá to tak. Jsem přihlášen a mohu se volně pohybovat po systému.

Zkontrolujte, zda URL v nastavení $CFG->wwwroot je naprosto shodné s tím, které používáte k přístupu na stránky.

### Když se pokusím přidat studijní materiál, obdržím chybové hlášení.

Používáte-li server Apache, je velmi pravděpodobné, že nastavení $CFG->wwwroot v souboru config.php je jiné než URL, které používáte k přístupu na stránky. Můžete také zkusit vypnout "secureforms" v správcovském nastavení.

### Během úvodního nastavování nejsem vyzván k vytvoření správcovského účtu.

Toto je známá chyba Moodlu až do verze 1.0.9. V hlavním kódu v CVS a ve verzi 1.1 je již odstraněna.

Netýká se všech uživatelů. Objevuje se pouze v případě, že máte při instalaci Moodlu ve svém prohlížeči cookie s názvem "user" "admin" nebo "teacher", které pocházejí z jiného programu instalovaného na témže serveru.

Rychlá oprava spočívá ve vymazání cookies z prohlížeče ještě před začátkem instalace, použití jiného prohlížeče, nebo v úpravě souboru moodle/admin/user.php v těchto úvodních řádcích:

unset($user);
unset($admin);
unset($teacher);

Po provedení některé z výše uvedených změn by stálo za úvahu vymazat všechny tabulky z databáze a nainstalovat vše znovu.

### Nemohu se vůbec přihlásit - zůstanu na přihlašovací obrazovce a systém mě nepustí dál.

Nejčastější příčinou této chyby je, že váš vlastní počítač (ne server Moodlu) má firewall, který odstraňuje některé informace týkající se prohlížeče. Zde je několik návodů, jak upravit firewally firmy Norton.

Správce serveru může také vyřešit tento problém za všechny uživatele tím, že upraví konfigurační stránku Moodlu a změní nastavení proměnné "secureforms" na "No".

Jinou možnou příčinou tohoto problému může být to, že na vašem serveru nejsou správně nastaveny relace (sessons). Můžete to vyzkoušet tak, že spustíte skript na http://yourserver/moodle/lib/session-test.php.

### Jak mohu zálohovat celou instalaci Moodlu?

Potřebujete vytvořit dvě zálohy: zálohu databáze a zálohu vložených souborů. Skripty Moodlu jsou méně důležité; bude-li potřeba, můžete si je znovu nahrát.

Zálohování lze provést mnoha způsoby. Zde je náčrtek krátkého skriptu, který můžete pro zálohování databáze spustit v Unixu (je vhodné spouštět takový skript každý den prostřednictvím 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

Pro vložené soubory můžete pravidelně použít rsync, který zkopíruje na jiný stroj pouze soubory, u kterých došlo ke změně:

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/

### Proč se v Moodlu nezobrazuje správně čas a datum?

Pro každý jazyk je třeba nastavit příslušný kód jazyka (takzvané locale), který zajišťuje správné zobrazování času a data. Jazykové balíčky obsahují standardní kód daného jazyka, na serverech s Windows však někdy nefungují.

Správný kód jazyka pro Windows najdete na těchto dvou stránkách: Language codes a Country/region codes (např. "esp_esp" pro španělštinu).

Nový kód jazyka lze vložit na správcovské stránce Nastavení -> Proměnné; zde vložený kód má přednost před kódem uvedeným v aktuálním jazykovém balíčku.

### Z fóra mi nejsou zasílany e-mailové kopie příspěvků.

Chcete-li, aby Moodle automaticky zasílal e-maily z modulů Fórum, Poznámky, Úkol aj., pak musíte správně nastavit cron. Skript spouštěný cronem provádí množství operací, jako je vyčištění systému od starých nepotvrzených uživatelských účtů, odstraňování studentů se zrušeným účtem z kurzů a podobně.

V podstatě potřebujete vytvořit proces, který bude pravidelně spouštět skript http://yoursite/admin/cron.php. Podrobnosti najdete v sekci týkající se cronu v návodu k instalaci.

Tip: Vyzkoušejte standardní nastavení nabízené na stránce Nastavení -> Proměnné. Proměnnou smtphost nechte prázdnou. Toto nastaqvení by mělo uspokojivě fungovat u většiny uživatelů.

Zašlete nám další FAQ/ČKD (včetně odpovědi!)

Díky Johnu Eyreovi za pomoc při správě této stránky.

Dokumentace Moodlu