Liberando acesso ao Moodle para a rede externa
Dica publicada em PHP / Rede
Liberando acesso ao Moodle para a rede externa
Começamos a utilizar o Moodle como plataforma de treinamentos na empresa em que trabalho, porém sempre utilizamos na rede interna da empresa, ao tentar acessar externamente, ocorria o seguinte erro:
Comentei a linha:
e inseri a os dados logo abaixo:
Após isto, passou a funcionar normalmente.
Espero que a dica ajude alguém, parece algo simples depois de feito, mas pra mim que hoje não tem muito conhecimento de PHP, foram horas de pesquisa e testes até chegar à solução!
Foi detectado acesso Incorreto. Este servidor pode ser acessado apenas através do endereço "http://192.168.0.15/moodle". Por favor, avise o administrador.Após vários testes de HTTP, configuração de redirecionamento do firewall, descobri que o problema estava na hora do Moodle devolver a informação para o usuário externo, pois a requisição passava pelo firewall e chegava ao Moodle, mas ele não sabia resolver os IPs externos.
Solução
No arquivo config.php dentro de /var/www/html/moodle eu fiz a seguinte alteração:Comentei a linha:
//$CFG->wwwroot = 'http://192.168.0.15/moodle';
e inseri a os dados logo abaixo:
$CFG->wwwroot = 'http://'.$_SERVER['SERVER_NAME'].':'.$SERVER['SERVER_PORT'].'/moodle';
Após isto, passou a funcionar normalmente.
Espero que a dica ajude alguém, parece algo simples depois de feito, mas pra mim que hoje não tem muito conhecimento de PHP, foram horas de pesquisa e testes até chegar à solução!
O correto para funcionar internamente/externamente seria isso:
$CFG->wwwroot = 'http://'.$_SERVER['SERVER_NAME'].':'.$SERVER['SERVER_PORT'].'...;;
Mas o Moodle não aceita.
Dessa forma então funciona:
if($_SERVER['SERVER_NAME'] == '192.168.8.152'){
$CFG->wwwroot = 'http://192.168.8.152:90';;
}else{
$CFG->wwwroot = 'http://200.222.222.222:90';;
}
fonte: https://moodle.org/mod/forum/discuss.php?d=390534