
今天是正月初九,老苏开始上班了,起航新程,开工大吉!
什么是 Moodle ?
Moodle是一个开源的在线教育系统(慕课)。旨在为教育工作者、管理人员和学习者提供一个强大、安全且集成的系统,来创建个性化的学习环境。Moodle采用PHP和JavaScript编写,使用SQL数据库存储数据。
前言
1、为什么没用群晖自带的 MariaDB ?
老苏本来是想用群晖自带的 MariaDB 10 数据库,但是会连不上

原因没搞明白,所以老苏最后还是采用了容器安装 MariaDB 的方式
2、安装过程比较长
安装过程中,日志中显示INFO ==> Running Moodle install script 时安装时间比较长,没搞明白是在初始化数据库还是在下载代码

从日志看大概有 6 分钟

安装
环境变量
与 docker 相关的环境变量
| 变量 | 缺省值 | 描述 | 
|---|---|---|
MARIADB_ROOT_PASSWORD | 无 | 数据库管理员密码 | 
MARIADB_DATABASE | 无 | 数据库库名 | 
MARIADB_USER | 无 | 数据库用户 | 
MARIADB_PASSWORD | 无 | 数据库密码 | 
MOODLE_DATABASE_TYPE | mariadb | 数据库类型。有效值:mariadb、mysqli、pgsql、auroramysql | 
MOODLE_DATABASE_HOST | mariadb | 数据库服务器的主机名 | 
MOODLE_DATABASE_PORT_NUMBER | 3306 | 数据库服务器使用的端口 | 
MOODLE_DATABASE_NAME | bitnami_moodle | Moodle 将用来连接数据库的数据库名称 | 
MOODLE_DATABASE_USER | bn_moodle | Moodle 将用来连接数据库的数据库用户 | 
MOODLE_DATABASE_PASSWORD | 无 | Moodle 将用于连接数据库的数据库密码 | 
MOODLE_USERNAME | user | Moodle 应用程序用户名 | 
MOODLE_PASSWORD | bitnami | Moodle 应用密码 | 
更多的可用变量需要看官方的说明:https://github.com/bitnami/containers/tree/main/bitnami/moodle
MARIADB_ROOT_PASSWORD:老苏是为了便于说明,设置成了123456,这并不是一个好的榜样,建议设置的复杂一点;MARIADB_PASSWORD:同上;MOODLE_DATABASE_TYPE:默认值就是mariadb,所以可以不设;MOODLE_DATABASE_PORT_NUMBER:默认是3306,所以可以不设;
下面安装时,老苏没有将数据库端口暴露出来,如果你需要访问数据库,要避开系统占用的 3306 和 3307 数据库端口
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 moodle 和 子目录
mkdir -p /volume2/docker/moodle/{data,db}
# 进入 moodle 目录
cd /volume2/docker/moodle
# 修改目录权限
chmod 777 {data,db}
# 运行 MariaDB 容器
# 注意:老苏没有对外暴露端口,否则要避开系统的 3306 和 3307
docker run -d \
   --restart unless-stopped \
   --name moodle_db \
   -v $(pwd)/db:/bitnami/mariadb \
   -e MARIADB_ROOT_PASSWORD=123456 \
   -e MARIADB_DATABASE=moodle \
   -e MARIADB_USER=moodle \
   -e MARIADB_PASSWORD=123456 \
   bitnami/mariadb:10.6
# 运行 moodle 容器
docker run -d \
   --restart unless-stopped \
   --link moodle_db:db \
   --name moodle_web \
   -p 8488:8080 \
   -v $(pwd)/data:/bitnami/moodle \
   -e MOODLE_DATABASE_HOST=db \
   -e MOODLE_DATABASE_NAME=moodle \
   -e MOODLE_DATABASE_USER=moodle \
   -e MOODLE_DATABASE_PASSWORD=123456 \
   -e MOODLE_USERNAME=laosu \
   -e MOODLE_PASSWORD=123456 \
   bitnami/moodle:latest
 
docker compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'
services:
  mariadb:
    image: bitnami/mariadb:10.6
    container_name: moodle_db
    #restart: unless-stopped
    volumes:
      - ./db:/bitnami/mariadb
    environment:
      #- ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_ROOT_PASSWORD=123456
      - MARIADB_DATABASE=moodle
      - MARIADB_USER=moodle
      - MARIADB_PASSWORD=123456
  moodle:
    image: bitnami/moodle:latest
    container_name: moodle_web
    #restart: unless-stopped
    ports:
      - 8488:8080
    volumes:
      - ./data:/bitnami/moodle
    environment:  
      #- MOODLE_DATABASE_TYPE=mariadb
      - MOODLE_DATABASE_HOST=mariadb
      #- MOODLE_DATABASE_PORT_NUMBER=3306
      - MOODLE_DATABASE_NAME=moodle
      - MOODLE_DATABASE_USER=moodle
      - MOODLE_DATABASE_PASSWORD=123456
      - MOODLE_USERNAME=laosu
      - MOODLE_PASSWORD=123456
 
然后执行下面的命令
# 新建文件夹 moodle 和 子目录
mkdir -p /volume2/docker/moodle/{data,db}
# 进入 moodle 目录
cd /volume2/docker/moodle
# 修改目录权限
chmod 777 {data,db}
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
 
运行
在浏览器中输入 http://群晖IP:8488 就能看到主界面

点右上角的 Log in,用我们安装时的 MOODLE_USERNAME 和 MOODLE_PASSWORD 中设置的账号、密码登录

登录成功后的主界面仪表板

中文
方法一
Site administration --> General --> - Notifications
拉到最下面,可以看到我们安装的 Moodle 的版本

打开网址:https://download.moodle.org/langpack/4.1/ 下拉可以找到简体中文的语言包

下载解压到 /docker/moodle/data/lang 目录中

方法二
当然更方便的办法是直接安装,Site administration --> Language --> Language packs

右侧 Available language packs 中搜索 chinese

安装 Ctrl 多选之后,点 Install selected language pack(s)

安装完成

点 Update all installed language packs 刷新一下

Site administration --> Language --> Language settings,下拉框中已经有中文了

选择完成后,点 Save changes
生效
因为老苏是同时弄的,所以并不清楚是哪种方式生效了,当然最好是两种都行 😂
主界面管理员菜单中会多出 Language 菜单

选择 简体中文

界面就切换为中文了

官方还提供了中文版的使用说明:https://docs.moodle.org/all/zh/首页,所以上手应该不难吧
参考文档
moodle/moodle: 源代码
地址:https://github.com/moodle/moodle
Moodle - Open-source learning platform | Moodle.org
地址:https://moodle.org/
containers/bitnami/moodle at main · bitnami/containers
地址:https://github.com/bitnami/containers/tree/main/bitnami/moodle
bitnami/moodle - Docker Image | Docker Hub
地址:https://registry.hub.docker.com/r/bitnami/moodle/



















