Setting up a subdomain for the studio cms in the juniper.2 release

Hello,

I have followed the steps here: https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/146440579/Native+Open+edX+platform+Ubuntu+16.04+64+bit+Installation

I created the config.yml file as indicated:

# The host names of LMS and Studio. Don't include the "https://" part:
EDXAPP_LMS_BASE: "online.myeducation.org"
EDXAPP_CMS_BASE: "studio.online.myeducation.org"

I found two issues:

  1. Can’t access the Studio CMS through studio.online.myeducation.org

I need to add the 18010 port.
http://studio.online.myeducation.org:18010

What are the missing steps to make the CMS available without the 18010 port?

  1. After signing in in the Studio CMS, it redirects to the LMS, but then it doesn’t go back to the CMS

How we can make the sign in process to work and being redirected back correctly to the CMS?

I would appreciate any guidance on the steps so we can update the document. Thanks!

Juan

Hi @Juan_M_Mendez.

I see that you used the Native deployment guide. That document might not the up-to-date for the latest releases.

The Open edX platform is deployed using Ansible playbooks located at edx/configuration. Specifically the openedx_native.yml ansible-playbook?

Running the scripts above ensure that everything you need to run Open edX is installed and that a proper nginx setup is configured to handle requests from the LMS/Studio and other services.

Take a look at the line highlighted below:

There’s a lot of variables that need to be set so that the deployment happens properly though.

There’s a discussion on this exact same issue in the Open edX Slack that has a solution: here.

The platform uses a unified login system through LMS, and for that to work you’ll need to add the Studio URLs to the LMS’s redirection whitelist.

That is done through a configuration variable that’s usually on /edx/etc/lms.yml (in the Juniper release):

LOGIN_REDIRECT_WHITELIST:
    - <lms_url.example.com>
    - <studio_url.example.com>

Make sure the whitelist URL matches the next query param added to the URL when logging in from the LMS.

The domains must be cookie-compatible for the login to work. Check this post for more details:


Also, if you don’t wan’t to worry with the technical stuff behind hosting an Open edX instance, we (OpenCraft) can host or help you set up your instance.

1 Like

Thanks a lot Giovianni, that is a very detailed answer.

  1. I did not find the ansible way as the recommended way of installing it now. So certainly, as I become more knowledgeable I may be able to help on the documentation.

There’s a lot of variables that need to be set so that the deployment happens properly though.

Do you know if they are documented somewhere, all the ones that needs to be changed? That certainly can prevent some try and error approach.

  1. Thanks, I will see if I can join to the Open edX Slack. I might need to get an edx gsuite account first.

To finalize, for now I must get the knowledge to setup our instance, although I take into account your offer for support with OpenCraft in case I might require it.

@Juan_M_Mendez

The main source of truth you should look at are the actual playbooks:

They are the most up-to-date resource there (since they’re being used to deploy the VMs). Other than that, there’s a lot of documentation scattered across many places (some of which might be outdated).

We use an automated (and open source!) deployment system called OCIM (GitHub) to spawn and configure new instances on OpenStack. The Open edX required variables can be found throughout the model mixins there. For example, check:

Also, there’s already a few posts here in the forum with some guidance on deploying a production-grade instance. Check them out for further references:


1 Like