Open edX: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
mNo edit summary
 
(72 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==


According to the [], {{quotation|The Open edX platform is a free--and open source--course management system (CMS) that was originally developed by edX. The Open edX platform is used all over the world to host Massive Open Online Courses (MOOCs) as well as smaller classes and training modules.}}
In 2019, the [https://open.edx.org/ Open edX homepage] stated that {{quotation|edX is the online learning destination co-founded by Harvard and MIT. Open edX is the learner-centric, massively scalable learning platform behind it. Originally envisioned as a MOOC platform, Open edX has evolved into one of the leading learning platforms catering to Higher Ed, enterprise, and government organizations alike.}}


== Installation ==
In 2017, [https://open.edx.org/ the same homepage] had a more focused vision, {{quotation|The Open edX platform is a free--and open source--course management system (CMS) that was originally developed by edX. The Open edX platform is used all over the world to host Massive Open Online Courses (MOOCs) as well as smaller classes and training modules.}}


=== Installation of a test system under Ubuntu 16 ===
See also:
* [[Open edX installation and configuration]]


There are [https://openedx.atlassian.net/wiki/display/OpenOPS/Open+edX+Installation+Options many different ways to install and run an edX server].
== Administering Open EdX ==


==== Overview ====
The administration interface is available only through the localhost (server machine)
* http://localhost:81/admin


If you have free access to a server machine, the easiest method is probably installing the "bitnami" stack ([https://bitnami.com/stack/edx/README.txt README.txt] file. It will install a complete software pack in a separate directory including web servers, database servers, several programming languages, etc. The version we tried included:
This means that you either have to create a tunnel to run a navigator or else launch a firefox on the server and use X windows to display, e.g. if you got your own Linux machine:
  - Open edX eucalyptus.3
ssh server.machine -XY
  - Apache 2.4.25
firefox --new-instance
  - Elasticsearch 0.90.11
  - Erlang 17.4
  - Java 1.8.0_121
  - Memcached 1.4.35
  - MongoDB 2.6.12
  - Mysql 5.6.35
  - Node.js 6.10.0
  - Python 2.7.13
  - RabbitMQ 3.6.8
  - Rails 4.2.8
  - Ruby 2.1.10
  - RubyGems 1.8.12


If your machine already runs web servers, data base servers, etc. it will use other ports. From the README file: {{quotation|The default listening port for Apache is 8080, for Elasticsearch 9300, for Memcached 11211, for MongoDB 27017, for MySQL is 3306, for RabbitMQ 5672, for Open edX XQueue 18040 and 18010 for Open edX CMS. If those ports are already in use by other applications, you will be prompted for alternate ports to use.}} This does of course require that you allow that...
It can be configured to be available here (same port as edx-studio)
* http://yoursite:18010/admin/


Summary of ports that must be openend or can remain local (user installation for a system with an existing LAMP/Java stack, changed apache default from 8080 to 8000)
Read more in:
* [[Open edX installation and configuration]]


{| class="wikitable sortable"
== Creating a course ==
|+PORTS used by edX standard and custom installations
|-
! Service
!system default ports|| default user install
ports
|| our user install || our root install
(machine already had a LAMP stack)
|requires open firewall
|-
|mysql_port
|3306|| 3307 || 3307 || 3307 ||
|-
|smtp_port
|587|| 587 || 587 || 587
|
|-
|apache_server_port
|80|| 8080 || 8000 || 81
|x
|-
|apache_server_ssl_port
|443|| 8443 || 8443 || 443
|x
|-
|mongodb_port
||| 27017 || 27017 || 27017
|-
|elasticsearch_port
||| 9200 || 9200 || 9200
|-
|elasticsearch_node_port
||| 9300 || 9300 || 9300
|-
|rabbitmq_server_port
||| 5672 || 5672 || 5672
|-
|rabbitmq_management_port
||| 15672 || 15672 || 15672
|-
|Open edX XQueue
||| 18040 || 18040 || 18040
|x
|-
|Open edX CMS
||| 18010 || 18010 || 18010
|x
|}


==== Installation summary for a simple user ====
By default, any registered user can create a course. We find that really strange given all these annoying security features that otherwise imposed. However, in a production system, the administrator may have disabled course creating for non staff members (see [[Open edX installation and configuration]]


[[file:bitnami-console.png|thumb|300px|right|Bitnami console (after a succesful install)]]
For creating courses one is supposed to use studio, but someone will have to tell you where to find it. I will, but you also can read [http://docs.edx.org/ the official documentation]  


Firstly, have a look at [https://docs.bitnami.com/installer/apps/edx/ this bitnami doc] which is not really advertized.
If you configured your firewall as suggested above, then it is here:
* <code>http://yoursite:edx_port/edx-studio</code> (this will then redirect)


Here are the steps:
* http://yoursite:18010/ (the EdX-Studio website)
* Get the <code>LOCAL INSTALL</code> OpenEx installer from https://bitnami.com/stack/edx
: Yes it runs by default on port 18010 !
* Make the file executable:
chmod a+x bitnami-edx-eucalyptus.3-0-linux-x64-installer.run
* Create an empty directory somewhere
mkdir /path_yours/edx
* Run the installer (and wait for a very long time)
./bitnami-edx-eucalyptus.3-0-linux-x64-installer.run
: In the beginning it will ask your for an admin login, mail and password. It also requires SMTP information (anonymous is not allowed, so need an account). Alternatively you can use a gmail address.
: '''Important'''. You won't have to wait for a few minutes, but for a very long time, e.g. about 30 minutes on an older but idle Ubuntu 16 box.
* Launch it once the installer is done. You will get a little console (see picture to the right). This console is fairly useless if you are connected through an terminal. Instead you could run the following:
cd your_installation_directory
./ctlscript.sh status
: This will not mean that you actually can use the server, since you very likely may have a firewall that blocks outside access to your server.
: To test in the terminal if the server is actually working your could just type <code>wget localhost:8000</code> (adapt the port number).
* Adapt the firewall (of course you also can restrict to a local network)
# show open ports
sudo ufw status
<nowiki>#</nowiki> add port 8000 (adapt to yours)
sudo ufw allow 8000/tcp
<nowiki>#</nowiki> Open for the Studio (else you cannot create courses)
sudo ufw allow 18010/tcp
<nowiki>#</nowiki> add port 8000 to a restricted area
sudo ufw allow 8000/tcp from ip_number_here
<nowiki>#</nowiki> Reload the firewall
sudo ufw reload
 
Now if you plan to use this as a little production environment
* Open the firewall (see above)
* you should tell your system to launch this script at boot time. E.g. [http://askubuntu.com/questions/814/how-to-run-scripts-on-start-up read this].
 
'''Bugs''' (April 27 2017)
 
* The installation script will run and install under your login. It can not figure out your group name and some configuration files will be wrong. Fix group names in:
properties.ini
apps/edx/conf/httpd-cms.conf
apps/edx/conf/httpd-lms.conf
apps/xqueue/conf/httpd-xqueue.conf
 
* The start up page will display an empty URL (see above). Somehow, Apache will start despite wrong group names, but then something goes wrong. Fix the group name problem, shut down everything and restart.
 
* Studio will not allow saving an edited block '''Problem not solved so far'''. The problem seems to be quite frequent, but not clear solution was posted in forum messages I found.
 
=== installation under root ===
 
Since saving a studio edit does not work, I tried reinstalling the whole thing under root.
 
sudo su
ufw allow 81/tcp
ufw allow 443/tcp
ufw reload
./bitnami-edx-eucalyptus.3-0-linux-x64-installer.run
Below is a slightly censored transcript of the installation dialog. I basically used default values.


==== To start/stop the server ====
Creating a course is very simple:
* Hit the big green button and fill in the form
* Add instructors as needed (you need to know their email address and they must have signed up with edX with that email).


You can use the included ctlscript.sh utility:
[[File:Edx-studio-1.png|600px|thumb|none|edX studio - Creating a course]]
ctlscript.sh start|stop|restart


EdX will be available on the selected port, e.g.
== Authoring a course ==
http://yourserver_ip_or_name:8080


Again, if this does not work from your client machine, adapt the firewall settings (see above)
[[File:Edx-studio-3.png|600px|thumb|none|edX studio - Organizing the course]]


[[file:edx-admin-panel.png|200px|right|thumb|edX administration panel]]
[[File:Edx-studio-2.png|600px|thumb|none|edX studio - Adding content to a unit]]
==== Configuration ====


By default, anyone now can require an account and will get it. This may attract spammers.
== Links ==


After login into the system you cannot do anything, except signing up for the demo class and configuring the profile.
=== Official documentation ===


Log into the admin console:
The documentation is spread over several places.
http://yoursite/admin
: It only will be available on the localhost, which is really bad news if you cannot run an Xserver on your client machine. If you do happen to have a client linux machine (I do) then you can run firefox on the server machine. Connect to the server with the <code>-XY</code> option !!
ssh your_server -XY
sudo apt-get install firefox


Now your freaky Ubuntu will not run the firefox you just installed, but a copy of the one you already may have running on your local machine. Type:
* http://docs.edx.org/
firefox --new-instance
Open http://localhost:8000/admin and enjoy the difficult editing over a remote X connection.


* Read [http://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/ 4. Configuring the Open edX Platform] & enjoy for now.
* [https://open.edx.org/getting-help Getting help]. Provides a list of online resources.  


==== Alternatives ====
* [http://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/index.html Installing, Configuring, and Running the Open edX Platform]. As we described in [[Open edX installation and configuration]], for testing purposes, it is much easier to start with the Bitnami stack. However, this document still includes important documentation on configuration that one should read.


The same company also provides solutions for Virtual Machines compatible with Oracle VirtualBox and VMware vSphere, Workstation, and Fusion
* [http://docs.edx.org/ Documentation for edx.org and the Open edX Community]
** [http://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/ Building and Running an edX Course Instructions for course teams that are creating courses to run on the edx.org website.]
** [http://edx.readthedocs.io/projects/edx-guide-for-students/en/latest/ EdX Learner's Guide Help for learners taking a course on edx.org.]


=== Creating a course ===
* [https://openedx.atlassian.net/wiki/display/OpenOPS/Managing+OpenEdX+Tips+and+Tricks Managing OpenEdX Tips and Tricks]


For creating courses one is supposed to use studio. Of course, none of the obvious documentation will tell where to find it. I will. If you configured your firewall as suggested above, then it is here:
* [https://openedx.slackarchive.io/general/ Slack archive] (even if you do not believe that knowledge should be conversational ...)


* http://yoursite:18010/
: Yes it runs by default on port 18010 !
* <code>http://yoursite:edx_port/edx-studio</code> also works and will redirect to the above.


Read http://docs.edx.org/
[[category: open education]]

Latest revision as of 16:33, 25 May 2019

Introduction

In 2019, the Open edX homepage stated that “edX is the online learning destination co-founded by Harvard and MIT. Open edX is the learner-centric, massively scalable learning platform behind it. Originally envisioned as a MOOC platform, Open edX has evolved into one of the leading learning platforms catering to Higher Ed, enterprise, and government organizations alike.”

In 2017, the same homepage had a more focused vision, “The Open edX platform is a free--and open source--course management system (CMS) that was originally developed by edX. The Open edX platform is used all over the world to host Massive Open Online Courses (MOOCs) as well as smaller classes and training modules.”

See also:

Administering Open EdX

The administration interface is available only through the localhost (server machine)

This means that you either have to create a tunnel to run a navigator or else launch a firefox on the server and use X windows to display, e.g. if you got your own Linux machine:

ssh server.machine -XY
firefox --new-instance

It can be configured to be available here (same port as edx-studio)

Read more in:

Creating a course

By default, any registered user can create a course. We find that really strange given all these annoying security features that otherwise imposed. However, in a production system, the administrator may have disabled course creating for non staff members (see Open edX installation and configuration

For creating courses one is supposed to use studio, but someone will have to tell you where to find it. I will, but you also can read the official documentation

If you configured your firewall as suggested above, then it is here:

Yes it runs by default on port 18010 !

Creating a course is very simple:

  • Hit the big green button and fill in the form
  • Add instructors as needed (you need to know their email address and they must have signed up with edX with that email).
edX studio - Creating a course

Authoring a course

edX studio - Organizing the course
edX studio - Adding content to a unit

Links

Official documentation

The documentation is spread over several places.

  • Slack archive (even if you do not believe that knowledge should be conversational ...)