Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

воскресенье, 24 мая 2015 г.

Поднимаем OpenEdx на локали

Задача возникла поднять OpenEdx для того, чтобы поиграться с ним и посмотреть что он за зверь такой.



Так как я работаю под виндой, а мне надо (так сказали опытные админы) под линуксом все это устанавливать. Потому пришлось скачать VirtualBox и под него развернуть Ubuntu 14.04 (скачал ubuntu-14.04.2-desktop-amd64.iso). Важно! Раздел на который будет монтироваться "/" надо сделать большим - так просили разработчики (50Gb). Я сделал 100 :) - все равно виртуалку vhd делал с динамическим расширением и она занимала не больше 5Gb после установки. После получаса установки я имел красивую убунту в матрице.


После установки заходим в терминал и обновляемся до последней версии
sudo apt-get update -y
sudo apt-get upgrade -y
sudo reboot


Так как разрешение было всего лишь 640х480 пришлось ставить гостевые плагины VirtualBox. У него есть менюшка Устройства->Установить гостевые дополнения. После этого убунту предложит установить пакет, ей надо позволить. Если не получается, у убунты должен быть подмонтирован диск на котором есть исталятор - его и запускаем. Дальше снова ребутимся и теперь разрешение перестраивается под размеры окна. Спасибо!

Теперь будем делать матрицу в матрице. Надо установить VirtualBox на Ubuntu (я взял ту, что  AMD64). Просто скачал в браузере файл и запустил его гуйовым установщиком по умолчанию. Так же проделал с Vagrant (поставил тот что  Debian 64 bit).


Заходим в терминал и как велено в мануале по установке FullStack выполняем команды я на это время находился в корне /
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
После выполнения последней команды варгант будет выкачивать большой файл (~3-4Gb) из сети. У меня это был вонтэтат. Потому рекомендую запастить толстым интернетом и попкорном. Или вот как я запостить какой-нибудь пост в блоге. Позже пригодится.

Но после загрузки vagrant выплюнул мне не информативаное сообщение
root@openedx-pc:/fullstack# vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'birch-fullstack'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: fullstack_default_1432361710797_91832
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'poweroff' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.
И пришлось запустить virtualbox (под рутом). Графическая оболочка открылась, я увидел там новосозданный образ и попробовал его запустить вирчелбоксом. Но тот сообщил мне:
Failed to open a session for the virtual machine fullstack_default_1432361710797_91832.
VT-x is not available. (VERR_VMX_NO_VMX).
Видимо нельзя запускать одну виртуалку под другой - пронеслось у меня в голове. Но стэковерфлов ответил что как бы можно, но. И я решил проделать то же самое под моей родной убунтой, которую давно не пробуждал от виндовой сплячки.

Но перед тем еще одна гипотеза. Заглянув в варгант скрипт я нашел там способ, как получить на руки виртуалочкку. Вот она http://files.edx.org/vagrant-images/20150224-birch-fullstack.box Качаю... Может под виндой получится запустить. Попутно скачал вагрант под винду... 

Еще на одну гипотезу меня натолкнуло сообщение в одном из мануалов. If you have any problem installing or starting the VM with Vagrant, first check that you have the required versions of VirtualBox 4.2.16 and Vagrant 1.3.5. Ща проверим... 

С установкой нужной версии я обломался, потому попробовал засетапить варгант под винду и открыть им скачанный box файл. Попутно узнал, что box файл - это tar архив внутри которого находится виртуалка, а достав ее попробовал открыть напрямую в virtual box. Он проимпортировал себе в папку образ и открыл его. Запуск сразу не удался, там что-то с настройками сети были проблемы, но я удалил адаптер и все ок. 

Но на этом квест не закончился. Убунту загрузилась под виртуалкой под виндой и в консольке меня попросили ввести логин/пароль. А где его брать-то? :) Погуглив натолкнулся на строчку Default username/password: vagrant/vagrant и заработало! Я в системе... В консольке :) 

И как проверить, что там запущено? В мануале написано, что достать можно приложение по урлу 
Вот и попробуем curl http://192.168.33.10 и в консоле напечатался кусочек html'ины. Ура. Теперь надо вывести это за пределы виртуалки. Но как? Идем гуглить... Есть статья Настроил второй адаптер как мост и пробую запуститься... 

Настраивал сетку, настраивал, но мост так и не случился между двумя сетевыми адаптерами. Потому я решил пока поставить gui и попробовать в ней поработать. Но и тут засада :) Почему-то из виртуалки не видать интернета. Ох уж...

Интеренет появился после того, как на virtual box я зашел в меню Devices -> Network и клацнул на подключение, которое использовало NAT (второе подключение было настроено на мост и использовало один из моих сетевых адаптеров - без него не поднималось сервак на 192.168.33.10). Инет пошел. Поставил командой sudo apt-get install ubuntu-desktop и установка пошла. Только с ошибками, потому перед тем пришлось сделать sudo apt-get update -y и sudo apt-get upgrade -y, а потом повторить инсталяцию gui. Дальше надо было всего лишь запустить gui командой startx - тут же запустилась gui там был firefox и набрав в нем урл приложения я получил к нему доступ. Ура! 

Дальше вот так можно посоздавать юзеров и сделать других полезностей.

Если кому надо виртуалку, могу выложить. Пиши в комменты. 

Комментариев нет:

Отправить комментарий