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.
Before proceeding with the installation, make sure that you have the following prerequisites installed on your system:
Start by updating the system's repository and packages by running the following commands:
sudo zypper update
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
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
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
.
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!
Alternatively, for the best virtual desktop, try Shells!