1 votes

Moodle ne fonctionne que sur l'IP - ne fonctionnera pas avec mod_proxy.

J'essaie de mettre en place un serveur moodle sur une boîte Ubuntu, qui sert déjà Plone et Trac via Apache.

Dans ma configuration de Moodle, j'ai $CFG->wwwroot = ' http://www.server-name.org/moodle '

La configuration (alambiquée, mais fonctionnelle) ci-dessous fonctionne bien pour les deux premiers, mais lorsque je visite www.server-name.com/moodle, j'obtiens :

Accès incorrect détecté, ce serveur ne peut être accédé que par " http://xxx.xxx.xxx.xxx:8888/moodle adresse ", désolé

Il renvoie ensuite vers l'adresse IP, où Moodle fonctionne bien.

Que me manque-t-il pour que l'approche du nom du serveur fonctionne correctement ?


Apache Config suit :

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>

5voto

Sašo Points 1454

Le problème se situe au niveau de la configuration de Moodle, car l'option $CFG->wwwroot ne devrait pas être affecté par le serveur du tout.

Peut-être que si vous avez utilisé une installation tierce script, cette variable a été définie à nouveau et/ou dans un fichier différent. Essayez de faire une recherche grep pour http://xxx.xxx.xxx.xxx:8888/moodle dans les répertoires de moodle.

Comme solution de contournement, vous pouvez essayer d'utiliser $CFG->wwwroot = 'http://'.$_SERVER["HTTP_HOST"];

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X