Na intranetu jede Moodle OK, po internetu ne.

Na intranetu jede Moodle OK, po internetu ne.

by Vít Podroužek -
Number of replies: 9
Dobrý den, prosím o radu. Moodle už nějakou dobu bez problémů provozujeme na školním intranetu. Rozhodli jsme se jej "pustit" nyní ven. Vzhledem k tomu, že nám v místní síti teď běží teď 3 web servery, je port 80 ze stanice s Moodlem přesměrován na port 8989 na bráně, (podobně i další web server na 8888 - ten ale běží zvenku bez problémů)

Pokud se chci připojit na Moodle zvenku (http://gw-souv.issauvel.cz:8989), objeví se pouze screen (viz příloha) a to ještě po velmi dlouhé době. Firewall na stanici, kde nám Moodle běží, je vypnutý.

Asi to bude nějaká hloupost (pravděpodobně moje úsměv ), ale já si nevím rady.

Používám instalaci xampp, tedy Apache i MySQL jsou spuštěny z příkazového řádku.

Děkuji všem předem, V. Podroužek
Count of ratings: -
In reply to Vít Podroužek

Re: Na intranetu jede Moodle OK, po internetu ne.

by Peter Svec -
Dobry den,

Vsetky linky v moodle Vam smeruju na vnutornu IP adresu 192.168.10.195.

Napriklad http://192.168.10.195//login/index.php

Toto je privatna IP adresa a pre klienta z Internetu je nedostupna.

Kedze moodle pouziva vsade absolutne cesty zavisle od nastavenia $CFG->wwwroot v config.php a tieto absolutne cesty v pripade zdrojov uklada aj do databazy, nie je mozne aby klient mimo tejto siete bol schopny k tymto zdrojom pristupovat.

Riesenim pre Vas by molo zmenit Vas moodle tak aby bol na adrese http://gw-souv.issauvel.cz:8989/

Zaroven musite nakofigurovat Vasu branu tak, aby takyto preklad bol dostupny aj pre klientov z vnutornej siete. Zmena nazvu domeny (vo vasom pripade IP adresy) v moodle je narocna operacia. Mozete bud vytvorit novu instalaciu a importovat do nej kurzy (pocas importu sa doplna spravna $CFG->wwwroot) alebo exportovat databazu do sql, spravit search&replace, dropnut ju a naspat importovat.

S pozdravom

Peter Svec
In reply to Peter Svec

Re: Na intranetu jede Moodle OK, po internetu ne.

by David Mudrák -
Picture of Moodle HQ Picture of Obzvláště nápomocní moodlisté Picture of Překladatelé Picture of Vývojáři
Ano, jedná se o jeden z charakteristických rysů Moodlu. Musí být dostupný z živé URL a navíc pouze z jedné jediné. Nikdy jsem ale popravdě moc nepochopil, proč MartinD zvolil tento přístup zamyšlený.

Nicméně - do databáze se URL zase tak často nezapisují, ne? Pakliže je tedy nevloží uživatelé přímo ve studijních materiálech... Svého času bylo proto možné řešit uvedený problém tak, že nad jednou databází byly postaveny dvě nezávislé instalace Moodlu, které se lišily jen hodnotou $CFG->wwwroot v config.php, vše ostatní bylo stejné (takže na Linuxu šlo řešit pomocí symlink). Uživatelé na intranetu přistupovaly k jedné instalaci, uživatelé z vnější sítě k druhé instalaci. Řešení navrhované Peterem považuju ale za rozumnější.

--mudrd8mz
In reply to David Mudrák

Re: Na intranetu jede Moodle OK, po internetu ne.

by Petr Skoda -
Důvody jsou jasné:
  • odkazy musí fungovat i v mailech
  • odkazy musí fungovat na různých stránkách
  • učitelé kopírují aktuální adresy z prohlížeče
  • backup musí fungovat na různých podadresářích

Další info najdete na: http://docs.moodle.org/en/index.php?title=masquerading

Moodle nelze provozovat na dvou adresách zároveň, port v adrese není rovněž podporován.

Petr
In reply to David Mudrák

Re: Na intranetu jede Moodle OK, po internetu ne.

by Peter Svec -
Ti pouzivatelia ani nemusia absolutne URL vkladat. Staci, ked si vlozia nejaky ten obrazok smile
In reply to Peter Svec

Re: Na intranetu jede Moodle OK, po internetu ne.

by Vít Podroužek -
A nevyřešila by to jenom správná konfigurace PHP a Apache?
Kde všude ta vnitřní IP je nastavená?

Ještě k těm dvěma instalacím Moodle. S xampp by asi nebyl problém to vše zkopírovat do jiné složky. Celá instalace (PHP, Apache, MySQL, Moodle je ve složce xampp).
Vzhledem k tomu, že složka s MySQL s databází Moodlu je také obsahem xampp, stačilo by zkopírovat pouze adresář Moodle?
In reply to Vít Podroužek

Re: Na intranetu jede Moodle OK, po internetu ne.

by David Mudrák -
Picture of Moodle HQ Picture of Obzvláště nápomocní moodlisté Picture of Překladatelé Picture of Vývojáři
Po přečtení škoďákova příspěvku mi docvaklo, že ty dvě instalace stejně nemůžou fungovat. Např. obrázek vložený v HTML editoru v instalaci A by nefungoval v instalaci B.
Jediná správná možnost je tedy nastavit vaši síť tak, aby instalace Moodlu byla dostupná z jediné URL, a to na standardním :80 portu jak z vnitřní, tak venkovní sítě. Této adrese je pak třeba přizpůsobit konfiguraci (config.php) a upravit stávající databázi (dump - search&replace - import).
Do síťařiny moc nedělám, ale třeba by šel nastavit váš router tak, aby všechny požadavky, které přijdou na adresu moodle.issauvel.cz, směroval na váš Apache s příslušně nastaveným VirtuálnímServerem zamyšlený.

--mudrd8mz
In reply to David Mudrák

Re: Na intranetu jede Moodle OK, po internetu ne.

by Petr Kolesa -

Zdravim,

resil jsem naprosto stejny problem, jako kolega, ktery rozpoutal tuto debatu. Moodle jsme meli zatim jen na testovani v intranetu a pri instalaci jsem samozrejme netusil, ze pokud to hned nevybuduju pod verejnym jmenem, bude problem.

Kazdopadne jsem ted overil, ze postup s upravou config.php, exportem sql z databaze, nahrazenim vsech pevnych odkazu a importem zpet funguje bez problemu.

Diky za rady a vysvetleni, protoze kdyz jsem vyzkoumal, jak Moodle pracuje s odkazy, trochu jsem si zanadaval, pak jsem dlouze marne hledal, zda jde nekde z web rozhrani upravit vychozi URL, nasledne jsem si myslel, ze je to udelano aspon natolik inteligentne, ze staci upravit zaznam v tabulce _mnet_host a zaznam v config.php...vsechno marnost. Porad jsem doufal, ze musi byt jina cesta, nez replace dumpu databaze. úsměv Zkousel jsem i poladit Apache a firewall tak, aby se to korektne prekladalo, ale je to marnost, vzdycky jsou tam mouchy.

Takze dalsimu zoufalci radim jit rovnou na dump databaze a config.php.mrknout

In reply to Petr Kolesa

Re: Na intranetu jede Moodle OK, po internetu ne.

by David Mudrák -
Picture of Moodle HQ Picture of Obzvláště nápomocní moodlisté Picture of Překladatelé Picture of Vývojáři
postup s upravou config.php, exportem sql z databaze, nahrazenim vsech pevnych odkazu a importem zpet funguje bez problemu

Díky za zprávu! Ještě tady nezazněl druhý možný postup: na staré adrese vytvořit zálohy všech kurzů, změnit konfiguraci na novou adresu a provést obnovu kurzů z vytvořených záloh. V průběhu zálohy/obnovy dochází k přepisu URL instalace automaticky. Tento postup je ale samozřejmě použitelný pouze tehdy, je-li kurzů pouze pár. Než trávit celé odpoledne zálohováním a obnovováním desítek kurzů, to bych raději doporučoval se naučit pracovat s SQL dumpem vypláznout jazyk

--mudrd8mz
In reply to David Mudrák

Re: Na intranetu jede Moodle OK, po internetu ne.

by Peter Svec -
No ja som si vyskusal aj tento postup a mozem potvrdit, ze to funguje. V podstate ako inak by sa dali prenasat kurzy medzi roznymi moodle servermi, keby restore skript nenachradzoval vsetky linky na tie spravne.

Zalohovanie a obnovovanie kurzov je naozaj neuveritelne casovo narocne avsak niekdy nevyhnutne.