tutor安装openedx踩坑记录

因为业务需求需要搭建慕课网站,我采用的是openedx框架,但是原声系统搭建起来比较麻烦,所以使用了别人做的精简版的docker镜像,可以一键安装,下载地址点这里
安装过程以及使用过程中遇到不少麻烦,真的心累,所以记录一下遇到的问题和解决方案,以防来人继续踩坑,同时也给自己留个记录。
1、安装环境
(1)内存最少4个G(合适8个G,4个G容易宕机,土豪绕路),硬盘的话最少9个G
(2)需要依赖docker和docker-compose
docker-compose安装方式一定要采用源码安装的方式,不要使用pip或者homebrew方式安装,好像是官方不支持,虽然可以装成功,但是在装openedx的时候会遇到缺少ssl包的问题。如图所示:
tutor安装openedx踩坑记录
刚开始还以为是docker-compose版本问题,试了好多都不行,最后无意间发现源码安装方式是OK的。
2、安装时域名的问题
在进行一键安装时会首先提示输入域名,这个域名不可以自定义,一定是要做过ip映射的,不然最后同样不能登陆。
3、视频托管问题
比较坑的是精简版的openedx貌似不支持本地上传视频功能,对于视频链接YouTube的支持非常好,播放的URL没有问题,对于墙内小伙伴太不友好了。但是对于其他视频平台URL只支持特定格式(官方强烈建议以.mp4结尾,还有少数其他几种格式等),其他格式都不能播放(非常坑)。所以只能采取第三方视频托管的形式,我用的是阿里云的服务器,用oss托管的,非常方便。后来查资料时看到有人说可以搭tomcat用来托管,因为阿里云用起来简单方便,就没有尝试那一种方法。
4、导入课程问题
导入课程必须使用.tar.gz的压缩文件,使用Linux系统可以直接输命令进行格式压缩。但是导入课程的时候需要有非常多格式要求,我按照官方教程尝试了几次还是没有成功(求路过大神指点)。
5、导出课程问题
对于导出的课程同样是.tar.gz的压缩文件,对于以后课程恢复非常方便,对于已经导出的课程可以正常导入,而且格式内容和原来一样,非常不错。但是对于自己制作的课程导出时开始遇到了编码问题(采用的是ascii)。

'ascii' codec can't encode characters in position 32-33: ordinal not in range(128)

后来尝试修改默认编码为(utf8),未果,就联系了作者,这是作者回复:

Paste here the output of tutor --version
Run tutor local stop
Paste here the output of docker ps
Run tutor local pullimages
Run tutor local start-daemon
Attempt to export your course
Immediately after you triggered the error, run: tutor local logs --tail=200 > ~/issue183.log
Paste here the content of file issue183.log.

后来自己重装了服务器,尝试了下面热心人事的做法:

I had the same issue (‘ascii’ codec can’t encode characters in position 32-33: ordinal not in range(128))
In my case, this was caused by special characters in upload file names.
I tried to change default charset too, but it dont work. I finally had to delete those file and upload again without special characters

我是把上传文件的名称全部改成了英文,没有保留中文,在导出的时候就可以正常导出。**

所以强烈建议所有上传的文件、图片都以英文或者数字格式命名,不要添加中文。

还有一次添加教材时上传文件用中文命名,在查看时直接显示服务器出问题。
6、用户注册时邮件**收不到确认邮件
好像要配置邮件服务器,可以去官方教程找一下,我还没有成功。不过目前找到了临时的解决方案(非常低效且蠢笨),从带studio.www.xxx的网址在后面加上/admin登陆Django管理端,
找到这个块tutor安装openedx踩坑记录
点进去之后可以看到所有注册用户的名称(一长串代码,自动吐槽),选中某一个用户之后,点击右边✏️的样式,可以对用户权限进行修改
tutor安装openedx踩坑记录
把active勾选最后保存就手动**了。这样就可以下次继续登陆了。

先更新这么多,后面遇到了再继续更新。欢迎有其他心得的大佬一起交流。