How to Install edX on OpenSUSE Latest

In this tutorial, we will be walking you through the steps to install edX on OpenSUSE Linux. edX is an online learning management system that offers a wide range of courses from top universities and institutions around the world.

Prerequisites

Before proceeding with the installation, make sure that you have the following prerequisites installed on your system:

Step 1: Update the System

Start by updating the system's repository and packages by running the following commands:

sudo zypper update

Step 2: Install Dependencies

edX requires a list of dependencies and tools to run properly, including MongoDB, Django, Nginx, and more. You can install them by running the following command:

sudo zypper install mongodb nginx supervisor gcc libxml2 libxml2-devel libxslt libxslt-devel libjpeg8 libjpeg8-devel zlib zlib-devel libpng16-16 libpng16-devel gmp-devel openldap2-devel libffi-devel readline-devel libopenssl-devel

After installing the packages, start and enable their services by running the commands:

sudo systemctl start mongod.service
sudo systemctl enable mongod.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
sudo systemctl start supervisord.service
sudo systemctl enable supervisord.service

Step 3: Install edX

Next, download and install the edX platform by running the following commands:

sudo wget https://github.com/edx/edx-platform/archive/refs/tags/open-release/ironwood.4.tar.gz
sudo tar -xvf ironwood.4.tar.gz
sudo mv edx-platform-open-release-ironwood.4 /edx/app/edxapp/edx-platform
sudo chown -R edxapp:edxapp /edx/app/edxapp/edx-platform
cd /edx/app/edxapp/edx-platform
sudo -H pip install -r requirements/edx/base.txt
sudo -H pip install -r requirements/edx/local.txt

Step 4: Configure edX

Now, it's time to configure the edX platform. Navigate to the lms.auth.yml file by running:

sudo nano /edx/app/edxapp/lms.auth.yml

Uncomment and add the following lines to the file:

FEATURES:
  ENABLE_COMBINED_LOGIN_REGISTRATION: true
SOCIAL_AUTH_OAUTH_SECRETS:
  # Facebook
  facebook:
    client_id: '{{ facebook_client_id }}'
    secret: '{{ facebook_client_secret }}'
  # Google
  google-oauth2:
    client_id: '{{ google_oauth2_client_id }}'
    secret: '{{ google_oauth2_client_secret }}'
EDX_API_KEY: "{{ edx_api_key }}"
EDX_API_SECRET: "{{ edx_api_secret }}"

Save and close the file by pressing Ctrl+X, followed by Y.

Next, navigate to the lms.env.json file by running:

sudo nano /edx/app/edxapp/lms.env.json

Add the following lines to the file:

{
    "FEATURES": {
        "ENABLE_COMBINED_LOGIN_REGISTRATION": true
    },
    "LMS_BASE": "https://<your_domain>/",
    "ALLOW_ALL_ADVANCED_COMPONENTS": true,
    "ENABLE_COURSE_DISCOVERY": true,
    "ENABLE_DISCUSSION_SERVICE": false,
    "ENABLE_ECOMMERCE": false,
    "ENABLE_NEWRELIC": false,
    "APOLLO_KEY": "",
    "APOLLO_KEY_VARIANT": ""
}

Remember to replace <your_domain> with your own domain name.

Save and close the file by pressing Ctrl+X, followed by Y.

Step 5: Launch edX

Finally, start the edX platform by running:

sudo /edx/bin/supervisorctl restart edxapp:

After a few minutes, your edX platform will be up and running. You can access it by navigating to https://<your_domain>.

Congratulations! You have successfully installed edX on OpenSUSE Latest.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!