自2019冠状病毒病危机开始以来, 就像生活的大多数方面一样, 学习和教育都必须适应, 通过必要性, 远程访问. 在该领域,Canvas-LMS(来自 等等)显然保持了领先地位,是通过远程渠道提供教育内容的首选套件, 从小学到大学,甚至是公司培训.
infrastructure确实提供了托管的Canvas解决方案, 为可能没有技术人员或与公共和私人企业相同的严格保密要求的组织提供交钥匙访问, 哪个更有可能将Canvas系统部署在本地或云“硬件”,更直接地在他们的控制之下. 等等的主要支持文档描述了在MacOS (OS X)或Debian || ubuntubased Linux发行版上安装Canvas-LMS的路径. 然而, Canvas-LMS is a complex suite; challenging to install even for experienced 系统 Administrators 和 Developers 和 requiring a narrow list of supporting framework versions that may no longer be "default" packages in the current 回购itories ("回购"). 也有 a healthy number of un-affiliated sites with their own "how-to" on installing Canvas; but again, 这些都是基于debian的安装.
然而,本文讨论的是一条很少被提及的道路:红色的帽子 Enterprise Linux 8上的Canvas-LMS. (请关注本文的未来修订,调整这些步骤,以便在Alma或Rocky上安装.)
qCOW的out 的 Red Barn:
作为红帽公司的合伙人, 当时,必威新app优惠码的任务是为一个潜在客户提供LMS(学习管理系统)解决方案, 必威app在哪里下载立即开始为RHEL8创建(似乎是第一次)一个Canvas-LMS水平套件(独立的数据库和webservices器). 最终, 必威app在哪里下载知道这最终将成为一种基于云的services, 但这对于最初的测试来说是不切实际的, 所以Linux工程师从RHEL8的base qcow2创建了两个本地虚拟机,并在开发工作站上将它们旋转为本地kvm.
http://access.redhat.com/downloads/content/479/ver=/rhel---8/8.4/x86_64/product-software
注意:所有的命令都假定用户具有对系统的根或wheel级别的访问权限. 如果你不能在系统上使用' sudo su - 根 ',这些命令前应该加上' sudo…'.
设置完qcow2文件的根密码后, 将这个“原始”文件重新命名为备份文件,并复制两份, 一个用于数据库services器,另一个用于web或“应用程序”services器.
启动两个kvm,并从命令行将它们注册到红色的帽子:
订阅管理器注册
...使用适当的凭据. 另外,使用以下设置和回购配置这两个环境:
订阅管理器配置——rhsm.manage_回购 = 1
订阅管理器回购——启用rhel-8-for-x86_64-appstream-rpm
订阅管理器回购——支持codereready -builder for rhel-8-x86_64-rpm
数据库services器设置:
套房里的两个services器, 到目前为止,PostgreSQL数据库services器是两者中比较容易运行的, 必威app在哪里下载先来解决这个问题. 对于测试环境, 2个vcpu和2GB内存就足够了, 但如果这是云实例(打算用于生产),则使用至少4个vcpu和不少于8GB的RAM. 与一些云提供商(AWS)合作, there might not be a 单独的 VM / container; in such cases, 启动一个PostgreSQL数据库,并在初始设置时使用您选择的用户名和密码进行配置.
安装:
安装PostgreSQL套件:
安装@postgresql
这将安装所有必要的包,包括postgresql和postgresql-server. 然后,初始化数据库services:
postgresql-setup——initdb
作为安装的一部分,系统用户 postgres 创建. 出于安全考虑,强烈建议修改该系统用户的密码:
passwd postgres
新密码:
重新输入新密码:
创建一个 数据库 用户(不是系统用户)用于将从应用services器访问和处理Canvas-LMS数据库的非根级别用户. 这可以通过切换到 postgres 用户
(su - postgres)和登录到PostgreSQL使用' psql '命令或以下语法:
Su - postgres -c "echo -e \"$ {canvas_用户pw}\n$ {canvas_用户pw}\" | \
Create用户 canvas——no-super用户——no-createdb——no-createrole——pwprompt;"
… canvas 是用户名 $ {canvas_用户pw} 应用services器是否可以使用相当复杂的密码远程登录.
此外, canvas 用户将需要一个数据库命名相同:
Su - postgres -c "createdb canvas;"
配置:
在默认配置中, PostgreSQL只会在本地主机上监听传入的连接:5432, 使单独的应用services器能够连接, 编辑该文件 /var/lib/pgsql/data/postgres.相依 然后寻找类似于:
# listen_addresses = ' localhost '
取消注释(删除前面的'hash-tag'),并添加这个数据库services器的IPv4地址,如下所示:
listen_addresses = ' localhost,$ {DB_IPv4}'
… $ {DB_IPv4} DBservices器的局域网IPv4地址是.
下一个要调整的文件是/var/lib/pgsql/data/pg_ident.Conf,不用说了,但必威app在哪里下载还是要说 总是 做一个 备用 复制你正在编辑的任何文件 之前 你可以做任何改变. 复制文件后,应该在pg_indent中添加与上面相同的一行.配置文件:
listen_addresses = ' localhost,$ {DB_IPv4}'
(即使这一行不在文件中.)
pg_hba的.配置文件/var/lib/pgsql/data控制访问 其他 数据库的主机, 所以在这个文件中请配置应用services器的局域网IP地址:
#类型DATABAE用户 地址 方法
主机same用户帆布 $ IPv4_App1 md5
主机same用户帆布 $ IPv4_App2 md5
锁定密码的services:
成功完成上述步骤后,建议设置 postgres 数据库用户的密码作为配置数据库实例的最后一步. 注意:这是重置密码的唯一步骤 postgres 用户的 系统 账户上面.
完成此操作的最快方法类似于前面用于设置 canvas 数据库用户的密码:
postgres -c "psql - u postgres -d postgres -c \"ALTER USER postgres WITH \
加密的密码”postgres_用户pw美元';\""
的价值 postgres_用户pw美元 should be in plain-text; the 数据库 will actually perform the encryption.
设置应用程序services器:
使用DBservices器, 这些步骤都是相当不可知论的, 能和任何像样的网络services器一起工作. 对于App Server, Moser专注于让Canvas-LMS在Apache 2上工作.4网络services器. 这里所描述的内容将针对该设置. 然而, 任何熟悉webservices器配置的人可能仍然会发现这些步骤在调整他们选择的计画pservices器时很有用(例如:NginX, 女士services器, 等.).
在初始安装期间,系统需求是至关重要的. 因为必威app在哪里下载没有给环境足够的资源来编译Canvas-LMS的许多资产,所以多次尝试都被“冻结”了. 至少,到 编译 Canvas-LMS的应用程序端第一次使用时,系统需要12GB RAM和4x vcpu. Post-编译, clones or containers may require fewer resources; we did not perform those tests.
此外,Canvas-LMS对它需要的特定框架的版本相当挑剔. Moser的团队在测试环境中进行了大量的实验,以确定每个组件的最佳工作版本以及安装它们的最有效顺序. 最终,这对必威app在哪里下载来说是有效的,但你可能会有所不同. 调整或改变顺序可能对你更好……
安装:
在测试中, 必威app在哪里下载发现,如果将系统列为一个大安装,它并不总是能够正确地“消化”所有内容. 必威app在哪里下载发现按照以下方法分解包安装会更有效:
安装gnupg2 postgresql
(注意:安装PostgreSQL 客户端 在Appservices器上.)
安装git-core
安装libxml2-devel \
libpq-devel libtool-ltdl-devel
安装sqlite-devel make GCC GCC -c++ bzip2 zlib-devel
大多数基于debian的文档都建议在/var/canvas中安装画布套件, but for a variety of reasons we chose to use /opt/canvas; in the end there is essentially no difference.
CAN_DIR = / opt /画布
CAN_USER =帆布
用户add -r -U -c "画布- lms系统用户" -d CAN_DIR美元 $CAN_USER
echo $ can_用户pw | passwd——stdin $CAN_USER
mkdir - p CAN_DIR美元
chown -R ${CAN_USER}: CAN_DIR美元
cd CAN_DIR美元
--------------------------------------------------------------------
现在让必威app在哪里下载暂停一下特定的、基于云的配置……
这是 不 在“本地”测试系统或云services提供商那里,你会有自己的测试系统, 单独的, 数据库services器, 因为 canvas 在上面的配置中,数据库用户已经被添加到数据库中. IF, 然而, 你在云提供商上配置这些应用services器,不允许你有一个单独的数据库services器(咳嗽- AWS -咳嗽)!!),这里是必威app在哪里下载现在可以从应用services器,添加 canvas 使用。数据库用户访问PostgreSQL数据库实例 postgres 数据库用户帐号及凭证:
出口PGPASSWORD = " $ {postgres_用户pw}”
psql -h $DB_IPv4 -U postgres -c "CREATE DATABASE ${CAN_USER}"
psql -h $DB_IPv4 -U postgres -c "CREATE USER ${CAN_USER} WITH ENCRYPTED \
密码“$ {canvas_用户pw}”;“
设置PGPASSWORD
…必威app在哪里下载现在回到必威app在哪里下载的常规配置…
--------------------------------------------------------------------
继续,安装Canvas-LMS的核心:
git克隆 http://github.com/instructure/canvas-lms.git CAN_DIR美元
git checkout稳定
Install Ruby; 和 here Canvas-LMS will be particular 关于 the versioning, so depending on 当 当你在读这篇文章时,请做相应的调整:
旋度ssl 计画p/ /区.io / mpapis.asc | gpg2——import -
旋度ssl http://rvm.io/pkuczynski.asc | gpg2——import -
旋度ssl 计画ps://get.数位视讯.io | bash -s稳定
源/ 等 / profile.d /区.sh
数位视讯安装2.6.8——违约
Gem安装绑定器-v 2.2.21
在整个项目的任何单个部分中,安装和运行适当的捆绑程序可能是最费力的工作, 所以,如果你不得不跑上几趟山,不要感到惊讶.
chown -R ${CAN_USER}: CAN_DIR美元
Bundle配置设置——本地路径'vendor/ Bundle '
Bundle 相依ig set——local without 'pulsar'
伊斯兰国的大部分行动都是 根 在chown -R . 用户命令中,有很多次使用chown -R...'将用于更新CAN_DIR美元中所有内容的所有权. 类似地,某些命令需要以其他用户的身份运行,例如:
Su - canvas -c "包安装"
接下来,安装NodeJS:
旋度sl http://rpm.nodesource.com/setup_14.x | bash -
Yum -y安装nodejs
echo " NodeJS的版本是' node -v ' "
(上面的命令对于回溯和/或调试是可选的.)
NPM install -g npm@latest
Canvas-LMS更喜欢使用 纱 对于它所依赖的一揽子计划:必威app在哪里下载有什么可争辩的?
rpm -进口 计画ps: / / dl.纱pkg.com/rpm/pubkey.gpg
旋度sl http://dl.yarnpkg.com/rpm/yarn.repo |三通/等/yum.回购.d /纱.回购
Yum -y安装纱线
同时,纱线的安装也应按要求进行 canvas 用户:
Su - canvas -c "纱 install"
继续安装Python——Moser选择使用Python3x,没有注意到安装后的问题:
安装python3
唷! 这是一个大量的安装(但必威app在哪里下载还没有完成). 接下来是…
配置:
Canvas将sample和(通常)活动配置放在CAN_DIR美元/相依ig/(在必威app在哪里下载的例子中是/var/ Canvas /相依ig或/opt/ Canvas /相依ig/), 命名规则是不言而喻的. 需要注意的文件 必须 积极地让Canvas-LMS工作是:
- amazon_s3.yml
- 数据库.yml
- delayed_job.yml
- 域.yml
- file_store.yml
- outgoing_mail.yml
- 安全.yml
- external_migration.yml
在修改任何原件之前,请先做一份备份.
要从Canvas-LMS获得eMail工作,编辑文件 outgoing_mail.yml
vi CAN_DIR美元/ 相依ig / outgoing_mail.yml
...然后把逻辑凭证放进去. 此外,根据您的MX,您可能希望为SMTP代理设置安全端口.
In 数据库.yml 课程将分为三个部分:测试、开发和生产. 这三种方法通常都有相同的关键:
生产:
适配器:postgresql
编码:utf8
数据库:帆布
用户名:帆布
密码: canvas_用户pw美元
超时:5000
当然,调整你的价值观. 安装后, 超时 值可能需要在低资源环境中向上调整, 比如测试或开发, 让Canvas-LMS充分发挥作用.
也有 测试、开发 和 生产 部分的 域.yml 文件,但相关键更少:
生产:
域: FQDN美元 || IPv4_App1美元 [:3000]
Ssl: true || false
的 域: 键需要一个完全限定的域名或IP地址,并且 :3000 端口信息是可选的,这取决于您的预期部署.
中设置加密密钥最省事的方法 安全.yml is:
rm - f $ CAN_DIR / 相依ig /安全.yml
cd $ CAN_DIR /配置
hex code= ' openssl r和 -hex 20 '
猫的安全.yml.使用实例| sed -e "s/encryption_key\:.*$/encryption_key\:\ ${hex_code}/g" >> 安全.yml
cd CAN_DIR美元
在进行下一轮安装之前,创建以下文件或目录:
Mkdir -p 日志 /pids public/assets app/stylesheets/br和able_css_br和s . 日志 /pids public/assets app/stylesheets/br和able_css_br和s . 日志
应用程序/样式表/ _br和able_variables_defaults_autogenerated联系.scss
触摸Gemfile.锁
联系日志/生产.日志
chown -R ${CAN_USER}: CAN_DIR美元
安装v2:
这可能看起来很奇怪,但必威app在哪里下载遇到的大多数Canvas-LMS配置指南都再次运行了 纱 和 包安装 在这一点上:
Su - canvas -c "纱 install"
Su - canvas -c "包安装"
chown -R ${CAN_USER}: CAN_DIR美元
现在可能是最大的编译:
Su - canvas -c "RAILS_ENV=生产 COMPILE_ASSETS_STYLEGUIDE=0 bundle exec \ rake canvas:编译_assets"
这要花很多时间, 一旦完成, 再次设置CAN_DIR美元中所有内容的所有权:
chown -R ${CAN_USER}: CAN_DIR美元
chmod 400配置/ *.yml
人口:
在DBservices器上填充Canvas数据库时, 需要设置一些值,以便登录web的站点管理员可以登录. 如果没有在文件中提供或作为脚本命令的一部分, 期间,Canvas-LMS将提示输入这些值 initial_setup. 必威app在哪里下载发现将这些设置为环境变量更容易 Canvas User作为命令字符串的一部分:
Su - canvas -c "CANVAS_LMS_ADMIN_EMAIL = '一些.body@example.com' \
CANVAS_LMS_ADMIN_PASSWORD =$ {somebody_用户pw} \
CANVAS_LMS_ACCOUNT_NAME =$ {organization_name_here} \
CANVAS_LMS_STATS_COLLECTION = opt_out \
RAILS_ENV=生产包执行rake db:initial_setup
This also may take a bit of time; during the setup, 可以单独登录到数据库,并确认表和数据正在写入 Canvas 数据库.
安装v3:
必威app在哪里下载快回到堪萨斯州了,多萝西. 只需要安装一个网络services器和Phusion Passenger:
安装HTTPD mod_ssl
HTTP_USER = apache
HTTP_GRP = apache
HttpDir = ' / 等 / 计画pd '
PassengerConf = $ {HttpDir} / 相依.d /乘客.相依
要启用Passenger存储库,你必须依赖Fedora和EPEL一分钟:
百胜是安装 http://dl.fedoraproject.org/pub/epel-release-latest-$(< \
/等/redhat-release tr -dc '0-9.' | cut -d \. -f1).noarch.rpm
yum-相依ig-manager——使epel
百胜清洗所有的 && 百胜是更新
然后通过乘客回购和安装乘客:
-sSLo /等/yum.回购.d /乘客.回购\
http://oss-binaries.phusionpassenger.com/yum/defnitions/el-passenger.repo
安装mod_乘客 || Yum -相依ig-manager——enable cr \
&& 安装mod_乘客
宝石原始executable-hooks
需要注意的一个事实是:乘客需要许可证才能作为“生产”环境运行. 更多详情请访问他们的网站 http://www.phusionpassenger.com/pricing.
Canvas-LMS需要在$HttpDir/相依中有一个VirtualHost配置文件.d/和一个易于定制的模板由基础架构提供在github网站:
http://github.com/instructure/canvas-lms/wiki/Production-Start
一旦你得到了你的 /等/计画pd/相依.d /帆布.相依 启动并启用Apache WebServer:
Systemctl enable——现在HTTPD
确认乘客已正确安装:
/usr/bin/乘客-相依ig validate-install——汽车
echo $?
(如果所有都在工作,则应该没有输出,因此需要与 $? 返回.)
如果一切正常,那么需要在文件中调整几个项目 /等/计画pd/相依.d /乘客.相依. 这个文件通常从盒子里出来 PassengerRuby 值设置为如下值:
PassengerRuby /usr/bin/ruby
然而, Canvas-LMS需要这些特定版本的Ruby, 而默认值很可能会使web界面瘫痪. 所以运行:
数位视讯的红宝石
...然后把返回的值放到 乘客.相依 文件:
PassengerRuby /usr/local/数位视讯/rubies/ruby-2.6.8 / bin / ruby
当你在那儿的时候,就在那下面 PassengerRuby 行,指定 Canvas 用户将是使用这条线路的乘客:
PassengerDefaultUser帆布
这可以被认为是可选的, 但这可能是整个安装过程中非常挑剔的一部分,而且每一点都很有帮助.
重新启动Apache:
系统ctl启动计画pd

测试+调试:
在web浏览器中,导航到您的Apache WebServer的IP或URL. 乘客动态生成, 所以在你看到Canvas-LMS登录屏幕之前,这可能需要一点时间. 当您看到一个不言而喻的登录屏幕时,请使用在 人口 上面的部分.
如果你看到一个类似于"出问题了"的屏幕上有个大大的"X", 这意味着乘客几乎可以工作了. 检查/等/计画pd/日志s/error_日志中任何与乘客相关的错误, 尽管在较小的测试系统上这可能是一个超时问题, 在这种情况下,将这一行添加到 乘客.相依 Apache虚拟主机文件:
PassengerStartTimeout 300
重新启动Apache并再次尝试浏览器.
也许在配置Canvas-LMS以在红色的帽子系统上工作时,最具挑战性的部分是保持耐心. 安排常常会失败, 但这只是在观察编译器旋转了很长一段时间之后. 然后它又回到了“A”的位置,只是顺序稍有不同. 以上是必威新app优惠码发现的有效方法,但您的需求或硬件可能不同. Don't be afraid to experiment; in Linux, 总是有不止一种方法来给' cat /等/passwd '皮肤.
祝你好运!
引用:
http://github.com/instructure/canvas-lms/wiki/Production-Start
http://www.cyberciti.biz/faq/install-and-setup-postgresql-on-rhel-8/
http://www.postgresql.org/docs/current/auth-pg-hba-conf.html
http://bitnami.com/stack/canvaslms
http://www.tecmint.com/install-ruby-on-centos-rhel-8/
http://linuxize.com/post/how-to-install-yarn-on-centos-8/
http://www.phusionpassenger.com/docs/advanced_guides/install_and_upgrade/apache/install/oss/el8.html
http://www.linode.com/docs/guides/how-to-install-canvas-on-debian-10/
http://computingforgeeks.com/install-node-js-14-on-centos-rhel-linux/
http://www.ripplesoftware.ca/how-to-install-canvas-lms-on-ubuntu-18-4/