我可以在本地机器上安装多个Moodle
版本用于开发目的吗?目前,我已经安装了最新的Moodle dev
版本,它工作正常。我可以按照我的意愿使用MySQL
和phpMyAdmin
。安装多个Moodle包
多个Moodle包如何影响MySQL
或phpMyAdmin
?
任何博客/职位将不胜感激。
我使用的是Ubuntu。
我可以在本地机器上安装多个Moodle
版本用于开发目的吗?目前,我已经安装了最新的Moodle dev
版本,它工作正常。我可以按照我的意愿使用MySQL
和phpMyAdmin
。安装多个Moodle包
多个Moodle包如何影响MySQL
或phpMyAdmin
?
任何博客/职位将不胜感激。
我使用的是Ubuntu。
是的。
安装您的Moodle第七实例应该是这样的:
如果要克隆现有的moodle安装,请将moodle复制到moodle2,将moodledata复制到moodledata2,将数据库moodle复制到moodle2。然后在moodle2文件夹的根目录中编辑config.php
以指向正确的dirroot
,wwwroot
和数据库。
然后做一个搜索和替换数据库中(有计算器上的一个很好的HOWTO)在您的Moodle课程,论坛帖子等改变任何链接从Moodle自己moodle2。
我不知道ubuntu,但是,可以在同一台服务器上的系统中安装多个Moodle版本。
只要命名不同的文件夹,在PHPMyAdmin中创建一个不同名称的数据库,并相应地命名'moodledata'文件夹。一切都应该很好。
的Moodle +多实例+的cron:
我有更多的 “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与多个站点的cron功能。
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 HEUVEL
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 =“在/ var/www/html等/主。Moodle的“;
的后台任务必须以绝对或相对的子域路径被称为:
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
考虑编辑您的帖子与指导从[这里](http://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-链接,其他地方,真的很好答案)和[这里](http://stackoverflow.com/help/how-to-answer) – 2015-06-24 10:05:52