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 留言

留言

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

您可能感兴趣

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

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

Canvas 部署 Amazon(亚马逊) S3 存储方案

Canvas 支持服务器本地文件存储和云端文件存储,目前 Canvas 已完美支持亚马逊 AWS S3 云端存储方案,与本...

什么是 Canvas LMS 学习系统?

Canvas 是一个基于网络的学习管理系统或 LMS。学习机构、教育工作者和学生使用它来访问和管理在线课程学习...

Canvas 数据库 PostgreSQL 维护贴士

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