Running tutor on a local LAN server

I have successfully installed tutor on a headless, dedicated, non-gui Debian server box on my local LAN where I hope to trial Open EdX. I have also installed the the tutor management GUI on the server and can successfully access that from the browser on my normal (i.e. a separate client) machine.

I have started tutor on the server in local QuickStart mode, but don’t seem to be able to access it (neither CMS nor LMS) from my client machine.

Edited to add: I should clarify that I have so far only tried the ‘n’ option to the tutor QuickStart production installation answer as I am not ready to run a production environment.

My question is this: do I need to start tutor in production, dev, or local mode in order to be able to access it from a different machine on the same LAN?

Any hints or pointers to relevant material would be welcome.

I’m in the same situation, did you resolve the problem ?
I installed tutor in developpment (non-production), which is fully accessible from my server at the adress http://local.overhang.io but I can’t access it with my client machine with its IP address. I tried production mode, but it didn’t work either.

How can I make it accessible from my local network ?

Still waiting for a reply, though I only posted yesterday. :slight_smile:

Just taking a stab in the dark here, but I would try using an Nginx reverse proxy that directs the traffic to the internal name (local.overhang.io). If you can access Tutor using curl --head http://local.overhang.io from the server command line, then the reverse proxy should also work.

server {
    listen <port>;

    server_name <server_ip>;

    location / {
        proxy_pass http://local.overhang.io;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

How about register your server in local host file /etc/hosts (linux) or C:\Windows\System32\drivers\etc\hosts (windows)? Just replace 127.0.0.1 with your server IP.

127.0.0.1 studio.local.overhang.io
127.0.0.1 minio.local.overhang.io
127.0.0.1 discovery.local.overhang.io
127.0.0.1 notes.local.overhang.io
127.0.0.1 ecommerce.local.overhang.io
127.0.0.1 courses.local.overhang.io
127.0.0.1 preview.local.overhang.io
127.0.0.1 apps.local.overhang.io

Thanks for your suggestion.

The curl command works from the server’s command line, which leads me to my next question: is the nginx config file inside the docker container, or can I configure it in one of the yaml files user the .local tree?

I assume you’re referring to the client hosts file?

Good question. Tutor has commands to change the Nginx configurations. I don’t know if changing Nginx settings manually in .local will persist. Running quickstart will likely revert them.

I was thinking that you could install Nginx on the host and then use it as a reverse proxy to expose Tutor. The configuration is not complicated, but using it practically will take some work. One problem that I see you is how to access studio, notes, preview, etc. You’ll likely have to create a new site for each subdomain that uses a unique port (8080 for LMS, 8081 for CMS, etc.) because you lack a DNS service.

  1. Create the new site: nano /etc/nginx/sites-available/tutor-local
  2. Use the config that I listed above (change the port):
    server {
        listen <port>;
    
       # catch all; default
        server_name _;
    
        location / {
            proxy_pass http://local.overhang.io;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    
  3. Enable it, and then restart Nginx
    ln -s /etc/nginx/sites-available/tutor-local /etc/nginx/sites-enabled/
    

This seems like a more straightforward solution for a limited number of machines accessing it.

OK. Thanks for your assistance. I’ll have to go away and ‘play’. :slight_smile:

You are right, I am refering to local host file. However I’ve another solution, tunneling port using ssh. From your desktop run ssh :

sudo ssh your_username@your_server -L80:127.0.0.1:80

and access it using http://local.overhang.io.

Thanks for that, too. :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.