Need help ! tutor installed but nothing works!

Hi all,
I’m fighting with edx for over 3 weeks now. My platform is WHM AlmaLinux 8 VPS. I’m using podman and had number of different troubles to make the podman working. Now podman is fine and have installed and reinstalled open edx gazillion times and cannot make it working. It installed correctly this last time with final terminal output :

All services initialised.
The platform is now running and can be accessed at the following urls:

    https://educli.online
    https://studio.educli.online
    https://apps.educli.online

It’s a live server with nothing on it yet for obvious reasons :wink:
The links are real but I get nothing, no web platform only listing of the directories or 403 error. I don’t even know where all the web code is located and I can’t find any answers on the internet so can’t look for it and point to it.
The tutor is installed in a python virtual environment (have tried without it as well) and it was whinging about some containers not existing so I have restarted it and they are showing but the restart hasn’t finished yet after 30 minutes now and I’m getting some messages in the terminal like

[redis]         | 1:M 17 Sep 2024 03:22:50.197 * Background saving terminated with success
[redis]         | 1:M 17 Sep 2024 03:31:09.659 * 10 changes in 300 seconds. Saving...
[redis]         | 1:M 17 Sep 2024 03:31:09.659 * Background saving started by pid 15
[redis]         | 15:C 17 Sep 2024 03:31:09.662 * DB saved on disk
[redis]         | 15:C 17 Sep 2024 03:31:09.663 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB

I don’t know what it all means but I’m not touching it. Every step by step guide on the internet is saying it’s very easy and straight forward install. Well after 3 weeks of struggle I got NOTHING. So not sure where that easy is coming from. I’m not new to Linux nor webhosting stuff but this is really killing me.
Can someone please help me out ?
Thank you

You have an Apache server running at https://educli.online/ Is that on purpose? If yes, did you read this tutorial? Running Open edX behind a web proxy — Tutor documentation

Hey Regis,
thanks for your comment. the apache is just there, it’s a VPS hosting with WHM panel and everything that’s there I can NOT change so I’m stuck with apache.
What will web proxy do in my scenario ? I have already SSL I can host websites out of the box so how does this Open edx with web proxy change anything?

Hi Regis,
I went through the link you sent and done about a million things to make this thing working. Well, I have even installed NGINX via ENGINTRON on WHM. All seems to be “working” → podman working, nginx working, tutor starting without any errors, but there is one thing with podman → it shows that pod is in degraded state - I can NOT find any info about that but the THING is when opening the website I still get NOTHING, just pure list of files. I don’t know what to do with the WEB Proxy you have sent as the page does NOT explain anything. I have ran the commands on the page but can’t test it locally as it is a WHM platform so no local web access.
Anyone PLEASE can shed some light on this ??? Apparently it suppose to be a very easy install. I really do NOT agree with that. I’m just very frustrated that’s all
Thanks

It’s difficult to help you when you don’t give us any more details than “you’ve tried a gazillion things”. You don’t have to install nginx if you already have Apache running. After following this tutorial you’ll have Open edX running on a specific port, for instance port 81. You must then configure Apache to redirect all traffic sent to educli.online and *.educli.online to port 81. I’m not familiar with Apache, and I don’t know your exact setup, so I can’t give you a config that I’m 100% confident in. Claude.ai tells me you should use something like this:

<VirtualHost *:80>
    ServerName educli.online
    ServerAlias *.educli.online

    ProxyPreserveHost On
    ProxyPass / http://localhost:81/
    ProxyPassReverse / http://localhost:81/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:443>
    ServerName educli.online
    ServerAlias *.educli.online

    SSLEngine on
    SSLCertificateFile /path/to/your/certificate.crt
    SSLCertificateKeyFile /path/to/your/private.key
    # If you have a separate chain file, uncomment the following line:
    # SSLCertificateChainFile /path/to/your/chain.crt

    ProxyPreserveHost On
    ProxyPass / http://localhost:81/
    ProxyPassReverse / http://localhost:81/

    ErrorLog ${APACHE_LOG_DIR}/ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
</VirtualHost>

Make sure to read this thoroughly and edit it to match your requirements. Good luck.

Hi Regis,
I didn’t mean to be rude or anything, I’m just completely frustrated and not only because it is not working but because every problem I come across I can NOT find on the net. When I post my problem somewhere I don’t get any replies or I get questions when answered I don’t get any follow ups. It seems like I have problems with this setup that nobody else has which is very strange so I really DO APPRECIATE any help - YOUR HELP. I don’t know what to tell you about my setup because I don’t know what would be crucial to know so I really am in the dark from all directions. I’ve installed many things on many servers but this one is the first one that gives me so much trouble. I don’t use AI so maybe I should. I really do thank you for your help or any input for that matter. Appreciate it a lot and I really do mean it.

Regis,
one more thing, since I already use ENGINTRON would you be able to help with setting up the port redirect in nginx instead of apache2 ? That Engintron seems to be working well and could be usefull for other things so I might keep it and work with that.
Thanks

So, still struggling with the actual website as it only shows the listing of public_html folder which is the root folder for the domain but I have a feeling that the actual open edx tutor root/web folder is somewhere else and just can’t figure out where. Can anyone help ???
For the NGINX config file which I’m not sure is correct as I cannot find any reference for the correct one anywhere, I am attaching my config file for the particular domain:

proxy_cache_path /var/cache/ea-nginx/proxy/educli levels=1:2 keys_zone=educli:10m inactive=60m;

#### main domain for educli ##
server {
    server_name educli.online www.educli.online mail.educli.online 139.180.180.200;
    listen 80;
    listen [::]:80;

    include conf.d/includes-optional/cloudflare.conf;

    set $CPANEL_APACHE_PROXY_PASS $scheme://apache_backend_${scheme}_139_180_180_200;

    # For includes:
    set $CPANEL_APACHE_PROXY_IP 139.180.180.200;
    set $CPANEL_APACHE_PROXY_SSL_IP 139.180.180.200;
    set $CPANEL_SERVICE_SUBDOMAIN 0;

    set $CPANEL_PROXY_CACHE educli;
    set $CPANEL_SKIP_PROXY_CACHING 0;
    
    listen 443 ssl;
    listen [::]:443 ssl;

    http2 off;

    ssl_certificate /var/cpanel/ssl/apache_tls/educli.online/combined;
    ssl_certificate_key /var/cpanel/ssl/apache_tls/educli.online/combined;
        
    ssl_protocols TLSv1.2 TLSv1.3;
    proxy_ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
    proxy_ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
            
    root "/home/educli/public_html";

    location /cpanelwebcall {
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass http://127.0.0.1:2082/cpanelwebcall;
    }

    location /Microsoft-Server-ActiveSync {
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass http://127.0.0.1:2090/Microsoft-Server-ActiveSync;
    }

    location = /favicon.ico {
        allow all;
        log_not_found off;
        access_log off;
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        include conf.d/includes-optional/cpanel-proxy.conf;
	proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location / {
        proxy_cache $CPANEL_PROXY_CACHE;
        proxy_no_cache $CPANEL_SKIP_PROXY_CACHING;
        proxy_cache_bypass $CPANEL_SKIP_PROXY_CACHING;

        proxy_cache_valid 200 301 302 60m;
        proxy_cache_valid 404 1m;
        proxy_cache_use_stale error timeout http_429 http_500 http_502 http_503 http_504;
        proxy_cache_background_update on;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 1;
        proxy_cache_lock off;

        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

            
    include conf.d/server-includes/*.conf;
    include conf.d/users/educli/*.conf;
    include conf.d/users/educli/educli.online/*.conf;
}
server {
    listen 80;
    listen [::]:80;

    listen 443 ssl;
    listen [::]:443 ssl;

    http2 off;

    ssl_certificate /var/cpanel/ssl/apache_tls/educli.online/combined;
    ssl_certificate_key /var/cpanel/ssl/apache_tls/educli.online/combined;

    server_name  cpanel.educli.online cpcalendars.educli.online cpcontacts.educli.online webdisk.educli.online webmail.educli.online whm.educli.online;

    include conf.d/includes-optional/cloudflare.conf;

    set $CPANEL_APACHE_PROXY_PASS $scheme://apache_backend_${scheme}_139_180_180_200;

    # For includes:
    set $CPANEL_APACHE_PROXY_IP 139.180.180.200;
    set $CPANEL_APACHE_PROXY_SSL_IP 139.180.180.200;
    set $CPANEL_SERVICE_SUBDOMAIN 1;

    location /.well-known/cpanel-dcv {
        root "/home/educli/public_html";
        disable_symlinks if_not_owner;

        # pass to Apache
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location /.well-known/pki-validation {
        root "/home/educli/public_html";
        disable_symlinks if_not_owner;

        # pass to Apache
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location /.well-known/acme-challenge {
        root "/home/educli/public_html";
        disable_symlinks if_not_owner;

        # pass to Apache
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location / {
        # Force https for service subdomains
        if ($scheme = http) {
            return 301 https://$host$request_uri;
        }

        # no cache
        proxy_cache off;
        proxy_no_cache 1;
        proxy_cache_bypass 1;

        # pass to Apache
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }
}

#### sub domains for educli ##
server {
    server_name studio.educli.online www.studio.educli.online;
    listen 80;
    listen [::]:80;

    include conf.d/includes-optional/cloudflare.conf;

    set $CPANEL_APACHE_PROXY_PASS $scheme://apache_backend_${scheme}_139_180_180_200;

    # For includes:
    set $CPANEL_APACHE_PROXY_IP 139.180.180.200;
    set $CPANEL_APACHE_PROXY_SSL_IP 139.180.180.200;
    set $CPANEL_SERVICE_SUBDOMAIN 0;

    set $CPANEL_PROXY_CACHE educli;
    set $CPANEL_SKIP_PROXY_CACHING 0;
    
    listen 443 ssl;
    listen [::]:443 ssl;

    http2 off;

    ssl_certificate /var/cpanel/ssl/apache_tls/studio.educli.online/combined;
    ssl_certificate_key /var/cpanel/ssl/apache_tls/studio.educli.online/combined;
        
    ssl_protocols TLSv1.2 TLSv1.3;
    proxy_ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
    proxy_ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
            
    root "/home/educli/public_html/studio";

    location /cpanelwebcall {
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass http://127.0.0.1:2082/cpanelwebcall;
    }

    location /Microsoft-Server-ActiveSync {
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass http://127.0.0.1:2090/Microsoft-Server-ActiveSync;
    }

    location = /favicon.ico {
        allow all;
        log_not_found off;
        access_log off;
        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
        include conf.d/includes-optional/cpanel-proxy.conf;
	proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

    location / {
        proxy_cache $CPANEL_PROXY_CACHE;
        proxy_no_cache $CPANEL_SKIP_PROXY_CACHING;
        proxy_cache_bypass $CPANEL_SKIP_PROXY_CACHING;

        proxy_cache_valid 200 301 302 60m;
        proxy_cache_valid 404 1m;
        proxy_cache_use_stale error timeout http_429 http_500 http_502 http_503 http_504;
        proxy_cache_background_update on;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 1;
        proxy_cache_lock off;

        include conf.d/includes-optional/cpanel-proxy.conf;
        proxy_pass $CPANEL_APACHE_PROXY_PASS;
    }

            
    include conf.d/server-includes/*.conf;
    include conf.d/users/educli/*.conf;
    include conf.d/users/educli/studio.educli.online/*.conf;

There is no proxypass for the domain and port 81 as set in caddy and the only example I have found was this one but not sure how to apply it so I don’t mess up the actual config and break my cpanel access and other things.

server {
    listen 80;
    server_name local.edly.io lms.local.edly.io preview.local.edly.io cms.local.edly.io;

    location / {
        proxy_pass http://localhost:85;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    }

    error_log /var/log/nginx/openedx_error.log;
    access_log /var/log/nginx/openedx_access.log;
}