□ 디스커버리 설치
ufw allow 8381
ufw allow 18381
cd /edx/app/edx_ansible/edx_ansible/playbooks
ansible-playbook -c local -i 'localhost,' ./run_role.yml -e "role=discovery" -e@/edx/app/edx_ansible/server-vars.yml
□ 토론설치
rm -rf /usr/local/lib/ruby
rm -rf /usr/lib/ruby
rm -f /usr/local/bin/ruby
rm -f /usr/bin/ruby
rm -f /usr/local/bin/irb
rm -f /usr/bin/irb
rm -f /usr/local/bin/gem
rm -f /usr/bin/gem
apt-get -y update
apt-get -y install build-essential zlib1g-dev libssl-dev libxml2-dev libxslt-dev libreadline6-dev libyaml-dev
cd /tmp
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz
wget http://ftp.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz
tar -xvzf ruby-1.9.3-p286.tar.gz
cd ruby-1.9.3-p286/
./configure --prefix=/usr/local
make
make install
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
sudo bash
. /edx/app/edx_ansible/venvs/edx_ansible/bin/activate
cd /edx/app/edx_ansible/edx_ansible/playbooks
sudo service elasticsearch start
ansible-playbook -c local -i 'localhost,' ./run_role.yml -e "role=forum" -e@/edx/app/edx_ansible/server-vars.yml
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsearch-on-ubuntu-14-04 설치
sudo /edx/bin/update cs_comments_service master
mongo --port 27017 -u cs_comments_service-p 'password' --authenticationDatabase 'cs_comments_service'
show dbs
show collections
cd /edx/app/forum
source forum_env
sudo /edx/bin/update cs_comments_service master
□ 소스 경로
강좌검색 : /lms/templates/courseware/courses.html
등록페이지 : /lms/templates/student_account/register.underscore
유저생성 : /openedx/core/djangoapps/external_auth/tests/test_shib.py
이수증관리 : /lms/djangoapps/instructor/views/instructor_dashboard.py
이수증다운로드 : /lms/djangoapps/courseware/views/views.py
다운로드상태 : /lms/djangoapps/certificates/api.py
이수증URL : /lms/djangoapps/certificates/urls.py
강좌생성 : /cms/templates/inedx.html
강좌모델 : /openedx/core/djangoapps/content/course_overviews/models.py
□ stdio 재기동
sudo -u edxapp bash
cd /edx/app/edxapp
. edxapp_env
. venvs/edxapp/bin/activate
cd edx-platform/
./manage.py lms runserver --settings=aws 0.0.0.0:8000
sudo /edx/bin/supervisorctl restart all
sudo /etc/init.d/networking restart
sudo /edx/bin/supervisorctl restart edxapp:
sudo python manage.py makemessages -l ko-kr --settings=aws
□ 한글화 작업
/edx-platform/conf/locale/ko_KR/LC_MESSAGE
sudo -H -u edxapp bash
source /edx/app/edxapp/edxapp_env
sudo /edx/bin/supervisorctl restart edxapp:
□ migrate 명령어
sudo su edxapp -s /bin/bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/edx-platform
python ./manage.py {lms/cms} syncdb --settings=aws
./manage.py lms makemigrations course_overviews --settings=aws
./manage.py lms migrate --settings=aws course_overviews
./manage.py lms --settings=devstack migrate course_overviews zero
python manage.py lms sqlclear course_overviews --settings=aws
□ 로그확인
sudo tail -f /edx/var/log/{lms,cms,nginx}/*log
/edx/var/log/supervisor/lms-stderr.log
/edx/var/log/supervisor/cms-stderr.log
/edx/var/log/supervisor/supervisord.log
□ mysql DB 방화벽
iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT
iptables -I OUTPUT 1 -p tcp --dport 3306 ?j ACCEPT
sudo ufw allow 3306
sudo /edx/bin/supervisorctl restart all
sudo vi /etc/hosts.allow ( mysqld:ALL 추가 )
□ 서비스 상태 확인
sudo /edx/bin/supervisorctl status all
sudo tail -f /edx/var/log/lms/로그파일
sudo tail -f /edx/var/log/supervisor/forum-stderr.log
service nginx status
service mysql status
service mongod status?
□ 게시판 한글오류
set character_set_client =utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_filesystem = utf8;
set character_set_results = utf8;
set character_set_server = utf8;
show variables like '%char%';
→ service mysql 대신 /etc/init.d/mysql,
→ service mysqld 대신 /etc/init.d/mysqld를 써도 됨
In the edx-platform directory:
- cd /edx/app/edxapp/edx-platform Run the following Django management command:
- sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp lms dump_course_ids --settings aws Find the course ID which you'd like to delete in the resulting list of course IDs. Copy the course ID into the following command and run it:
- sudo -u www-data /edx/bin/python.edxapp /edx/bin/manage.edxapp cms delete_course <COURSE_ID> --settings aws
- You'll be asked to verify the deletion. To verify the deletion, run the command from step 2 above and ensure that the course ID is not in the list.
config.vm.provider "virtualbox" do |v|
v.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
end
sudo apt-get update && upgrade
cd /var/tmp
git clone https://github.com/edx/configuration
cd /var/tmp/configuration
git checkout open-release/ficus.3
cd /var/tmp/configuration/util/install
vi ansible-bootstrap.sh
CONFIGURATION_VERSION="master"를
CONFIGURATION_VERSION="open-release/ficus.3" 으로 수정
sudo bash ansible-bootstrap.sh
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y build-essential software-properties-common curl git-core libxml2-dev libxslt1-dev python-pip libmysqlclient-dev python-apt python-dev libxmlsec1-dev libfreetype6-dev swig gcc g++
cd /var/tmp/configuration
sudo -H pip install -r requirements.txt
cd /var/tmp/configuration/playbooks
vi edx_sandbox.yml
edx_platform_version: 'master"를
edx_platform_version: 'open-release/ficus.3' 으로 수정
sudo ansible-playbook -i localhost, -c local edx_sandbox.yml -e configuration_version=open-release/ficus.3
(설치를 진행하는 스크립트를 실행하는 명령어로 에러수정 후 계속해서 다시 치게될 것이다.)
설치중 에러가 나면 중단되는데 이떄 에러가 난 부분을 파악하고 edx_;sandbox.yml의 roles 부분에서 에러발생 지점 윗 부분을 #으로 주석처리하여 다시 설치를 진행한다. (이때 마지막에 실제 입력되는 스크립트를 표시하는 -vvv 옵션을 집어넣어서 설치시 에러나는 원인을 확실히 찾는다.) => 쉽게 말하면 설치완료된 부분은 재설치 하지 않기위해 주석처리함
에러나는 부분을 찾아서
roles 디렉터리의 해당 파트를 찾아가서 task의 main.yml 파일의 내용을 해석해서 default 디렉터리의 main.yml을 가지고 수동 패키지 설치를 해줘야한다.
task의 main.yml 내용에서 with item이 있으면 default의 main.yml에서 찾아서 수동 설치해줘야한다.
apt항목으로 묶인 부분은 apt-get install 명령으로 설치해주면된다.
get같은 경우 해당 URL로 찾아가 직접 다운로드하여 넣어주는 방법으로 해결할 수 있으며
jdk링크가 변경된 에러로 설치가 불가능한 경우는 해당 버전의 jdk를 oracle에서 직접 다운로드 받아서 해당 경로에 압축을 해제해주면된다.
github의 nltk를 설치해야하는 경우 해당 버전을 git clone하여 readme나 install설명파일이나 setup방법을 찾아서 수동으로 설치한다.
1.
설치하다보면 에러중에 lock이 걸리는 경우가 발생하는데
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo apt-get install -f (dpkg가 인터럽트 걸린경우)
이걸로 해당 리스트를 삭제후 다시한다.
2.
edxlocal의 postfix에러가 나는 부분이 발생할 수 있다.
postfix는 본래 기본설치되어있는 메일 서버 데몬인 것으로 추정되고 이를 해결하기 위해서는 edx_local의 task 디렉토리의 main.yml에 있는 패키지 이름과 default 디렉토리의 main.yml에서 설치하는 패키지를 찾은다름 default디렉토리의 main.yml에 있는 패키지를 수동으로 설치 해주면된다.
필자는 아래와 같은 방법으로 해결했다.
- $ sudo vim /etc/postfix/main.cf
- removed the extradot in "myhostname = pacific-SVE11115EGW..name"
- $ /etc/init.d/postfix reload (as advised in the terminal)
after which i ran the update && upgrade command and the error was no more
/etc/init.d/postfix reload
출처 : https://ubuntuforums.org/showthread.php?t=2333551
[SOLVED] dpkg: error processing package postfix & bsd-mailx
dpkg: error processing package postfix & bsd-mailx I am running ubuntu 16.04 and i just installed chkrootkit and rkhunter after which i ...
ubuntuforums.org
설치확인 명령어
sudo /edx/bin/supervisorctl status all (서버상태 확인)
Sudo tail -f /edx/var/log/lms/..... (log확인)
service nginx status (nginx 서버 상태확인 )
service mysql status
service mongod status
박스있을때 설치법
virtualbox 설치하고
vagrant 설치하고
vagrant box add edx edx.box
vagrant init edx
vi Vagrantfile
config.vm.box = "base"를
config.vm.box = "edx" 로 변경
virtualbox
create new terminal (터미널창 새로 생성한 후)
vagrant up
(* Stderr: VBoxManage: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
에러가 뜰경우 - Vmware상에서 우분투 동작시 해당 가상머신 setting으로 들어가서 processors -> Virtualize Intel VT-x/EPT or AMD-V/RVI 에 체크해준다.)
(* There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "d52be708-3292-46e5-a3e7-f6c960996601", "--type", "headless"]
Stderr: VBoxManage: error: RawFile#0 failed to create the raw output file /../ubuntu-xenial-16.04-cloudimg-console.log (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
에러가 뜰경우 - Vagrantfile 에
를 추가한다.)
- 참고 : https://betacloud.io/get-rid-of-ubuntu-xenial-16-04-cloudimg-console-log/
(* ssh connection timeout error 가 발생한다면 Vagrantfile에
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
를 추가한다.)
설치 중 프로세스가 강제로 kill이 되어 실패할 경우 - 메모리 or CPU사용량의 초과로 실패하는 것이니 메모리나 CPU를 늘려야한다.
파이선 에러가 나올 경우 stderr 의 마지막 부분부터 확인해야한다.
위와 같은 에러는 edxapp의 migration 실패시 발생한 에러인데 마지막 부분에 Duplicate column name 에러를 확인 할 수 있다.
이는 Database의 이름이 중복 된것으로 mysql에서 show database한 후 edxapp이 존재하는 경우 drop database edxapp 으로 해결 할 수 있다.
insight : install bower dependencies 에러 (ed_service 설치 이후이므로 이때부터는 edx가 작동됨)
https://stackoverflow.com/questions/29985746/error-to-install-insights-install-bower-openedx-ubuntu-server-12-04
(이와는 다른 에러가 발생하여 그냥 edx_sandbox.yml에서 insight를 주석처리하고 넘어갔다.)- error는 bower install이 안되는 문제인 구글링으로도 해결을 할 수 없었다..
elasticsearch 도 에러로 주석처리함.
forum에서 ruby에러가 나는데 해당 되는 부분 설치하고 루비 버전 맞춰주면됨
udo apt-add-repository ppa:brightbox/ruby-ng
udo apt-get update
sudo apt-get install ruby2.4 ruby2.4-dev
- 결국 뛰어넘음... complete 가 떳는데도 불구하고 안되는건 뭐니...ㅠ
재시작 명령
sudo /edx/bin/supervisorctl restart all
설치완료 후 로그인
staff@example.com
edx
-----------------------------------------------
box로 설치시 에러가 자꾸 나서
Virtualbox를 5.1.* 버전의 최신버전으로 설치하고 vagrant도 1.9.* 버전으로 최신버전으로 설치해서 해보도록 해야겟다.
아무래도 버전 문제인거같은데 클린하게 설치하는 것이 중요하다. 5.0.x 버전이 남아있으니 더럽게 삭제해야할 것들이 많아서 귀찮게 됨.
더럽게 되는 이유가 아래와 같음
dpkg -l virtualbox* | grep ^i ii virtualbox 5.0.32-dfsg-0ubuntu1.16.04.2 amd64 x86 virtualization solution - base binaries ii virtualbox-dkms 5.0.32-dfsg-0ubuntu1.16.04.2 all x86 virtualization solution - kernel module sources for dkms ii virtualbox-qt 5.0.32-dfsg-0ubuntu1.16.04.2 amd64 x86 virtualization solution - Qt based user interface
이렇게 virtualbox와 dkms, qt 세개의 버전이 같아야하는데 5.1.*버전을 설치하면 버전이 맞지않아 (rtr3initex failed with rc=-1912 (rc=-1912))와 같은 이상한 오류가 뜨게된다.
댓글