2013-03-21 3 views
1

Могу ли я установить несколько версий Moodle на свою локальную машину для разработки? В настоящее время я установил последнюю версию Moodle dev, и она отлично работает. Я могу использовать MySQL и phpMyAdmin по моей воле.Установка нескольких пакетов Moodle

Как будет действовать несколько пакетов Moodle MySQL или phpMyAdmin?

Любые блоги/сообщения будут оценены.

Я использую Ubuntu.

ответ

2

Да.

Установка для седьмого экземпляра Moodle должна идти, как это:

  • распаковать все файлы в Moodle7;
  • создать папку moodledata7;
  • создать базу данных moodle7 в phpmyadmin;
  • не создавать отдельный пользователь, просто предоставить все привилегии тому же пользователю, что и предыдущие 6 установок;
  • открыть localhost/moodle7 и продолжить установку, как обычно, мастера установки точки в указанные папки и базы данных.

Если вы хотите клонировать вашу существующую установку moodle, скопируйте moodle в moodle2, moodledata to moodledata2, клонировать базу данных moodle to moodle2. Затем отредактируйте config.php в корне папки moodle2, чтобы указать правильные dirroot, wwwroot и базу данных.

Затем выполните поиск и замену в базе данных (есть хорошее howto on stackoverflow), чтобы изменить любые гиперссылки в ваших курсах moodle, сообщениях форума и т. Д. От moodle to moodle2.

0

Я не знаю об ubuntu, но да, вы можете установить несколько версий Moodle в системе на том же сервере.

Просто укажите папку по-разному, создайте другую именованную базу данных в PHPMyAdmin, а также соответствующим образом назовите папку moodledata. Тогда все должно быть хорошо.

1

Moodle + Мультиэкземпляр + хроны:

У меня есть еще "Мудли" виртуальные домены моей структура каталогов:

/var/www/html/main.moodle (directory with moodle installation) 
/var/www/html/sub1.moodle.site -> symlink to main.moodle 
/var/www/html/sub2.moodle.site -> symlink to main.moodle 
/var/www/html/sub3.moodle.site -> symlink to main.moodle 

Вот мой config.php с функциональностью хрон для нескольких сайтов.

define('MOODLE_NO_DOMAIN', 'none'); 
$domain = MOODLE_NO_DOMAIN; 

if (defined('CLI_SCRIPT') && CLI_SCRIPT == true) { 
     // CALLED FROM COMMANDLINE - cron.php etc .. 
     preg_match('/^(.*\/)*(.*\.moodle\.site)\/.*$/',$_SERVER['PHP_SELF'],$matches); 
     if (count($matches) > 0) { 
       $domain = $matches[count($matches) - 1]; 
     } 
} else { 
     // CALLED FROM BROWSER 
     $domain = $_SERVER['HTTP_HOST']; 
} 

// ЗДЕСЬ КАК ВЫШЕ ОТ THOMAS VAN DEN Хойвель

switch ($domain) { 
    // configuration for subdomain 1 
    case 'sub1.domain.com': 
     $CFG->dbname = 'sub1_moodle'; // if your database is called sub1_moodle for this subdomain 
     $CFG->wwwroot = 'http://sub1.moodle.site'; // no trailing slash 
     $CFG->dataroot = '/path/to/sub1data/'; // depends on where you put your datadir 
     break; 
    // configuration for subdomain 2 
    case 'sub2.domain.com': 
     $CFG->dbname = 'sub2_moodle'; // if your database is called sub2_moodle for this subdomain 
     $CFG->wwwroot = 'http://sub2.moodle.site'; // no trailing slash 
     $CFG->dataroot = '/path/to/sub2data/'; // depends on where you put your datadir 
     break; 
    // et cetera 
    default: 
     // ... redirect to info page with moodle links 
} 

$ CFG-> dirroot = «/ вар/WWW/HTML/основной.Мудл ';

Cron задача должна быть вызвана с абсолютным или относительным подобластью путем:

php /var/www/html/sub1.moodle.site/admin/cli/cron.php 

или

php sub1.moodle.site/admin/cli/cron.php 

Я призываю все поддомены crons с одной очень простым сценарием:

#! /bin/bash 
WWW_ROOT="/var/www/html" 
DIRS="sub1.moodle.site sub2.moodle.site sub3.moodle site" 
for dir in $DIRS 
do 
     echo "$WWW_ROOT/$dir" 
     php "$WWW_ROOT/$dir/admin/cli/cron.php" 
done 
+1

Рассмотрите возможность редактирования сообщения с рекомендациями [здесь] (http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- ссылки-в другом месте-действительно-хорошие ответы) и [здесь] (http://stackoverflow.com/help/how-to-answer) –

Смежные вопросы