Install
OMERO.server Installation for UNIX Based Platforms (including Mac OS X)
- If you are upgrading your OMERO.server installation you want to follow instructions on the upgrade page.
- If you are attempting a Microsoft Windows install please see the Microsoft Windows install page.
- Additional walkthoughs for Mac using MacPorts on Mac OS X 10.6 or manual downloads on Mac OS X 10.5 may be of use to less experienced users.
-
Janek Claus and Kenneth Arcieri (NIH/NICHD/UCSS) have provided this guide (pdf) for users wishing to install OMERO 4.1 on Mac OS 10.6, including details on how to build all dependencies from source. The OMERO 4.2 install is almost identical to 4.1 (except for web client), so this guide will still be useful.
Installation will require a "root" 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".
Prerequisites
NOTE: The installation of these prerequisite applications is outside the scope of this document. For Linux distributions you should use the default package manage. For Mac OS X there are additional notes for Mac OS X 10.5 and MacPorts on Mac OS X 10.6 for less experienced users.
The following are necessary:
PostgreSQL 8.1 or higher installed and configured with PL/pgSQL and to accept TCP connections. 8.1 is missing performance-critical functions, see Software Limitations 8.4 has significantly increased security settings and can be difficult for beginners. We suggest using 8.3. See OMERO and PostreSQL for instructions.
Java 1.5 SE Development Kit (JDK) or higher installed http://java.sun.com/javase/downloads/index.jsp
#!sh # You can check which version of Java is currently available # to you via your $PATH as follows... $ which java /usr/bin/java $ java -version java version "1.6.0" Java(TM) SE Runtime Environment (build 1.6.0-b105) Java HotSpot(TM) Server VM (build 1.6.0-b105, mixed mode) # Further, you can see if you have the Java compiler (Java SDK) # installed and available via your $PATH as follows... $ which javac /usr/bin/javac $ javac -version javac 1.6.0- On systems with OpenJDK installed by default, it will be necessary to unselect it and select the Sun version. See this thread for more information.
Ice 3.3.x installed
UNIX source downloads and binary packages are available from ZeroC. The latest compatible distribution is the 3.3.1 release.
Python 2.5.x or higher installed. Python version from 2.5 or 2.6 (due to backwards incompatibilities in Python 3.0, Django does not currently work with Python 3.0; for more information see the Django Installation page).
The following are optional depending on what services you require:
Python Imaging Library (for OMERO.web and Figure Export functionality only) Packages should be available for your distribution from here
Matplot Lib (for OMERO.web only) Packages should be available for your distribution from here
NumPy Lib (for scripting services) This package may already have been installed as a dependency of Matplot Lib, above, but if not you will need to install it to use scripting services. NumPy is available from here
Finally, you need the OMERO server:
- OMERO.server tar.bz2 available from the OMERO downloads page.
Environment Variables
For the prerequisite software to run properly, your PATH, PYTHONPATH, and (DY)LD_LIBRARY_PATH environment variables must be configured. If you installed via a package manager such as rpm, apt-get, or macports, they should be set for you. If not correctly configured or if you installed manually to /opt/Ice-... or a similar location, you will need to set the values yourself.
Creating a database as root
Probably the most important step towards having a working server system is having a properly configured database.
On most systems, a "postgres" user will be created which has admin privileges, while the UNIX root user itself does not have admin privileges. Therefore it is necessary to either become the postgres user or use sudo as below:
Create a non-superuser database user and record the name and password. The default name and password for the user is "omero". If you choose other values, you will need to configure the
omero.db.nameandomero.db.passvalues (below).# For PostgreSQL 8.1.x, 8.2.x, 8.3.x, 8.4.x # sudo -u postgres createuser -P -D -R -S <db_username> sudo -u postgres createuser -P -D -R -S omeroCreate a database for OMERO to reside in
# sudo -u postgres createdb -O <db_username> <db_name> sudo -u postgres createdb -O omero omeroAdd the PL/pgSQL language to your database
# sudo -u postgres createlang plpgsql <db_name> sudo -u postgres createlang plpgsql omeroCheck to make sure the database has been created, you have PostgreSQL client authentication correctly set up and the database is owned by the omero user.
$ psql -h localhost -U omero -l Password for user omero: List of databases Name | Owner | Encoding -----------+----------+----------- omero | omero | SQL_ASCII postgres | postgres | SQL_ASCII template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII (4 rows)
If you have problems, especially with the last step, take a look at Omero and PostgreSQL since the authentication mechanism is probably not properly configured.
Location for the your OMERO binary repository
Create a directory for the OMERO binary data repository.
/OMEROis 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.
sudo mkdir /OMEROChange the ownership of the directory.
/OMERO*must either be owned by the user starting the server (it is currently owned by the system root) or that user must have permission to write to the directory. You can find out your username and edit the correct permissions as follows:$ whoami callan $ sudo chown -R callan /OMERO
Installation
Extract the OMERO tarball and note its location. Below it is referred to as:
~/Desktop/omeroOptionally, review
~/Desktop/etc/omero.propertieswhich contains all default settings. You will need to open the file with a text editor. Don't edit the file. Any configuration settings you would like to change can be changed in the next step.Change any settings that are necessary using
bin/omero config, including the name and/or password for the 'omero' database user you chose above or the database name if they are not "omero". (Quotes are only necessary if the value could be misinterpreted by the shell. See link)cd ~/Desktop/omero bin/omero config set omero.db.name 'myDatabase' bin/omero config set omero.db.user 'me' bin/omero config set omero.db.pass 'TopSecret'If you have chosen a non-standard OmeroBinaryRepository location above, be sure to configure the
omero.data.dirproperty.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 Linux/Mac root user!)
$ cd ~/Desktop/omero $ bin/omero db script Please enter omero.db.version [OMERO4.2]: 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 ~/Desktop/omero/OMERO4.2__0.sqlInitialize your database with the script.
$ psql -h localhost -U omero omero < OMERO4.2__0.sqlStart the server:
$ bin/omero admin start Creating var/master Initializing var/log Creating var/registry No descriptor given. Using etc/grid/default.xml $
OMERO.web and Administration
OMERO.web ships with OMERO.server and is started by default with the Django lightweight development Web server bound to port 8000 on 127.0.0.1 when you deploy your OMERO.server instance. A build-in web server written purely in Python is ideal for demonstrating/testing how powerful application is. Unfortunately, this server is only designed to run in a local environment and could not deal with the pressures of a production mode of the application used by many people concurrently. For that, you need to deploy OMERO.web to a production-grade web server, such as mod_python module for Apache. You can find more information on the Django site here.
Configuration Guide for mod_python (production mode) is available on the separated page. If you wish to run OMERO.web on demonstration server please continue.
Starting OMERO.web on the Django server
Pre-configuration
It is necessary to start the OMERO server before starting OMERO.web configuration.
When you run the OMERO.web first time please configure the following options (in production environment please remember to run as apache_user: sudo -u apache_user):
Settings (optional field can be blank).(It is no longer necessary to touch settings.py)
$ 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 ~/Desktop/omero/var/lib/custom_settings.pyOPTIONAL: Multiple servers: in
omero/var/lib/custom_settings.pyadd the following:Server list:
SERVER_LIST = ( ('omero1.domain.com', 4064, 'omero1'), ('omero2.domain.com', 4064, 'omero2'), ... )Pagination (defines how many images is shown per page):
PAGE = 24
OMERO.web is configured to be started on lightweight development Web server with a commands:
Start up OMERO.web:
$ cd ~/Desktop/omero/ $ bin/omero web start Starting django development webserver... Validating models... 0 errors found Django version 1.1.1, using settings 'omeroweb.settings' Development server is running at http://0.0.0.0:8000/ Quit the server with CONTROL-C.If you require to configure the out of the box setup to listen for webadmin and webclient connections on different host run by:
$ cd ~/Desktop/omero/ $ bin/omero web start 'host' 'port' Starting django development webserver... Validating models... 0 errors found Django version 1.1.1, using settings 'omeroweb.settings' Development server is running at http://host:port/ Quit the server with CONTROL-C.
Accessing OMERO.webadmin.
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.
OMERO.tables
OMERO.tables can be installed by following the OmeroTables install guide.
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 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 OmeroCommunity page.
OMERO Diagnostics
If you want help with your server installation, please include the output of the diagnostics command:
$ cd ~/Desktop/omero/
$ bin/omero admin diagnostics
================================================================================
OMERO Diagnostics Beta-4.2.0
================================================================================
Commands: java -version 1.6.0 (/usr/bin/java)
Commands: python -V 2.6.4 (/usr/bin/python)
Commands: icegridnode --version 3.3.1 (/usr/bin/icegridnode)
Commands: icegridadmin --version 3.3.1 (/usr/bin/icegridadmin)
Commands: psql --version 8.4.4 (/usr/bin/psql)
Server: icegridnode running
Server: Blitz-0 active (pid = 13843, enabled)
Server: DropBox inactive (disabled)
Server: FileServer active (pid = 13858, enabled)
Server: Indexer-0 active (pid = 13868, enabled)
Server: MonitorServer inactive (disabled)
Server: OMERO.Glacier2 active (pid = 13872, enabled)
Server: OMERO.IceStorm active (pid = 13877, enabled)
Server: Processor-0 active (pid = 13885, enabled)
Server: Repository-1 error: node `repo' couldn't be reached:
the node is not active
Server: Tables-0 inactive (disabled)
Server: TestDropBox inactive (enabled)
Server: Web inactive (enabled)
Log dir: ~/Desktop/omero/var/log exists
Log files: Blitz-0.log 1.0 MB errors=13 warnings=106
Log files: DropBox.log 7.0 KB errors=8 warnings=0
Log files: FSServer.log 2.0 KB errors=3 warnings=0
Log files: Indexer-0.log 39.0 MB errors=1 warnings=10
Log files: OMEROweb.log 0.0 KB errors=1 warnings=1
Log files: OMEROweb.log.2009-10-19 0.0 KB errors=2 warnings=2
Log files: Processor-0.log 5.0 KB errors=0 warnings=8
Log files: Tables-0.log 5.0 KB errors=0 warnings=8
Log files: TestDropBox.log n/a
Log files: master.err 1.0 KB
Log files: master.out 0.0 KB
Log files: Total size 40.66 MB
Parsing Blitz-0.log:[line:68] => Server restarted <=
Environment:OMERO_HOME=(unset)
Environment:OMERO_NODE=(unset)
Environment:OMERO_MASTER=(unset)
Environment:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Environment:ICE_HOME=(unset)
Environment:LD_LIBRARY_PATH=(unset)
Environment:DYLD_LIBRARY_PATH=(unset)

