如何在 Ubuntu 22.04|20.04|18.04 上安装 Canvas LMS
欢迎阅读我们有关如何在 Ubuntu 22.04|20.04|18.04 上安装 Canvas LMS 的指南。 Canvas 是一种开源学习管理系统 (LMS),已被学校、大学和其他教育机构采用来提供在线课程并支持在线学习。通过使用 Canvas,教师可以为学生在线创建和管理课程材料、作业和评估内容。
Canvas LMS 的一些功能包括:
- 适用于 iOS 和 Android 设备的移动应用程序的可用性。
- 课程主页和导航菜单是高度可定制的。
- 它具有用于讲座、阅读材料和其他课程材料的评分工具
- 学生可以从门户网站提交作业
- 学生之间可以进行讨论论坛和合作
- 支持与 Turnitin 和 Google Drive 等第三方工具集成
画布软件要求
Canvas LMS 依赖以下软件包来运行。
- 阿帕奇网络服务器
- 红宝石 on Rails
- PostgreSQL 数据库服务器
以下是在 Ubuntu 22.04|20.04|18.04 上安装和配置 Canvas 学习管理系统的步骤。
自动安装Canvas LMS(推荐)
自动安装方法使用Docker容器来运行Canvas服务。
安装 Docker
运行以下命令来安装最新版本的 Docker,该版本适用于 Discourse。
wget -qO- https://get.docker.com/ | sudo sh
如果您想以非 root 用户身份使用 Docker,您现在应该考虑将您的用户添加到“docker”组:
sudo usermod -aG docker $USER
您可以使用以下命令查询已安装的版本。
$ docker version
Client: Docker Engine - Community
Version: 20.10.22
API version: 1.41
Go version: go1.18.9
Git commit: 3a2c30b
Built: Thu Dec 15 22:28:08 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.22
API version: 1.41 (minimum version 1.12)
Go version: go1.18.9
Git commit: 42c8b31
Built: Thu Dec 15 22:25:58 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.14
GitCommit: 9ba4b250366a5ddde94bb7c9d1def331423aa323
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Docker 应该处于运行状态。
$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-01-05 16:15:28 UTC; 33min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 3729 (dockerd)
Tasks: 10
Memory: 1.1G
CGroup: /system.slice/docker.service
└─3729 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.085800033Z" level=warning msg="Your kernel does not support cgroup blkio weight_device"
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.086343753Z" level=info msg="Loading containers: start."
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.281407771Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to>
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.371426726Z" level=info msg="Loading containers: done."
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.400215239Z" level=info msg="Docker daemon" commit=42c8b31 graphdriver(s)=overlay2 version=20.10.22
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.400833884Z" level=info msg="Daemon has completed initialization"
Jan 05 16:15:28 server systemd[1]: Started Docker Application Container Engine.
Jan 05 16:15:28 server dockerd[3729]: time="2023-01-05T16:15:28.455021718Z" level=info msg="API listen on /run/docker.sock"
Jan 05 16:24:06 server dockerd[3729]: time="2023-01-05T16:24:06.685971360Z" level=info msg="ignoring event" container=f506b4ec36287aeb43028e5ce6ebffbca70f9f248764b4ff1ce8e7e543010326 module=libcont>
Jan 05 16:24:07 server dockerd[3729]: time="2023-01-05T16:24:07.330258754Z" level=info msg="ignoring event" container=776f99c97199ca6c67160da1570c6164a1cf3bdfa61731bfe58ad11e8d9ba55e module=libcont>
克隆存储库:
git clone https://github.com/instructure/canvas-lms.git
然后运行安装程序脚本。
$ cd canvas-lms
$ ./script/docker_dev_setup.sh
________ ________ ________ ___ ___ ________ ________
|\ ____\|\ __ \|\ ___ \|\ \ / /|\ __ \|\ ____\
\ \ \___|\ \ \|\ \ \ \\ \ \ \ \ / / | \ \|\ \ \ \___|_
\ \ \ \ \ __ \ \ \\ \ \ \ \/ / / \ \ __ \ \_____ \
\ \ \____\ \ \ \ \ \ \\ \ \ \ / / \ \ \ \ \|____|\ \
\ \_______\ \__\ \__\ \__\\ \__\ \__/ / \ \__\ \__\____\_\ \
\|_______|\|__|\|__|\|__| \|__|\|__|/ \|__|\|__|\_________\
\|_________|
Welcome! This script will guide you through the process of setting up a
Canvas development environment with docker and dinghy/dory.
When you git pull new changes, you can run ./scripts/docker_dev_update.sh
to bring everything up to date.
> First, we need to install some dependencies.
OK to run 'sudo apt-get update && sudo apt-get install -y docker-compose'? [y/n] y
同意所有其他提示以完成 Canvas LMS 的安装。
手动安装画布
要在 Ubuntu 22.04|20.04|18.04 上手动安装 Canvas LMS,请使用以下步骤。
第 1 步:安装 Canvas 依赖项
这里我们将安装Ruby和Node.js软件包。让我们从 Node.js 的安装开始。
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs
sudo npm install -g npm@latest
支持的 Ruby 版本位于 PPA 存储库中,按如下方式添加。
sudo apt install software-properties-common
sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt update
sudo apt install ruby2.7 ruby2.7-dev zlib1g-dev libxml2-dev \
libsqlite3-dev postgresql libpq-dev \
libxmlsec1-dev libidn11-dev curl make g++
确认 ruby 版本。
$ ruby -v
ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux-gnu]
最后安装纱线。
sudo npm -g install yarn
步骤2:安装PostgreSQL数据库服务器
Canvas 使用 PostgreSQL 来存储其数据。使用下面的指南在 Ubuntu 上安装 PostgreSQL。
- 在 Ubuntu 上安装 PostgreSQL
安装数据库服务器后,为 Canvas 创建数据库并创建名为 canvas 的用户。
sudo su postgres
createuser canvas --no-createdb --no-superuser --no-createrole --pwprompt
提供用户密码并在出现提示时确认。然后创建画布数据库。
$ createdb canvas --owner=canvas
您可以选择将系统用户名设置为 postgres 超级用户。
sudo -u postgres createuser $USER
sudo -u postgres psql -c "alter user $USER with superuser" postgres
第 3 步:克隆 Canvas LMS 项目
克隆 Canvas 的最新源。
git clone https://github.com/instructure/canvas-lms.git /var/canvas
检查稳定分支。
cd /var/canvas
git checkout stable
第 4 步:配置画布
更改为 /var/canvas
目录并提取默认配置值。
cd /var/canvas
for config in amazon_s3 database \
delayed_jobs domain file_store outgoing_mail security external_migration; \
do cp config/$config.yml.example config/$config.yml; done
对数据库和动态设置执行相同的操作。
cp config/dynamic_settings.yml.example config/dynamic_settings.yml
cp config/database.yml.example config/database.yml
编辑文件 config/database.yml
并设置您的 Canvas 数据库凭据。
..........
production:
adapter: postgresql
encoding: utf8
database: canvas
host: localhost
username: canvas
password: password
timeout: 5000
使用 Ruby Gems 安装 Bundler:
sudo gem install bundler --version 2.2.33
安装画布依赖项
bundle config set --local path vendor/bundle
bundle install
yarn install --pure-lockfile && yarn install --pure-lockfile
包含表格和数据的人口数据库。
bundle exec rails db:initial_setup
示例输出如下所示。
使用以下方法构建许多 Canvas 资源:
bundle exec rails canvas:compile_assets
最后启动Canvas服务器。
bundle exec rails server