Skip to content

Latest commit

 

History

History
220 lines (159 loc) · 10.1 KB

README.md

File metadata and controls

220 lines (159 loc) · 10.1 KB

Table of Contents generated with DocToc

Contributions

Παρακάτω είναι η λίστα με τις συνεισφορές στο Edx.

Συνεισφορά Συμμετέχοντες issue
XBlocks Install Manager Γκόλφω Βασιλείου, Καλαϊτζίδης Φώτης, Hazislari Elis #3
WCAG-compatible accessibility theme Λάζαρος Καραούλης, Μπούκουρας Κώστας, Κυρτσώνη Αλεξάνδρα #8
XBlock - Code editor Σκεύη Άννα, Χρυστάλλα Σάββα #4
XBlock - Slide Viewer Καραϊσκου Άρτεμις Αναστασία, Ναούμη Έλενα, Φώκου Αγγελική #9
XBlock - SSH client Μόνε Διονύσης, Μιρονένκο Βασίλης #7
Xblock - BBB Μαυρικάκης Γιάννης, Πολίτης Φίλιππος #1

Μπορείτε να βρείτε τις παρουσιάσεις στο φάκελο presentations.


Edx setup dev environment

Εργαλεία που θα χρειαστούμε:

  1. VirtualBox
  2. Vagrant
  3. Git

Λειτουργικό σύστημα:

  1. 64bit λειτουργικό σύστημα (αν κάποιος έχει 32bit ενδέχεται να μην μπορεί να τρέξει το VM(info))
  2. 4GB RAM minimum
  3. 2 cpu cores minimum
  4. 30GB χώρο στο δίσκο

Installation

VirtualBox

Το VirtualBox υπάρχει για όλα τα λειτουργικά συστήματα. Αν δε το έχετε ήδη, κατεβάστε το από εδώ: https://www.virtualbox.org/wiki/Downloads.

Χρήστες Windows/MacOSX κατεβάζουν το εκτελέσιμο και το τρέχουν. Όσοι έχουν Linux το εγκαθιστούν μέσα από τη διανομή τους.

Vagrant

Πηγαίνοντας στη σελίδα των downloads (https://www.vagrantup.com/downloads.html) κατεβάστε το αντίστοιχο εκτελέσιμο για το λειτουργικό σας.

Windows/MacOSX χρήστες τρέχουν το εκτελέσιμο και εγκαθιστάται.

Για τους Linux users κατεβάστε το deb/rpm πακέτο με τη σωστή αρχιτεκτονική (tip: uname -i) και εγκαταστήστε με:

# Debian/Ubuntu
sudo dpkg -i vagrant_*.deb

# Fedora/CentOS
sudo yum local-install vagrant_*.rpm

How it works

Το Edx είναι μία τεράστια πλατφόρμα που αποτελείται από πολλαπλά components, γραμμένα σε διαφορετικές γλώσσες τα οποία τρέχουν μόνο σε Linux.

Χρησιμοποιείται η τεχνολογία του virtualization, έτσι ώστε μπορούμε να έχουμε όλοι μία κοινή πλατφόρμα πάνω στην οποία θα δουλεύουμε ανεξαρτήτως λειτουργικού.

VirtualBox

Το VirtualBox υλοποιεί αυτή την τεχνολογία και όπως γράφει και στο site, είναι μία cross-platform virtualization application. Αυτό σημαίνει πως μπορούμε να διαμοιράσουμε τους πόρους του συστήματός μας ώστε να εγκαταστήσουμε ολόκληρα λειτουργικά συστήματα sandboxed από το κύριως σύστημά μας.

Το κύριως σύστημά μας αναφέρεται ως host, ενώ το λειτουργικό που σηκώνεται μέσω του virtualbox λέγεται guest.

Για να εγκατασταθεί ένα λειτουργικό, πρέπει να έχουμε το image (iso) από το οποίο θα κάνουμε boot για να ξεκινήσει η διαδικασία εγκατάστασης. Φανταστείτε να πρέπει να δοκιμάσετε αν μία εφαρμογή παίζει σε όλες τις διανομές και να πρέπει να εγκαταστήσετε από την αρχή την κάθε μία. Για αυτό το λόγο θα χρησιμοποιήσουμε το vagrant.

Vagrant

Όπως αναφέρθηκε παραπάνω, κατά το development ενός τόσου μεγάλου project όπως το Edx, πρέπει να υπάρχει μία κοινή πλατφόρμα ώστε να αποφεύγονται bugs λόγω διαφορετικών λειτουργικών. Εκτός αυτού, ακόμα και Linux να χρησιμοπιεί κανείς, η διαφορά ανάμεσα στις διανομές και τα πακέτα τους είναι τεράστιες. Για το λόγο οι developers του Edx αποφάσισαν να βασιστούν και να χρησιμοποιήσουν το Ubuntu 12.04.

To Vagrant παίρνοντας πληροφορίες από ένα αρχείο, το Vagrantfile, μπορεί να σηκώσει έτοιμα Virtual Machines (VMs) μόνο με μία εντολή. Ένα τέτοιο έτοιμο image παρέχουν οι developers του Edx το οποίο μέσα έχει προεγκατεστημένα πολλά εργαλεία που χρησιμοποιούνται κατα το development.

Ansible

Το Αnsible είναι ένα configuratio management system, γραμμένο σε python, το οποίο χρησιμοποιείται για να στήσει αυτόματα όλα τα dependencies που χρειάζονται από το Edx.

How to use

Vagrant

Παρακάτω θα βρείτε μερικές χρήσιμες εντολές για το vagrant. Καθώς είμαστε μέσα στο φάκελο όπου περιέχεται το Vagrantfile δίνουμε:

command description
vagrant up σηκώνεται το VM που περιγράφεται στο Vagrantfile. Αν είναι η πρώτη φορά που το τρέχουμε θα τρέξουν και τα ansible scripts μαζί
vagrant halt κάνει poweroff το VM
vagrant reload κάνει reboot το VM
vagrant status δείχνει το status του VM
vagrant provision ενώ είναι πάνω το VM, τρέχει τα ansible scripts
vagrant ssh συνδεόμαστε στο VM μέσω ssh

Εγκατάσταση Edx

Φτιάχνουμε ένα φάκελο, κατεβάζουμε το Vagrantfile και ξεκινάμε το VM:

mkdir devstack
cd devstack
curl -L https://raw.githubusercontent.com/edx/configuration/master/vagrant/release/devstack/Vagrantfile > Vagrantfile
vagrant box add lavash-devstack 20141118-lavash-devstack.box
vagrant plugin install vagrant-vbguest
vagrant up

Development

Σύνδεση με ssh

Αφού έχει σηκωθεί το VM, συνδεόμαστε με ssh.

Προσοχή: Όσοι δουλεύετε τοπικά, πρέπει να είστε μέσα το directory όπου βρίσκεται το Vagrantfile.

## όσοι έχουν laptop
vagrant ssh

## όσοι έχουν okeano
ssh vagrant@okeanos_ip

όπου okeanos_ip αυτή που σας έχει σταλεί με το ανάλογο password.

Services and ports

Το επίσημο documentation για το πως θα ενεργοποιήσετε τις υπηρεσίες βρίσκεται εδώ.

Συνοπτικά, αφού έχουμε συνδεθεί με ssh είναι:

## αλλαγή χρήστη
sudo su edxapp

## για το lms
paver devstack lms

## για το studio
paver devstack studio

Για το forum (αν και δε θα μας χρειαστεί) πρέπει να συνδεθούμε με άλλο χρήστη. Αρχικά βεβαιωθείτε ότι τρέχετε τις παρακάτω εντολές με το χρήστη vagrant:

sudo su forum
bundle install
ruby app.rb -p 18080

Οι ανάλογες πόρτες είναι:

service vagrant port okeanos port
LMS http://localhost:8000 okeanos_ip:8000
Studio http://localhost:8001 okeanos_ip:8001
Forum http://localhost:18080 okeanos_ip:18080

Δημιουργία virtualenv

virtualenv /home/vagrant/.xblock
source /home/vagrant/.xblock/bin/activate