openedx docker

原创
2017/03/01 20:50
阅读数 1K

小组项目: 首先从git上clone一份代码,我的代码放在/Users/huangshihe/edx/edx-platform,可以自己更改,另外docker镜像近几天会上传的。

运行docker代码

# 导出镜像
docker save 镜像名 > /home/save.tar  
# 导入镜像
docker load < /home/save.tar  
# 创建容器
docker run --name bigfour2 --privileged=true -itd -p 5000:5000 -p 5010:5010 -p 2022:22 -p 80:80 -p 18010:18010 -v /Users/huangshihe/edx/edx-platform:/edx/app/edxapp/edx-platform huangshihe/edx:0.1

编译事项

  1. 用户及密码 sudo -H -u edxapp bash exit passwd edxapp 输入密码,并重复一遍

  2. 修改sudoer # chmod u+w /etc/sudoers //赋予写权限 # ls -al /etc/sudoers //查看权限 # vim /etc/sudoers //编辑 在root ALL=(ALL:ALL) ALL下加edxapp ALL=(ALL) ALL :wq # chmod u-w /etc/sudoers //回到原权限

  3. 进入edxapp用户编译 # sudo -H -u edxapp bash $ source /edx/app/edxapp/edxapp_env $ cd /edx/app/edxapp/edx-platform $ paver update_assets cms --settings=aws $ paver update_assets lms --settings=aws $ python manage.py cms --settings=aws collectstatic --noinput $ python manage.py lms --settings=aws collectstatic --noinput

     $ sudo /edx/bin/supervisorctl restart edxapp:
    

搜索设置

1. 修改cms

1.1 增加或修改~/cms.env.json

    ENABLE_COURSEWARE_INDEX: true
    ENABLE_LIBRARY_INDEX:true

1.2 修改~/edx-platform/cms/envs/common.py

    SEARCH_ENGINE: "search.elastic.ElasticSearchEngine"  
    ELASTIC_FIELD_MAPPINGS = {
        "start_date": {
            "type": "date"
        }
     }

2. 修改lms

####2.1 增加或修改lms.env.json

    ENABLE_COURSEWARE_INDEX: true
    ENABLE_LIBRARY_INDEX: true
    ENABLE_COURSEWARE_SEARCH: true
    ENABLE_DASHBOARD_SEARCH: true
    ENABLE_COURSE_DISCOVERY: true // 首页搜索
    COURSE_DISCOVERY_FILTERS: If provided, overrides the list of facets that are used in the Course Discovery feature to filter the results. By default, all facets will be displayed. The list of available facets includes:
        Course organization: "org"
        Course type: "modes"
        Course language: "language"

####2.2 修改common.py

SEARCH_ENGINE: search.elastic.ElasticSearchEngine 
SEARCH_INITIALIZER:lms.lib.courseware_search.lms_search_initializer.LmsSearchInitializer 
SEARCH_RESULT_PROCESSOR: lms.lib.courseware_search.lms_result_processor.LmsSearchResultProcessor
SEARCH_FILTER_GENERATOR: lms.lib.courseware_search.lms_filter_generator.LmsSearchFilterGenerator

常用操作

  1. 创建django管理员,用户名为huang sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws create_user -s -p edx -e huang@example.com sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws changepassword huang sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws shell from django.contrib.auth.models import User me = User.objects.get(username="huang") me.is_superuser = True me.is_staff = True me.save() exit()

  2. 将edx-platform/conf/locale/zh_cn/LC_MESSAGES目录下的*.po编译为*.mo cd ~/edx-platform django-admin.py compilemessages

  3. 日志目录 /edx/var/log/cms/edx.log

连接pycharm

具体可以参考以下文档,使用pycharm连接openedx
另外以下是笔者配置可以参考。
笔者的配置

注意事项

  1. 如果不是出于折腾的目的,不要轻易升级docker中的python、pip、xmodule等等。

参考

使用docker开发调试opendex open简明配置指南 更新国际化

展开阅读全文
打赏
1
1 收藏
分享
加载中

引用来自“外太空少年”的评论

编译完.po干嘛呢??
1. 重启edxapp,如果遇到问题请删除原有的.mo,重新编译。
2. 如果还失败,请检查:
2.1 html页面中是否使用了国际化的格式:{_("hello")}
2.2 两个po文件中是否有对应的翻译。
祝好😃
2017/03/21 09:59
回复
举报
编译完.po干嘛呢??
2017/03/21 09:42
回复
举报
更多评论
打赏
2 评论
1 收藏
1
分享
返回顶部
顶部