我正在使用预安装的映像在AWS中运行全栈edx平台。我尝试使用手动方法来应用斯坦福主题,如下所述:
https://github.com/edx/edx-platform/wiki/Stanford-Theming
我在这里克隆了一个主题存储库:
https://github.com/Stanford-Online/edx-theme
并做了上述教程中描述的内容。主题文件放置在相应的目录中。
但是在重新编译lms资产之后,lms并没有改变。
什么都没发生。
以下是使用此处介绍的手动方法启用自定义主题的步骤:
https://github.com/edx/edx-platform/wiki/Stanford-Theming
首先创建基础虚拟机:
mkdir fullstack
cd fullstack
curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/fullstack/Vagrantfile > Vagrantfile
vagrant plugin install vagrant-hostsupdater
export OPENEDX_RELEASE="named-release/birch"
vagrant up
Run Code Online (Sandbox Code Playgroud)
下载虚拟盒时可能需要一段时间。关键是导出OPENEDX_RELEASE环境变量。具体来说,这是安装名为发行版的Birch。随着时间的流逝,这将会改变。在此处查看有关命名发行版的更多信息:
https://openedx.atlassian.net/wiki/display/DOC/Open+edX+发布
现在,SSH进入虚拟机并成为edxapp用户:
vagrant ssh
sudo su edxapp -s /bin/bash
cd ~
source edxapp_env
Run Code Online (Sandbox Code Playgroud)
从github下拉主题:
mkdir themes
cd themes
git clone https://github.com/Stanford-Online/edx-theme.git default
Run Code Online (Sandbox Code Playgroud)
配置edX以使用新主题:
cd /edx/app/edxapp
vi lms.env.json
change "USE_CUSTOM_THEME": false to "USE_CUSTOM_THEME": true
change "THEME_NAME": "", to "THEME_NAME": "default",
exit and save vi
Run Code Online (Sandbox Code Playgroud)
重新编译资产:
cd /edx/app/edxapp/edx-platform
paver update_assets lms --settings=aws
Run Code Online (Sandbox Code Playgroud)
使用浏览器进行测试:http : //192.168.33.10 :8000/courses或http:// localhost:8000 / courses
要安装devstack或fullstack,请执行以下步骤: edx-installing-configuring-and-running
要启用斯坦福主题,请遵循以下步骤: edx-installing-configuring-and-runing ...#enable-themes
在中设置以下变量/edx/app/edxapp/lms.env.json:
ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/edx-platform/themes" ],
DEFAULT_SITE_THEME: "stanford-style",
Run Code Online (Sandbox Code Playgroud)
然后重新启动应用程序: sudo /edx/bin/supervisorctl restart edxapp:
如果这有效,那么恭喜!您已经正确配置了Open edX主题。现在开始自定义主题,您需要将“ stanford-style”下的所有文件复制到您自己的目录结构中。这非常重要,因此您可以将文件置于与Open edX分开的配置控制下。
将主题放在这里: /edx/app/edxapp/themes/<your-theme-name>
sudo mkdir /edx/app/edxapp/themes
sudo chown edxapp:edxapp /edx/app/edxapp/themes
cd /edx/app/edxapp/themes
sudo cp -R /edx/app/edxapp/edx-platform/themes/stanford-style <your-theme-name>
sudo chown -R edxapp:edxapp <your-theme-name>
Run Code Online (Sandbox Code Playgroud)
然后,更改lms.env.json中的变量
ENABLE_COMPREHENSIVE_THEMING: true,
COMPREHENSIVE_THEME_DIRS: ["/edx/app/edxapp/themes" ],
DEFAULT_SITE_THEME: "<your-theme-name>",
Run Code Online (Sandbox Code Playgroud)
在进入生产之前,通过将变量移动到/edx/app/edx_ansible/server-vars.yml(使它们在全堆栈或本机中可用)来使这些更改永久生效。如果该文件尚不存在,则创建它。在中定义和命名变量的方式略有不同server-vars.yml。
EDXAPP_ENABLE_COMPREHENSIVE_THEMING: true
EDXAPP_COMPREHENSIVE_THEME_DIRS:
- /edx/app/edxapp/themes
EDXAPP_DEFAULT_SITE_THEME: "<your-theme-name>"
Run Code Online (Sandbox Code Playgroud)
然后,运行sudo /edx/bin/update edx-platform open-release/eucalyptus.2以自动生成一个新的lms.env.json。检查lms.env.json以确保正确处理了ansible变量。