Moodle serve apenas para IP - não funciona com mod_proxy

1

Estou tentando configurar um servidor moodle em uma caixa do Ubuntu, que já serve o Plone & Trac via Apache.

Na minha configuração do Moodle, tenho $ CFG- > wwwroot = ' link '

A configuração (complicada, mas funcionando) abaixo funciona bem para os dois primeiros, mas quando eu visito www.server-name.com/moodle eu recebo:

Incorrect access detected, this server may be accessed only through "http://xxx.xxx.xxx.xxx:8888/moodle" address, sorry

Em seguida, encaminha para o endereço IP, onde o Moodle funciona bem.

O que estou perdendo para que a abordagem do nome do servidor funcione corretamente?

O Apache Config segue:

LoadModule transform_module /usr/lib/apache2/modules/mod_transform.so
Listen 8080
Listen 8888

Include /etc/phpmyadmin/apache.conf

<VirtualHost xxx.xxx.xxx.xxx:8080>

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  ProxyPreserveHost On

  <Location />
    ProxyPass http://127.0.0.1:8082/
    ProxyPassReverse http://127.0.0.1:8082/
  </Location>

</VirtualHost>

<VirtualHost xxx.xxx.xxx.xxx:80>
  ServerName  www.server-name.org
  ServerAlias server-name.org

  ProxyRequests Off

  FilterDeclare MyStyle RESOURCE
  FilterProvider MyStyle XSLT resp=Content-Type $text/html
  TransformOptions +ApacheFS +HTML
  TransformCache /theme.xsl /home/web/webapps/plone/theme.xsl
  TransformSet /theme.xsl
  FilterChain MyStyle

  ProxyPass /issue-tracker !
  ProxyPass /moodle !  

  <Location /issue-tracker/login>

    AuthType Basic
    AuthName "Trac"
    AuthUserFile /home/web/webapps/plone/parts/trac/trac.htpasswd
    Require valid-user

  </Location>


  Alias /moodle /usr/share/moodle/

  <Directory /usr/share/moodle/>

    Options +FollowSymLinks
    AllowOverride None

    order allow,deny
    allow from all

    <IfModule mod_dir.c>
      DirectoryIndex index.php
    </IfModule>

  </Directory>

  </VirtualHost>
    
por Jon Hadley 25.03.2012 / 18:19

1 resposta

5

O problema está na configuração do Moodle, pois o $CFG->wwwroot não deve ser afetado pelo servidor.

Talvez se você usou um script de instalação de terceiros, essa variável foi definida novamente e / ou em um arquivo diferente. Tente fazer uma pesquisa no grep para http://xxx.xxx.xxx.xxx:8888/moodle nos diretórios do moodle.

Como solução alternativa, você pode tentar usar $CFG->wwwroot = 'http://'.$_SERVER["HTTP_HOST"];

    
por 23.04.2012 / 10:06