Personal tools

You are here: Home Support OMERO Platform v4 OMERO.server Install - Windows

Install - Windows

OMERO.server Installation for Microsoft Windows

  • If you are upgrading your OMERO.server installation you want to follow instructions on the upgrade page.
  • If you are attempting a UNIX Based Platform install (Linux, Mac OS X, etc.) please see the UNIX Based Platform install page.

Installation will require an "administrator" level account for which you know the password. If you are unsure of what it means to have a "root" level account, or if you are generally having issues with the various users/passwords described in this install guide, please see the section under "Troubleshooting".

Limitations

  • Installation on Vista and Windows 7 is not explicitly supported. Testing has taken place on on 32-bit Windows XP and 64-bit Windows Server 2003 installations.
  • OMERO.movie does not work on Windows at present.
  • Spaces are not currently supported in installation path names
  • A reboot is required after installing the prerequisites
  • bin\omero config does not work as it does in Unix installations. omero config uses the registry but sets values for the current user, while the service is run as Local Services. If you are interested in running as another user, please contact the OME Forum . See the "Installation" section for how to configure your setup.

Prerequisites

  • PostgreSQL 8.2 or higher installed and configured with PL/pgSQL and to accept TCP connections. These instructions assume PostgreSQL 8.3

    The Windows One click installer can be found on the PostgreSQL Windows download page. You will need the postgres user's password later in the install.

    • Yes, this is a higher prerequisite than the UNIX based operating systems. Only recently has PostgreSQL provided Windows service and UTF8 support availability in the default installation on Microsoft Windows.
    • You must install PostgreSQL as a service if you want to follow this document, other PostgreSQL installation environments are supported but are outside the scope of this document.
    • This document assumes a PostgreSQL 8.2 or higher install for ease of installation and documentation. PostgreSQL 8.2 installations are supported but are again, outside the scope of this document.
  • Java 1.5 SE Development Kit (JDK) or higher installed http://java.sun.com/javase/downloads/index.jsp

    Be sure to download the JDK SE version (nor "JRE" nor "EE" versions).

  • Ice 3.3.x installed

    Windows installers can be found on the ZeroC download page and will be called something like Ice-3.3.1-VC80.msi (for Ice 3.3.1). If you will be developing for C++, be sure to read the instructions on the OmeroCpp trac page.

  • ActivePython 2.5.x installed

    Windows installers can be found on the ActivePython download page and will be called something like ActivePython-2.5.4.3-win32-x86.msipython-2.5.4.msi (for Python 2.5.4). These are toward the bottom of the page, under the 2.6 and 3.0 versions.

    • Packages from http://www.python.org can be used but are outside the scope of this document as further configuration is required to get them up and running.
    • If you are using Python 2.4, you will need pysqlite. Use version 2.0.3 or higher. Python 2.5 ships with an SQLite wrapper in the standard library, so you do not need to install anything extra in that case
    • Whichever version of Python you install, the "win32" and "ctypes" libraries must be available. (This is the case with ActiveState)
  • Python Imaging Library (for OMERO.web only) Packages should be available for your distribution from here Be sure to download the version that matches your Python version above

  • Matplot Lib (for OMERO.web only) Packages should be available for your distribution from here Be sure to download the version that matches your Python version above

  • OMERO.server ZIP available from the OMERO downloads page.

Environment variables

For the pre-requisite software to run properly, both your PATH and PYTHONPATH system environment variables must be configured.

  • Update your Windows environment variables: (REQUIRES RESTART!)

    1. Locate the System control panel page on the Start Menu under Settings --> Control Panel, open it and navigate to the Advanced tab (on Windows Vista the dialog will be visible after clicking the Change settings link on the System control panel page):

      Advanced System Properties

    2. Open the Environment Variables dialog by clicking on the Environment Variables... button of the above dialog:

      Environment Variables

    3. Edit the existing System environment variable Path and add a new variable pointing to the Ice installation 'bin' directory. Then add a brand new System environment variable called PYTHONPATH pointing to the Ice installation 'python' location:

      PATH variable PYTHONPATH variable

    4. Restart your computer. For environment changes to take effect in background services, a restart is unfortunately necessary. See http://support.microsoft.com/kb/821761 for more information.

Creating a database

  • Create a non-superuser database user (make sure to note down the name and password) using pgAdmin III. You can find pgAdmin III on the Start Menu under Programs --> PostgreSQL 8.3 --> pgAdmin III:

    1. Double-click on the PostgreSQL Database Server 8.3 and provide your postgres user login password

      Connect to the database server

    2. Right-click on Login Roles (or left-click on Login Roles and navigate to Edit --> New Object...) and select New Login Role...

      Create a new role

    3. Create a new role with the Role name omero and a Password omero. If you choose a password other than omero, you will need to configure the omero.db.pass property below.

  • Create an omero database:

    1. Right-click on Databases (or left-click on Databases and navigate to Edit --> New Object...) and select New Database...

    2. Create a new database with the Name omero and Owner omero (this may take a few moments)

      Create a new database

  • Confirm PL/pgSQL language support to your newly created database

    1. First, go to File --> Options select the Display tab and activate the Languages option:

      Create a new database

    2. Navigate back to your database, expand the database's tree view and finally expand the now available Languages item:

      Create a new database

    3. If the plpgsql language is missing, right-click on the Languages item and select the New language... option in the menu. Finally, add the plpgsql language, accepting all defaults.

      Create a new database

Location for the your OMERO binary repository

  • Create a directory for the OMERO binary data repository. C:\OMERO is the default location and should be used unless you explicitly have a reason not to and know what you are doing.
    • This is not where you want the OMERO application to be installed, it is a seperate directory that OMERO.server will use to store binary data:
    • You can read more about there OMERO binary repository here.

Installation

  • Extract the OMERO ZIP and note its location. Below it is referred to as: C:\omero_dist. (Directory names with files spaces are **not** supported!)

  • Optionally, review C:\omero_dist\etc\omero.properties which contains all default settings. You will need to open the file with WordPad.exe. Don't edit the file. Any configuration settings you would like to change can be changed in the next step.

  • Add any settings you'd like to modify to the "Profile" properties element in etc\grid\windefault.xml. This includes any changes you have made to the default settings in the steps above.

    For example,

      properties id="Profile"
          property name="omero.db.name" value="myDatabase"
          property name="omero.db.user" value="me"
          property name="omero.db.pass" value="TopSecret"
    
  • If you have chosen a non-standard OmeroBinaryRepository location above, be sure to configure the omero.data.dir property. When using C:\ style file paths it is necessary to "escape" the backslashes. For example:

          property name="omero.data.dir" value="D:\\OMERO"
    
  • Create the OMERO database initialization script. You will be asked for the version of the script which you would like to generate, where both defaults can be accepted. Finally, you'll be asked to enter and confirm password for your newly created OMERO root user (this should not be the same as your Windows login user!)

    c:\> cd C:\omero_dist\
    c:\omero_dist> bin\omero db script
    Please enter omero.db.version [OMERO4.1]: 
    Please enter omero.db.patch [0]: 
    Please enter password for new OMERO root user: 
    Please re-enter password for new OMERO root user: 
    Saving to C:\omero_dist\OMERO4.1__0.sql
    
  • Initialize your database with the script.

    1. Launch SQL Shell (psql) from the Start Menu under Programs --> PostgreSQL 8.3 --> SQL Shell (psql)

      Server [localhost]:
      Database [postgres]: omero
      Port [5432]:
      Username [postgres]: omero
      Password for user omero:
      Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
      
      Type:  \copyright for distribution terms
             \h for help with SQL commands
             \? for help with psql commands
             \g or terminate with semicolon to execute query
             \q to quit
      
      Warning: Console code page (850) differs from Windows code page (1252)
               8-bit characters might not work correctly. See psql reference
               page "Notes for Windows users" for details.
      
    2. Execute run the following to populate your database:

      omero=> \i /omero_dist/OMERO4.1__0.sql
      ...
      ...
      omero=> \q
      
  • Start the server:

    C:\omero_dist> bin\omero admin start
    Creating var\master
    Initializing var\log
    Creating var\registry
    No descriptor given. Using etc\grid\default.xml
    C:\omero_dist>
    [SC] CreateService SUCCESS
    
    
    SERVICE_NAME: OMERO.master
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 2  START_PENDING
                                    (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
            WIN32_EXIT_CODE    : 0  (0x0)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x7d0
            PID                : 2312
            FLAGS              :
    
    Waiting on startup. Use CTRL-C to exit
    
  • If you've chosen a non-default install directory (other than c:\omero_dist), the output will look like this:

    C:\OMERO.server-Beta-4.1.0>bin\omero admin start
    Found default value: c:\omero_dist\var\master
    Attempting to correct...
    Converting from c:\omero_dist to C:\OMERO.server-Beta-4.1.0
    Changes made: 6
    No descriptor given. Using etc\grid\windefault.xml
    [SC] CreateService SUCCESS
    ...
    
  • If you would like to move the directory again, see bin\winconfig.bat --help, which gets called automatically on an initial install.


OMERO.web and Administration

OMERO.web ships with the OMERO.server but is disabled by default. The Django lightweight development Web server can be used for demonstrating/testing how powerful the application is. However, this server is only designed to run in a local environment and cannot handle concurrent connections. For serious use, you will need to deploy OMERO.web to a production-grade web server, such as mod_python module for Apache.

A configuration guide for mod_python (production mode) is available on the separate page. More information is also available on the Django site here. If you wish to run OMERO.web as a demonstration only, keep ready.

Pre-configuration

Before you can run the OMERO.web, you'll need to configure your installation using the "web" command:

c:\omero_dist> bin\omero web settings

OMERO.web tools:

    settings           - Configuration for web

For advance use:
    custom_settings    - Creates only custom_settings.py
    initial            - Creates initial_data.json
    syncdb             - Synchronise local database
  • (4.1.1 and newer):

    • Settings (optional field can be blank)

      c:\omero_dist> bin/omero web settings
      You just installed OMERO, which means you didn't have settings configured in OMERO.web.
      Please enter the domain you want to run OMERO.web on (http://www.domain.com:8000/):http://web.openmicroscopy.org.uk/
      Please enter the Email address you want to send from (omero_admin@example.com): web@openmicroscopy.org.uk
      Please enter the SMTP server host you want to send from (smtp.example.com): smtp.openmicroscopy.org.uk
      Optional: please enter the SMTP server port (default 25): 
      Optional: Please enter the SMTP server username: 
      Optional: Password: 
      Optional: TSL? (yes/no): 
      Saved to C:\omero_dist\lib\python\omeroweb\custom_settings.py
      
      Please enter Username for OMERO.web administrator: webadmin
      Please enter Email address: webadmin@openmicroscopy.org.uk
      Please enter password for OMERO.web administrator: 
      Please re-enter password for OMERO.web administrator: 
      Saved to C:\omero_dist\lib\python\omeroweb\initial_data.json
      
      Database synchronization...
      (...)
      Creating table feedback_emailtemplate
      Creating table webadmin_gateway
      Installing custom SQL for feedback.EmailTemplate model
      (...)
      Installing json fixture 'initial_data' from absolute path.
      Installed 2 object(s) from 1 fixture(s)
      OMERO.web was configured successful. Please start the application.
      
  • (4.1.0 version only):

    • Settings (optional field can be blank)

      c:\omero_dist> bin/omero web settings
      Reconfiguring OMERO.web...
      Please enter the domain you want to run OMERO.web on (http://www.domain.com:8000/):http://web.openmicroscopy.org.uk/
      Please enter the Email address you want to send from (omero_admin@example.com): web@openmicroscopy.org.uk
      Please enter the SMTP server host you want to send from (smtp.example.com): smtp.openmicroscopy.org.uk
      Optional: please enter the SMTP server port (default 25): 
      Optional: Please enter the SMTP server username: 
      Optional: Password: 
      Optional: TSL? (yes/no): 
      Saving to C:\omero_dist\lib\python\omeroweb\custom_settings.py
      
    • Superuser and Syncdb

      c:\omero_dist> bin/omero web superuser
      Please enter Username for OMERO.web administrator: webadmin
      Please enter Email address: webadmin@openmicroscopy.org.uk
      Please enter password for OMERO.web administrator: 
      Please re-enter password for OMERO.web administrator: 
      Saving to C:\omero_dist\lib\python\omeroweb\initial_data.json
      
      $ bin/omero web syncdb
      Database synchronization... 
      (...)
      Creating table feedback_emailtemplate
      Creating table webadmin_gateway
      (...)
      Installing json fixture 'initial_data' from absolute path.
      Installed 7 object(s) from 1 fixture(s)
      OMERO.web was prepared. Please start the application.
      

Starting OMERO.web on the Django server

The OMERO.web server does not start automatically with your server installation. It needs to be started from the command line. Please be aware that activation process takes about one minute.

    c:\omero_dist> bin\omero admin ice
    >>> server enable Web
    >>> server start Web
    error: the server didn't start successfully:
    The server activation timed out.
    >>> exit

The internal error visible in the console can be ignored as it does not make any effect on successful start up.

Installing OMERO.web on Apache for a production server

Information on how to deploy OMERO.web with Apache and mod_python can be found here. Please note that Windows is not our preferred platform of choice for production web servers.

Once you have deployed and started the server you can use your browser to access the OMERO.webadmin administration interface:

Enabling Movie creation from OMERO.

OMERO has the facility to create AVI/MPEG Movies from Images which can be called from Insight. The page OmeroMovie gives details on how to enable them.


Post-installation items

Security

It is now recommended that you read the Security page to get a good idea as to what you need to do to get OMERO clients speaking to your newly installed OMERO.server in accordance with your institution or company's security policy.

Advanced configuration

Once you've gotten the base server running, you may want to try enabling some of the advanced features such as FS or LDAP. In the 4.1 release, there is also preview functionality which is described under on the HcsPreview wiki page.

Update Notification

Your OMERO.server installation will check for updates each time it is started from the Open Microscopy Environment update server. If you wish to disable this functionality you should do so now as outlined on the UpgradeCheck page.

Troubleshooting

My OMERO install doesn't work! What do I do now!?! Examine the Troubleshooting page and if all else fails post a message to our ome-users mailing list discussed on the Community page.

OMERO Diagnostics

If you want help with your server installation, please include the output of the diagnostics command: C:omero_dist> binomero admin diagnostics

    ================================================================================
    OMERO Diagnostics Beta-4.1.0-GA
    ================================================================================

    Commands:   java -version                  1.6.0     (C:\WINDOWS\system32\java.EXE -- 3 others)
    Commands:   python -V                      2.5       (C:\Python25\python.EXE)
    Commands:   icegridnode --version          3.3       (C:\Ice-3.3.1\bin\x64\icegridnode.EXE -- 2 others)
    Commands:   icegridadmin --version         3.3       (C:\Ice-3.3.1\bin\x64\icegridadmin.EXE -- 2 others)
    Commands:   psql --version                 8.3       (C:\Program Files (x86)\PostgreSQL\8.3\bin\psql.EXE -- 2 others)

    Server:     icegridnode                    running
    Server:     Blitz-0                        active (pid = 7704, enabled)
    Server:     DropBox                        active (pid = 8008, enabled)
    Server:     FSServer                       active (pid = 7088, enabled)
    Server:     Indexer-0                      active (pid = 4728, enabled)
    Server:     OMERO.Glacier2                 active (pid = 5456, enabled)
    Server:     OMERO.IceStorm                 active (pid = 800, enabled)
    Server:     Processor-0                    active (pid = 7316, enabled)
    Server:     Tables-0                       active (pid = 4420, enabled)
    Server:     TestDropBox                    inactive (enabled)
    Server:     Web                            inactive (enabled)

    Log dir:    C:\hudson\trunk\dist\var\log   exists

    Log files:  Blitz-0.log                    10.0 MB       errors=4    warnings=26
    Log files:  DropBox.log                    2.0 KB
    Log files:  FSServer.log                   1.0 KB
    Log files:  Indexer-0.log                  8.0 MB        errors=18   warnings=1870
    Log files:  OMEROweb.log                   n/a
    Log files:  Processor-0.log                0.0 KB
    Log files:  Tables-0.log                   0.0 KB
    Log files:  TestDropBox.log                n/a
    Log files:  master.err                     0.0 KB
    Log files:  master.out                     0.0 KB
    Log files:  Total size                     18.94 MB

    C:\omero_dist>
Document Actions