Canvas LMS 界面介绍+安装教程
Canvas LMS 是 Instructure 开发的AGPLv3开源学习管理系统,后端Ruby,前端TS/JS,使用PostgreSQL、Redis,支持Docker容器化部署,分为**Quick Start(本地开发)和Production Start(生产环境)**两套部署方案。
一、Canvas LMS 界面介绍
整体界面风格简约,全局导航固定,分为全局导航栏、仪表盘(Dashboard)、课程内页面、管理员后台四大模块,教师、学生、管理员看到的菜单权限不同。
1. 全局导航(左侧固定菜单,所有页面通用)
- Account(账户):个人资料、通知设置、文件存储、API访问令牌
- Dashboard(仪表盘):登录首页
- Courses(课程):查看所有已加入/管理的课程
- Groups(小组):课程小组、协作空间
- Calendar(日历):聚合所有课程作业截止日期、课程事件
- Inbox(消息收件箱):师生站内私信、课程通知
- Help(帮助):系统帮助文档
2. Dashboard 仪表盘(登录首页)
两种视图:卡片视图 / 任务规划视图
- 课程卡片:每个课程独立彩色卡片,展示课程公告、待办任务;教师看到自己创建的课程,学生看到选修课程
- 右侧边栏:To Do(待办)、Coming Up(即将到期),自动汇总所有课程作业、测验、讨论任务
- 学生视角:快速查看作业截止时间、成绩、老师反馈
- 教师视角:需要批改的作业清单、课程公告提醒
3. 课程内部界面(点击课程卡片进入)
课程左侧课程导航菜单,教师可自定义开启/关闭菜单:
- Home(课程主页):课程首页,可设置展示公告、模块、自定义页面
- Announcements(公告):教师发布课程通知,支持邮件+站内消息推送
- Modules(学习模块)⭐核心:按章节组织学习资源,页面、文件、视频、测验、作业,支持设置学习顺序、前置解锁条件
- Assignments(作业):创建作业,支持文件上传、文本提交、在线测验;教师端内置 SpeedGrader 快速阅卷工具,可以直接在页面批注学生作业、添加音视频评语、使用评分量规(Rubric)打分
- Quizzes(测验):在线考试,支持单选、多选、简答、文件上传,随机抽题、限时考试、自动判分
- Discussions(讨论区):主题讨论,支持回复、点赞,可作为作业计入成绩
- Grades(成绩册)⭐教师核心:完整成绩表格,支持加权成绩、分组、导出Excel;学生端只能查看自己成绩
- People(人员):课程成员管理,教师可添加学生、助教;查看每个人参与度
- Pages(页面):富文本wiki页面,嵌入音视频、图片、外部链接
- Files(文件):课程文件存储空间,可设置文件权限
4. 管理员后台(仅管理员账号可见)
- 账户管理:创建子机构、角色权限配置(管理员/教师/助教/学生/观察员)
- 系统设置:站点名称、邮箱、语言、存储、LTI第三方应用接入
- 报表统计:用户活跃度、课程访问数据
- 全局插件管理:LTI工具(视频会议、题库等)接入
界面特点总结
- 响应式页面,PC/移动端浏览器可用,配套官方移动端App;
- 良好无障碍支持,兼容屏幕阅读器;
- 界面统一,所有课程导航结构一致,上手简单;
- 支持多语言,仓库持续维护多语言翻译包(韩语、中文等)。
二、Canvas LMS 安装教程(官方Docker方案)
⚠️ 硬件最低要求:内存≥8GB(推荐16GB),首次启动构建资源非常耗内存;系统:Linux(Ubuntu/Debian推荐),提前安装 Docker + Docker Compose 仓库地址:[https://github.com/instructure/canvas-lms](https://github.com/instructure/canvas-lms) 官方文档入口:仓库 Wiki,分为 Quick Start(本地开发)、Production Start(生产部署)
方案A:Quick Start 本地开发部署(推荐用于体验、二次开发,不适合公网生产)
- 克隆代码仓库
git clone [https://github.com/instructure/canvas-lms.git](https://github.com/instructure/canvas-lms.git)
cd canvas-lms
- 切换稳定分支(master为主开发分支,stable稳定分支)
git checkout stable
- 启动容器(官方docker-compose.yml)
docker compose up
第一次执行会自动拉取PostgreSQL、Redis、Canvas等镜像,并且编译前端资源,耗时很久,耐心等待。 访问地址:[http://canvas.docker](http://canvas.docker) 初始化:打开页面,按提示设置管理员邮箱、密码、机构名称。 停止服务
docker compose down
本地开发环境特性:支持代码热更新,可直接修改Ruby/TS代码调试;内置完整测试环境;不适合直接对外公网提供服务。
方案B:Production Start 生产环境部署(私有化正式使用)
生产部署需要配置:域名、反向代理、HTTPS、邮件服务、文件存储(本地/S3对象存储)、数据库持久化、定时任务delayed_jobs。
- 拉取代码,切换stable分支
git clone [https://github.com/instructure/canvas-lms.git](https://github.com/instructure/canvas-lms.git)
cd canvas-lms
git checkout stable
- 复制环境配置模板
cp config/database.yml.example config/database.yml
cp config/security.yml.example config/security.yml
# 其余数据库、消息队列、存储配置文件参考wiki批量复制
- 修改配置文件:数据库连接、Redis、加密密钥、邮件、域名、存储配置
- 构建生产镜像,启动生产容器组
docker compose -f docker-compose.yml up -d
- 初始化数据库
docker compose exec web bundle exec rails db:create db:migrate
- 创建管理员账号
docker compose exec web bundle exec rails c
# 在rails控制台执行创建管理员代码
- 配置反向代理(Caddy/Nginx),绑定域名,配置HTTPS;开放80/443端口。
- 访问域名,登录管理员后台,开启用户注册、调整系统语言。
⚠️ 重要注意事项
- AGPLv3协议:如果你修改Canvas源码并对外提供线上服务,必须公开修改后的源代码;
- 资源开销:Canvas非常吃内存,小于8G内存会出现OOM容器崩溃;
- 中文支持:原生支持多语言,但中文翻译不完全,需要自行补充语言包;
- 备份:生产环境务必定时备份PostgreSQL数据库和上传文件;
- 升级:后续版本升级需要拉取最新stable分支,执行数据库迁移脚本。
三、常见问题
- docker compose up 启动失败:大概率内存不足,增加swap分区;
- 页面空白:前端资源未构建完成,首次启动需要等待;
- 收不到通知邮件:需要在config配置SMTP邮件服务器。
如果你需要,我可以单独输出:
- 精简版(用于项目报告);
- 单独一份部署踩坑清单;
- 或者把界面介绍部分改成PPT文案。