虚拟机配置
- 硬件
- 修改虚拟硬件配置(RAM>4G disk>20G VCPU>2)
- 磁盘是LVM格式,如果想扩展,请使用LVM
- 网络
- 如果你是DHCP,请确保你的vsphere中dhcp服务器不挂。如果本地,确保VMware的网络设置为NAT模式
- 如果你是静态,请在漫长的等待之后进入虚拟机,编辑/etc/network/interfaces,例子如下:
iflab@ifLab:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 222.249.250.28
netmask 255.255.255.0
network 222.249.250.0
broadcast 222.249.250.255
gateway 222.249.250.1
dns-nameservers 114.114.114.114
iflab@ifLab:~$
本地虚拟域名配置
- edX需要通过域名来实现某些功能。可以设置本地虚拟域名。修改本机HOST文件,例如
edx: x.xyz.com
studio: studio.xyz.com
preview: preview.xyz.com
insights:insights.xzy.com
目录结构
iflab@ifLab:/edx$ tree -d -L 2
/edx #几乎所有edX相关内容
├── app #代码目录
│ ├── aws
│ ├── demo
│ ├── devpi
│ ├── edx_ansible
│ ├── edxapp
│ ├── forum
│ └── supervisor
├── bin #可执行程序目录(包括升级,进程控制等)
├── etc #配置文件目录
│ ├── conf.d -> /edx/app/supervisor/conf.d
│ ├── elasticsearch
│ └── playbooks -> /edx/app/edx_ansible/edx_ansible/playbooks
└── var #数据库文件、日志文件目录
├── aws
├── devpi
├── edx_ansible
├── edxapp
├── elasticsearch
├── forum
├── log
├── mongo
└── supervisor
配置LMS/Studio SMTP
- 涉及文档
/edx/app/edxapp/lms.env.json #|env文件 里包含一些功能开关
/edx/app/edxapp/cms.env.json #|
/edx/app/edxapp/lms.auth.json #|auth 文件包含一些密码 权限相关
/edx/app/edxapp/cms.auth.json #|
- 切换至 edxapp 账户,并加载对应环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/
- 修改 (*)ms.env.json
"EMAIL_HOST": "smtp.iflab.org",
"EMAIL_PORT": 25,
"EMAIL_USE_TLS": true,
注 诸多原因,不推荐腾讯企业邮箱
- 修改 (*)ms.auth.json
"EMAIL_HOST_USER": "*****",
"EMAIL_HOST_PASSWORD":"*****",
- 然后重启 edxapp:
sudo /edx/bin/supervisorctl restart edxapp:
注 一般情况使用默认的本地 smtp 服务,绝对会被拦截
更换域名
- 切换至 edxapp 账户,并加载对应环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/
- 修改 (*)ms.env.json
"CMS_BASE": "studio.edustack.net",
"PREVIEW_LMS_BASE": "lms.mnu.cn",
"LMS_BASE": "mooc.mnu.cn",
"SITE_NAME": "mooc.mnu.cn",
注 如果收到邮件为localhost,则是此处 SITE_NAME 参数未修改正确
- 然后重启 edxapp:
sudo /edx/bin/supervisorctl restart edxapp:
更换网站名
- 切换至 edxapp 账户,并加载对应环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/
- 修改 (*)ms.env.json
"PLATFORM_NAME": "eduX",
注 暂不建议中文名字。
i18n/汉化
- 切换至 edxapp 账户,并加载对应环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/
- 修改 (*)ms.env.json
"LANGUAGE_CODE": "zh-cn",
- 手动更新assets
sudo /edx/bin/edxapp-update-assets-lms
sudo /edx/bin/edxapp-update-assets-cms
- 然后重启 edxapp:
sudo /edx/bin/supervisorctl restart edxapp:
注 此处只调用官方release 翻译包
加载主题
- 切换至 edxapp 账户,并加载对应环境变量
sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/
- 克隆主题至 /edx/app/edxapp/themes
cd /edx/app/edxapp/themes
git clone https://github.com/eduStack/eduStack-theme.git
- 修改 (*)ms.env.json
"USE_CUSTOM_THEME": true
"THEME_NAME": "eduStack-theme",
- 手动更新assets
sudo /edx/bin/edxapp-update-assets-lms
sudo /edx/bin/edxapp-update-assets-cms
- 然后重启 edxapp:
sudo /edx/bin/supervisorctl restart edxapp:
修改证书下载地址
- 切换至 certs 账户
sudo -u certs bash
cd /edx/app/certs
- 修改 env.json
"CERT_DOWNLOAD_URL": "http://www.edustack.net:18090",
"CERT_URL": "http://www.edustack.net:18090",
"CERT_VERIFY_URL": "http://www.edustack.net:18090",
注 不要轻易更换端口。如若更换请记得更换 nginx 配置
- 然后重启 certs
sudo /edx/bin/supervisorctl restart certs
一些管理命令
- 列出所有 manage.py 命令参数(/edx/app/edxapp/edx-platform)
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp lms --settings aws
- 建立一个超级账户
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp lms --settings aws create_user -e iflab@bistu.edu.cn
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp lms --settings aws changepassword iflab
sudo /edx/bin/edxapp-shell-lms aws
from django.contrib.auth.models import User
me = User.objects.get(username="iflab")
me.is_superuser - True
me.is_staff - True
me.save()
- 删除一门课程
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp cms --settings aws delete_course 组织名/课程代码/课程学期 commit
e.g:
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp cms --settings aws delete_course bistu/M110/2014_T1 commit
注 也可通过具有 staff 权限的账号登陆 yourdomain/sysadmin 删除
如果删除失败,则数据库删除
删除课程代码为999的课程:
mongo
use edxapp
db.modulestore.find( { "_id.category" : "course" }, {'name':'1'} )
db.modulestore.remove({'_id.course': '999'})
- 手动编译assets
sudo /edx/bin/edxapp-update-assets-lms
sudo /edx/bin/edxapp-update-assets-cms
- 查看服务运行状态
sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf status
- 从github导入课程
cd /var/tmp
git clone https://github.com/edx/edx-demo-course.git
sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp cms --settings aws import /edx/var/edxapp/data /var/tmp/edx-demo-course
- 数据库备份与恢复
备份
mongodump -d edxapp -o /var/tmp/
mongodump -d cs_comments_service_development -o /var/tmp/
mysqldump -uroot -p edxapp >/var/tmp/edxapp.sql
mysqldump -uroot -p ora >/var/tmp/ora.sql
mysqldump -uroot -p xqueue >/var/tmp/xqueue.sql
cd /var/tmp
tar cvf cs_comments_service_development.tar cs_comments_service_development/
tar cvf edxapp.tar edxapp/
恢复
cd /var/tmp
tar xvf *******.tar
mongorestore -d edxapp --directoryperdb /var/tmp/edxapp
mongorestore -d cs_comments_service_development --directoryperdb /var/tmp/cs_comments_service_development
mysql -u root -p
use edxapp;
source /var/tmp/edxapp.sql;
use ora;
source /var/tmp/ora.sql;
use xqueue;
source /var/tmp/xqueue.sql;
请问怎么安装上的,我尝试了,却安装不上,急,求解决
不知道怎么安装,能否发一份安装指南!我都装上了,但是就是点击“登录”或“注册”一片空白,什么也没有