Я пытаюсь установить сервер Moodle на компьютере с Ubuntu, который уже обслуживает Plone и Trac через Apache.
В моей конфигурации Moodle есть $ CFG-> wwwroot = 'http://www.server-name.org/moodle'
Приведенная ниже (запутанная, но рабочая) конфигурация отлично работает для первых двух, но когда я захожу на www.server-name.com/moodle, я получаю:
Обнаружен неправильный доступ, к этому серверу можно получить доступ только через "http://xxx.xxx.xxx.xxx:8888/moodle"адрес, извините
Затем он пересылается на IP-адрес, где Moodle работает нормально.
Что мне не хватает для правильной работы подхода с именем сервера?
Конфигурация Apache:
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>
Проблема заключается в конфигурации Moodle, поскольку $CFG->wwwroot
сервер вообще не должен влиять на это.
Возможно, если вы использовали сторонний сценарий установки, эта переменная была установлена снова и / или в другом файле. Попробуйте выполнить поиск с помощью grep http://xxx.xxx.xxx.xxx:8888/moodle
в каталогах moodle.
В качестве обходного пути вы можете попробовать использовать $CFG->wwwroot = 'http://'.$_SERVER["HTTP_HOST"];