15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 搭建网课平台,步骤详细到每一步命令

搭建网课平台,步骤详细到每一步命令

时间:2023-08-22 10:30:02 | 来源:网站运营

时间:2023-08-22 10:30:02 来源:网站运营

搭建网课平台,步骤详细到每一步命令:

基于开源软件moodle+BigBlueButton(简称BBB)在AWS平台上快速搭建在线教学平台

· 背景

由于全世界疫情影响,学校均推迟开学,掀起了一时的网课热,许多企业都希望搭建一套属于自己的在线教育平台,基于这个需求今天给大家介绍一个基于aws快速搭建在线教学平台,实现稳定可靠的在线教学

首先先介绍一下什么是moodle和bigbluebutton

· Moodle




· BigBlueButton







· 为在线学习平台设计的网络会议系统,支持实时共享语音视频,幻灯片聊天屏幕,投票,老师可以使用表情符号,多用户白板和分会议室和学生进行互动,也可以记录和回放,提供和其他人分享

· 我们可以通过moodle上的bigbluebutton-bn这个插件,可以轻松的将这两个开源软件集成。集成后学生和老师就可以通过登录moodle加入对应课程,点击join session就可以跳转到在bbb上运行的在线教室了







· 服务架构

在这个方案中,我们会用到:

· ALB 用于接收用户请求;

· EC2作为Moodle和BBB的无状态服务器

· EFS用于存放Moodle使用过程中产生的数据持久化

· RDS用于建立Moodle的数据库

· ElastiCache用于缓存Moodle产生的临时数据

· CloudWatch用于监控整体架构的稳定










现在开始部署moodle 1.使用Amazon Linux 2标准镜像开始做以下准备工作

$ sudo yum update -y$ sudo yum install -y git telnet$ sudo rm -f /etc/localtime && / sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# verify locale$ date2 在moodle上安装并配置Apache

$ sudo yum install -y httpd$ sudo usermod -a -G apache ec2-user$ sudo chown -R ec2-user:apache /var/www$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} /;$ find /var/www -type f -exec sudo chmod 0664 {} /;# modify Apache config file$ sudo vim /etc/httpd/conf/httpd.conf<IfModule dir_module> DirectoryIndex index.html index.php</IfModule>$ sudo systemctl start httpd$ sudo systemctl enable httpd$ exit# login again for group verification$ groups3配置php

$ sudo amazon-linux-extras enable php7.2$ sudo yum install -y / php / php-fpm / php-gd / php-json / php-mbstring / php-mysqlnd / php-xml / php-xmlrpc / php-opcache / php-pecl-zip / php-intl / php-soap / php-pecl-redis / php-cli# modify php settings$ sudo vim /etc/php.ini post_max_size = 128M upload_max_size = 64M memory_limit = 256M# create test PHP file$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php$ sudo systemctl start php-fpm$ sudo systemctl enable php-fpm$ sudo systemctl restart httpd4在 Moodle 服务器上安装 EFS 工具:

$ git clone https://github.com/aws/efs-utils$ sudo yum -y install rpm-build$ cd efs-utils && make rpm$ sudo yum -y install build/amazon-efs-utils*rpm$ mount.efs --version# version of mount.efs show as below/usr/sbin/mount.efs Version: 1.21# lower than version 1.19 will unable to mount the China region EFS$ sudo mkdir -p /mnt/efs$ sudo mount -t efs fs-<efs_id>:/ /mnt/efs# add efs path to fstab$ sudo vim /etc/fstabfs-<fs_id>:/ /mnt/efs efs defaults,_netdev 0 05.在 Moodle 服务器上安装并配置 Moodle:

# create data path for Moodle$ sudo mkdir -p /mnt/efs/moodledata$ sudo chown -R ec2-user:apache /mnt/efs/moodledata$ sudo chmod 2777 /mnt/efs/moodledata && find /mnt/efs/moodledata -type d -exec sudo chmod 2777 {} /;# clone from git or download from moodle.org for moodle setup### wget https://download.moodle.org/download.php/direct/stable38/moodle-latest-38.zip$ git clone -b MOODLE_38_STABLE git://git.moodle.org/moodle.git$ cp -r moodle /var/www/html/$ cd /var/www/html/moodle && cp config-dist.php config.php# access to rds mysql for database setup### example using mysql$ CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;$ GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser' IDENTIFIED BY 'yourpassword';# modify Moodle config file$ vim config.php$CFG->dbtype = 'mysqli'; // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'$CFG->dblibrary = 'native'; // 'native' only at the moment$CFG->dbhost = '<RDS_ENDPOINT>'; // eg 'localhost' or 'db.isp.com' or IP$CFG->dbname = 'moodle'; // database name, eg moodle$CFG->dbuser = '<DB_USER>'; // your database username$CFG->dbpass = '<DB_PASSWORD>'; // your database password$CFG->wwwroot = 'http://<DNS_ENDPOINT>/moodle';$CFG->dataroot = '/mnt/efs/moodledata';# setup DB connection$ php /var/www/html/moodle/admin/cli/install_database.php --lang=en --adminpass=password --agree-license# add to crontab$ sudo vim /etc/crontab * * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php >/dev/null访问配置的 Moodle 连接 http:///moodle 进行验证,效果如下:

PS:配置启动moodle的时候 千万不要写 “--lang=cs” 我还以为是中文,越装越不对,结果一查是捷克语.... (不愧是支持120种语言)。 下面讲几个配置中比较关键的点:避免大家采坑

1.efs的配置与挂载

1.1确保ec2和efs的安全组开启了NFS端口

1.2确保目标所在的VPC的DNS开启了主机名解析功能,以下两项都需要开启↓↓







2.RDS配置

2.1配置好RDS后要确保RDS和EC2的安全组开启

2.2看好RDS默认开启的端口号是不是3306,我选择的数据库引擎是mysql,RDS默认开启的是3303,而mysql客户端默认连接的端口是3306,这时候你可以改RDS暴露的端口,也可以在客户端登陆的时候手动指定一下3303端口

2.3登陆的时候要使用RDS的Endpoint节点名称,命令如下

mysql -h bbbsql.cu4sfsxxxxx.rds.cn-northwest-1.amazonaws.com.cn -P 3303 -u admin -p

3.为了方便测试,可以在公网环境中访问,我将80端口改为了30080端口。

一共有三个地方要修改,缺一不可,具体操作步骤:

sudo vim /etc/httpd/conf/httpd.conf ## Listen 30080## ServerName http://ec2-161-189-113-205.cn-northwest-1.compute.amazonaws.com.cn:30080vim /var/www/html/moodle/config.php ## CFG->wwwroot = 'http://ec2-161-189-113-205.cn-northwest-1.compute.amazonaws.com.cn:30080/moodle';














现在在任意一个设备终端只要输入http://:30080/moodle即可测试~~

BigBlueButton 安装和配置

o TCP 80:0.0.0.0/0

o TCP 443:0.0.0.0/0

o UDP 16384-32768:0.0.0.0/0

$ sudo -i$ apt-get update$ apt-get install git$ sudo -i$ git clone https://github.com/bigbluebutton/bbb-install.git$ cd bbb-install# run below command for setup turn server### <turn server endpoint> for turn server url### <secret id> for secret access from bbb server### <email address> for which Let's Encrypt generates ssl certificate$ ./bbb-install.sh / -c <turn server endpoint>:<secret id> / -e <email address># for example:### $ ./bbb-install.sh -c turn.ryanlao.net:12345678 -e ryanlao@example.com$ sudo -i$ git clone https://github.com/bigbluebutton/bbb-install.git$ cd bbb-install# this step will take about 25 mins# setup with turn server### <bbb server endpoint> for bbb server url### <turn server endpoint> for turn server url### <secret id> for secret access from bbb server### <email address> for which Let's Encrypt generates ssl certificate$ ./bbb-install.sh / -s <bbb server endpoint> / -v xenial-220 / -e <email address> / -c <turn server endpoint>:<secret id> / -a# for example:### $ ./bbb-install.sh -s bbb.ryanlao.net -v xenial-220 -c turn.ryanlao.net:12345678 -e ryanlao@example.com -ahttps:///demo/demo1.jsp




$ sudo -i# purge demo site first$ apt-get purge bbb-demo# rerun bbb-install command with greenlight parameter$ ./bbb-install.sh / -s <bbb server endpoint> / -v xenial-220 / -e <email address> / -c <turn server endpoint>:<secret id> / -g# create an admin account$ docker exec greenlight-v2 bundle exec rake user:create["<admin name>","<admin email>","<admin password>","admin"]# access greenlight site for managing meeting room### e.g. https://bbb.ryanlao.net/b$ sudo -i

$ bbb-conf --check #查看bbb的配置信息$ bbb-conf --status #查看bbb的各个服务状态$ bbb-conf --start/stop/restart #启动/停止/重启bbb相关服务$ bbb-conf --secret #查看bbb服务器的secret密钥

安装 BigBlueButtonBN

BigBlueButtonBN 是用于 Moodle 和 BigBlueButton 集成的插件,安装完成后,老师就可以在 Moodle 上创建基于 BigBlueButton 的在线教室,学生只需在页面上点击 “Join Session” 即可进入在线课堂

下载 BigBlueButtonBN:https://moodle.org/plugins/pluginversions.php?plugin=mod_bigbluebuttonbn

将压缩文件拷贝到 Moodle 服务器上并解压缩:

$ scp -i <keypair> mod_bigbluebuttonbn.zip / ec2-user@<ip address>:/home/ec2-user/$ unzip mod_bigbluebuttonbn.zip将插件目录拷贝至 mod 文件夹:

$ cp -r bigbluebuttonbn/ /var/www/html/moodle/mod/使用管理员登录并访问 Moodle 网站

Moodle 会自动检测插件并提示升级,点击“升级”按钮即可安装插件,完成后点击“继续”按钮即可完成

BigBlueButtonBN 在 Moodle 网站管理的插件页面上就可以被看到并使用了

选择添加 BigBlueButton 服务器

a. 输入 BigBlueButton 服务器地址 (e.g. http://bbb.ryanlao.net/bigbluebutton)

b. 输入 BigBlueButton 共享密钥: (可以使用预配置,或者连接到 BigBlueButton 服务器上重新生成,如下)

#shared key needs to be set as fixed lengthsudo bbb-conf --setsalt <aaaaaaaabbbbbbbbccccccccdddddddd>

效果展示

1.这是 Moodle 的课程列表页面,如图:




  1. 点击课程后,会看到进入课程的“Join Session”按钮;除此之外,BigBlueButton 的录制功能也可以与 Moodle 集成,完成录制后,会在 Moodle 页面上看到相应的课程回放,如图:



  1. 点击“Join Session”后,就可以进入在线教室,如图:





关键词:命令,详细,步骤,平台

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭