Page Contents


Feature List

Previous topic

OMERO.server and PostgreSQL

Next topic

OMERO.server Windows Service

This Page

OMERO.web deployment

OMERO.web is the web application component of the OMERO platform which allows for the management, visualization (in a fully multi-dimensional image viewer) and annotation of images from a web browser. It also includes OMERO.webadmin for managing users and groups.

OMERO.web is an integral part of the OMERO platform and can be deployed with:

  • IIS 6.0 or 7.0 on Microsoft Windows
  • WSGI using a WSGI capable web server such as Apache 2.2+ (with mod wsgi enabled) or nginx and gunicorn.
  • The built-in Django lightweight development server (for testing only; see the OMERO.web deployment for developers page)
  • FastCGI is DEPRECATED as of 5.1.4 and note that support will be removed in 5.2. You can find more information about FastCGI and where to get modules or packages for your distribution on the FastCGI website.

If you need help configuring your firewall rules, see the Server security and firewalls page.


  • OMERO and its prerequisites (see OMERO.server installation).
  • Python 2 (2.6 or later)
    • Pillow should be available for your distribution
    • Matplotlib should be available for your distribution
  • IIS or WSGI (or FastCGI) capable web server

Quick start

Using IIS

Once you have IIS installed on your system, a straightforward set of steps is required to get the ISAPI WSGI handler for OMERO.web working with your IIS deployment.

  • Ensure that the ISAPI for IIS options are installed

  • Download and install an ISAPI WSGI. If you download the Source Distribution (should be compatible with all versions of Windows/IIS) unzip the archive and run:

    python install

    Alternatively if you are using a 32-bit system you can use the Windows Installer.

  • For extended compatibility with multiple IIS versions ISAPI WSGI uses the IIS 6 WMI interface to interact with your IIS deployment. If you are using IIS 7 you must enable the IIS 6 WMI backwards compatibility options, as shown on the figure:

IIS 7 configuration options

IIS 7 configuration options

  • The Advanced Settings... for the application pool assigned to your default site require modification using the IIS Manager as follows:
    • Idle Time-out (minutes) - to stop the worker process from suspending during inactivity periods, this setting needs to be changed to 0.
IIS 7 Application Pool Advanced Settings

IIS 7 Application Pool Advanced Settings

  • To avoid rendering errors on OMERO.web it is recomended to add the custom HTTP response header in the Web site pane.
IIS 7 HTTP response header
  • Configure OMERO.web bindings for IIS

    C:\omero_dist>bin\omero web iis

    This will automatically add two applications, /omero and /static, to the default web site and application pool. You can customise these locations by setting omero.web.prefix and omero.web.static_url.


    You can make manual changes to the IIS OMERO configuration but they may be lost when OMERO.server is upgraded.


    As OMERO.web 5 is based on Django 1.6, omero.web.session_engine and omero.web.caches should be unset.

    C:\omero_dist>bin\omero config set omero.web.session_engine
    C:\omero_dist>bin\omero config set omero.web.caches

    If your deployment requires additional cache store please follow Django documentation for more details.

Using Apache or Nginx

If you wish to use Apache or Nginx please follow the Unix instructions, see OMERO.web deployment.

Logging in to OMERO.web

Once you have deployed and started the server, you can use your browser to access OMERO.webadmin or the OMERO.webclient:

  • http://your_host/omero OR, for development server: http://localhost:4080
OMERO.webadmin login

OMERO.webadmin login


This starts the server in the foreground. It is your responsibility to place it in the background, if required, and manage its shutdown.

OMERO.web Maintenance

  • Session cookies omero.web.session_expire_at_browser_close:

    • A boolean that determines whether to expire the session when the user closes their browser. See Django Browser-length sessions vs. persistent sessions documentation for more details. Default: True.

      C:\omero_dist>bin\omero config set omero.web.session_expire_at_browser_close "True"
    • The age of session cookies, in seconds. Default: 86400.

      C:\omero_dist>bin\omero config set omero.web.session_cookie_age 86400
  • Session engine:

    • Each session for a logged-in user in OMERO.web is kept in the session store. Stale sessions can cause the store to grow with time. OMERO.web uses by default the OS file system as the session store backend and does not automatically purge stale sessions, see Django file-based session documentation for more details. It is therefore the responsibility of the OMERO administrator to purge the session cache using the provided management command:

      C:\omero_dist>bin\omero web clearsessions

      It is recommended to call this command on a regular basis, for example as a daily cron job, see Django clearing the session store documentation for more information.


      OMERO.web offers alternative session backends to automatically delete stale data using the cache session store backend, see Django cached session documentation for more details. After installing all the cache prerequisites set the following:

      C:\omero_dist>bin\omero config set omero.web.caches '{"default": { "BACKEND": "django.core.cache.backends.memcached.MemcachedCache", "LOCATION": "", "TIMEOUT": "86400" } }'
      C:\omero_dist>bin\omero config set omero.web.session_engine django.contrib.sessions.backends.cache

Customizing your OMERO.web installation

All configuration options can be found on various sections of Web developers documentation. For the full list, refer to Web properties or:

C:\omero_dist>bin\omero web -h

The most popular configuration options include: