Can't access Omero Web

I have installed Omero and a WSGI-capable server (Nginx, Gunicorn) in an AWS server. Omero and the web server are running but I can’t still access Omero web from my local computer (Error 404). I have tried accessing it Omero web using the root url of the server. I have already generated the Nginx configuration file according to this documentation: https://docs.openmicroscopy.org/omero/5.4.0/sysadmins/unix/install-web/web-deployment.html

Hi @leacornelio. Welcome to image.sc!

Can you send the OMERO.web and nginx logs?

What version of OMERO are you trying to install? The latest would be 5.6.0, see http://docs.openmicroscopy.org/omero/5.6.0/

All the best,
~Josh

The Omero installed is 5.5.1. I followed the Omero installation steps indicated here https://docs.openmicroscopy.org/omero/5.5.1/sysadmins/unix/server-ubuntu1804-ice36.html.

OMERO.server/bin/omero admin diagnostics

================================================================================
OMERO Diagnostics (admin) 5.5.1-ice36-b122
================================================================================
        
WARNING:omero.util.UpgradeCheck:UPGRADE AVAILABLE:Please upgrade to 5.6.0. See http://downloads.openmicroscopy.org/latest/omero for the latest version.

Commands:   java -version                  1.8.0     (/usr/bin/java)
Commands:   python -V                      2.7.17    (/usr/bin/python)
Commands:   icegridnode --version          3.6.4     (/opt/Ice-3.6.4/bin/icegridnode)
Commands:   icegridadmin --version         3.6.4     (/opt/Ice-3.6.4/bin/icegridadmin)
Commands:   psql --version                 10.10     (/usr/bin/psql)
Commands:   openssl version                1.1.111   (/usr/bin/openssl)

Server:     icegridnode                    running
Server:     Blitz-0                        error: IceGrid::DeploymentException:
couldn't load `Blitz-0' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/Blitz-0/config/config
Server:     DropBox                        error: IceGrid::DeploymentException:
couldn't load `DropBox' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/DropBox/config/config
Server:     FileServer                     error: IceGrid::DeploymentException:
couldn't load `FileServer' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/FileServer/config/config
Server:     Indexer-0                      error: IceGrid::DeploymentException:
couldn't load `Indexer-0' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/Indexer-0/config/config
Server:     MonitorServer                  error: IceGrid::DeploymentException:
couldn't load `MonitorServer' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/MonitorServer/config/config
Server:     OMERO.Glacier2                 error: IceGrid::DeploymentException:
couldn't load `OMERO.Glacier2' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/OMERO.Glacier2/config/config
Server:     OMERO.IceStorm                 error: IceGrid::DeploymentException:
couldn't load `OMERO.IceStorm' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/OMERO.IceStorm/config/config
Server:     PixelData-0                    error: IceGrid::DeploymentException:
couldn't load `PixelData-0' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/PixelData-0/config/config
Server:     Processor-0                    error: IceGrid::DeploymentException:
couldn't load `Processor-0' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/Processor-0/config/config
Server:     Tables-0                       error: IceGrid::DeploymentException:
couldn't load `Tables-0' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/Tables-0/config/config
Server:     TestDropBox                    error: IceGrid::DeploymentException:
couldn't load `TestDropBox' on node `master':
couldn't create configuration file: /home/omero/OMERO.server-5.5.1-ice36-b122/var/master/servers/TestDropBox/config/config

Log dir:    /home/omero/OMERO.server/var/log exists
Log files:  Blitz-0.log                    82.0 KB       errors=3    warnings=9   
Log files:  DropBox.log                    4.0 KB        errors=6    warnings=3   
Log files:  FileServer.log                 1.0 KB       
Log files:  Indexer-0.log                  65.0 KB       errors=3    warnings=3   
Log files:  MonitorServer.log              1.0 KB       
Log files:  OMEROweb.lock                  empty
Log files:  OMEROweb.log                   225.0 KB      errors=0    warnings=18  
Log files:  PixelData-0.log                65.0 KB       errors=3    warnings=3   
Log files:  Processor-0.log                109.0 KB      errors=32   warnings=64  
Log files:  Tables-0.log                   118.0 KB      errors=32   warnings=64  
Log files:  TestDropBox.log                n/a
Log files:  master.err                     148.0 KB      errors=4    warnings=28  
Log files:  master.out                     empty
Log files:  nginx_access.log               22.0 KB      
Log files:  nginx_error.log                11.0 KB      
Log files:  Total size                     0.86 MB


Environment:OMERO_HOME=(unset)             
Environment:OMERO_NODE=(unset)             
Environment:OMERO_MASTER=(unset)           
Environment:OMERO_USERDIR=(unset)          
Environment:OMERO_TMPDIR=(unset)           
Environment:PATH=:/opt/Ice-3.6.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 
Environment:PYTHONPATH=(unset)             
Environment:ICE_HOME=/opt/Ice-3.6.4        
Environment:LD_LIBRARY_PATH=(unset)        
Environment:DYLD_LIBRARY_PATH=(unset)      

OMERO SSL port:4064                           
OMERO TCP port:4063                           
OMERO data dir:'/OMERO'                       Exists? True	Is writable? False
OMERO temp dir:'/home/ubuntu/omero/tmp'       Exists? True	Is writable? True   (Size: 0)

JVM settings: Blitz-${index}                -Xmx620m -XX:MaxPermSize=512m -XX:+IgnoreUnrecognizedVMOptions
JVM settings: Indexer-${index}              -Xmx413m -XX:MaxPermSize=512m -XX:+IgnoreUnrecognizedVMOptions
JVM settings: PixelData-${index}            -Xmx620m -XX:MaxPermSize=512m -XX:+IgnoreUnrecognizedVMOptions
JVM settings: Repository-${index}           -Xmx413m -XX:MaxPermSize=512m -XX:+IgnoreUnrecognizedVMOptions

I updated my Omero to 5.6. I followed this documentation for installing Omero.server: https://docs.openmicroscopy.org/omero/5.6.0/sysadmins/unix/server-ubuntu1804-ice36.html and this one for installing Omero.web: https://docs.openmicroscopy.org/omero/5.6.0/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu1804-ice3.6.html. Ports 4080 and 4064 have already been exposed as well. However, I still can’t access omero web.

Hi @leacornelio,

This looks like your unzipped directory /home/omero/OMERO.server-5.5.1-ice36-b122 doesn’t belong to the user that you are trying to start the server as. In the 5.5 docs, both should belong to the user omero.

I should also note, however, that OMERO 5.6 was released about 2 weeks ago with a strong encouragement to upgrade. In those docs, we’ve tried to clarify when you should be which user and the omero user has been split into omero-web and omero-server for a cleaner delineation between the services.

Keep us posted on how it goes.
~Josh

Oops. Apologies. My page hadn’t refreshed to show me the message that you had updated to 5.6.0. Can you paste both diagnostics outputs for OMERO.web and OMERO.server? If that doesn’t give us any clues, it will be time to look at the various log files for nginx, OMERO.web and OMERO.server.

~Josh

I can access the login page of omero web now through my public address. But how do I change it to a custom url?

:+1:

See the “Use a prefix” section of https://docs.openmicroscopy.org/omero/5.6.0/sysadmins/unix/install-web.html#customizing-your-omero-web-installation

You’ll need to update or re-create your nginx configuration.

~Josh

I have seen this documentation but I am not sure if I can also use this to change the hostname. Should I configure the omero.client.web.host property instead? Thank you for your help!

Can you give us examples of what URL you are currently accessing web with and what you would like it to be?

I am accessing the web login page using the public ip address of my server. I want to change it to hostname.example.com.

Understood. A few questions:

  1. You own hostname.example.com and it already directs to the public ip address that you are using?
  2. You have nginx running and it’s listening on the public ip address on ports 80 and 443?
  3. You’ve add the configuration file from OMERO.web to your nginx conf.d directory?

If all the above are true, then we’ll need to see the log files.

That shouldn’t be necessary. From hostname.example.com I think you don’t need a /prefix.

~Josh.

I’ve already configured the redirection from the domain name to the public ip address through AWS Route 53 although I haven’t included the generated NS (Name Servers) to the domain yet. I’m not sure if this step is the reason why hostname.example.com does not show Omero web.

Gotcha. So that means the first of my three questions is yes, i.e. when you got to http://hostname.example.com you are redirected to port 80 of your IP address. I should have also asked if you were using port 80 when accessing OMERO.web via your IP address. In other words my second question: is nginx listening on port 80? What happens if you go to port http://hostname.example.com:4080?

~Josh

This is the content of nginx.conf.tmp that I copied to omeroweb.conf:

upstream omeroweb {
    server 127.0.0.1:4080 fail_timeout=0;
}

server {
    listen 80;
    server_name hostname.example.com;

    sendfile on;
    client_max_body_size 0;



    # maintenance page serve from here
    location @maintenance {
        root /opt/omero/web/omero-web/etc/templates/error;
        try_files $uri /maintainance.html =502;
    }

    # weblitz django apps serve media from here
    location /static {
        alias /opt/omero/web/omero-web/var/static;
    }

    location @proxy_to_app {
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_buffering off;

        proxy_pass http://omeroweb;
    }

    location / {

        error_page 502 @maintenance;
        # checks for static file, if not found proxy to app
        try_files $uri @proxy_to_app;
    }

}

Cool. So that’s a big yes to my third question above. Thanks.