今天是正月初九,老苏开始上班了,起航新程,开工大吉!
什么是 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/