Canvas 安装 Rich Content Editor (RCE)

发布于: 26 October, 2021
分享:

Nodejs 版本:18.0 以上

Github Repository: https://github.com/instructure/canvas-rce-api

服务器端口:

云端服务器,需要在安全组里打开 3000 端口或自定义端口

克隆代码

$ cd /data
$ git clone https://github.com/instructure/canvas-rce-api.git rce

 

安装 Node 依赖

$ cd rce
$ npm install

 

RCE 配置文件

$ cp .env.example .env

 

编辑配置文件

$ nano .env

 

参考配置如下:

PORT=3000
NODE_ENV=production
STATSD_HOST=127.0.0.1
STATSD_PORT=8125
ECOSYSTEM_SECRET=astringthatisactually32byteslong
ECOSYSTEM_KEY=astringthatisactually32byteslong
#CIPHER_PASSWORD=TEMP_PASSWORD
#FLICKR_API_KEY=fake_key
#UNSPLASH_APP_NAME=canvas-rce-api-dev
#UNSPLASH_APP_ID=fake_app_id
#UNSPLASH_SECRET=fake_secret
#YOUTUBE_API_KEY=fake_key

其中 ECOSYSTEM_SECRET 等效于 canvas/config/vault_contents.yml 文件中的  signing_secret,而 ECOSYSTEM_KEY 等效于 encryption_secret,对照 Canvas 配置文件目录 config 下面的 vault_contents.yml 中设置的两串密钥。

打开 canvas/config 目录下 vault_contents.yml,检查是否存在 production,并修改 signing-secret 和 encryption-secret:

canvas_security:
  encryption_secret: "astringthatisactually32byteslong"
  signing_secret: "astringthatisactually32byteslong"

 

修改 Apache 虚拟主机配置文件

$ sudo nano /etc/apache2/sites-available/canvas.conf

80 和 443 节点末尾都添加:ProxyPass /rce/ http://127.0.0.1:3000/

注意端口号3000后面的 "/"

 

修改 Canvas 配置文件:

$ nano config/dynamic_settings.yml

 

将 app-host 修改为代理地址:

rich-content-service:
    app-host: "https://xxxxxxx.com:3000"

 

执行如下命令,启用 Apache 相关模块:

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_balancer
$ sudo a2enmod lbmethod_byrequests

 

如果后期 RCE 单独运行在另外一台独立服务器,可执行如下命令,禁用 Apache 相关模块(注意顺序):

$ sudo a2dismod lbmethod_byrequests
$ sudo a2dismod proxy_balancer
$ sudo a2dismod proxy_http
$ sudo a2dismod proxy

 

修改 apache.conf

$ sudo nano /etc/apache2/apache2.conf

修改:

ServerName localhost

 

重启 Apache 服务

$ sudo service apache2 restart

 

Canvas LMS 开启 RCE 增强:

打开:https://canvas.xxxxxx.com/accounts/site_admin/settings

RCE
分享:

0 留言

留言

您的留言将被人工审核,请勿发表色情、反动言论。

您可能感兴趣

Canvas 数据库 PostgreSQL 维护贴士

通常 Canvas 管理员需要外部工具,监控和维护 Canvas 数据库,其数据库采用的是 PostgreSQL 数据库,当我们...

拓朗调研报告:微软凭借 OpenAI 夺回手机市场

微软入局 OpenAI 董事会已成定局,产品架构重大调整或已启动,微软是否收复智能手机这块失地,并为注入最强...

查重利器!应对 Chat GPT! Canvas 学习系统配置 Turnitin 插件

在Canvas LMS中整合Turnitin LTI应用程序,可以轻松检测学生作业中的抄袭,帮助教师维护学术诚信,确保学生...