首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装多个Moodle包

问安装多个Moodle包
EN

Stack Overflow用户
提问于 2013-03-21 12:10:18
回答 3查看 2.4K关注 0票数 2

出于开发目的,我可以在本地计算机上安装多个Moodle版本吗?目前,我已经安装了最新的Moodle dev版本,并且运行良好。我可以随心所欲地使用MySQL和phpMyAdmin。

多个Moodle包将如何影响MySQL或phpMyAdmin?

任何博客/帖子都将不胜感激。

我用的是Ubuntu。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-22 05:08:00

是。

第七个Moodle实例的安装应该如下所示:

  • 将所有文件解压到Moodle7;
  • create moodledata7文件夹中;
  • 在phpmyadmin中创建moodle7数据库;
  • 不创建单独的用户,只需将所有权限授予与之前6 installations;
  • open本地主机/moodle7相同的用户,然后照常继续安装,将安装向导指向上述文件夹和数据库。

如果您想克隆现有的moodle安装,请将moodle复制到moodle2,将moodledata复制到moodledata2,将数据库moodle复制到moodle2。然后编辑moodle2文件夹根目录下的config.php,使其指向正确的dirroot、wwwroot和数据库。

然后在数据库中进行搜索和替换(stackoverflow上有一个很好的方法),将moodle课程、论坛帖子等中的任何超链接从moodle更改为moodle2。

票数 2
EN

Stack Overflow用户

发布于 2015-06-24 17:44:45

Moodle +多实例+ cron:

我有更多的"moodle“虚拟域,我的目录结构是:

代码语言:javascript
复制
/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

这是我为多个站点提供cron功能的config.php。

代码语言:javascript
复制
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

代码语言:javascript
复制
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/main.moodle';

必须使用绝对或相对子域路径调用Cron任务:

代码语言:javascript
复制
php /var/www/html/sub1.moodle.site/admin/cli/cron.php

或

代码语言:javascript
复制
php sub1.moodle.site/admin/cli/cron.php

我用一个非常简单的脚本调用所有的子域cron:

代码语言:javascript
复制
#! /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
EN

Stack Overflow用户

发布于 2013-03-22 01:14:43

我不知道ubuntu是怎么回事,但是是的,你可以在同一台服务器上的一个系统上安装多个版本的Moodle。

只需将文件夹命名为different,在PHPMyAdmin中创建一个不同名称的数据库,并相应地命名'moodledata‘文件夹。到时候一切都会好起来的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15539338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档