Page Contents

OMERO

Downloads
Feature List
Licensing

Previous topic

OMERO.server Linux walkthrough

Next topic

OMERO.server binary repository

This Page

Note

This documentation is for the new OMERO 5.2 version. See the latest OMERO 5.1.x version or the previous versions page to find documentation for the OMERO version you are using if you have not upgraded yet.

Installing Python 2.7 and Ice 3.5 on CentOS 6

Running OMERO on CentOS 6 has a number of special requirements which deviate from the standard installation instructions. The instructions below will set up Python 2.7 and Ice 3.5 on CentOS 6.

Python 2.7

CentOS 6 provides Python 2.6. However, OMERO.web requires Python 2.7 in order to use django 1.8. While django 1.6 may be used with Python 2.6, this version of django no longer has security support. In consequence, it is necessary to upgrade to Python 2.7 in order to obtain django security updates, which are required for a production deployment.

As root, run:

yum install centos-release-SCL
yum install python27

To use this version of Python, run:

source /opt/rh/python27/enable

To demonstrate its use:

$ python --version
Python 2.6.6
$ source /opt/rh/python27/enable
$ python --version
Python 2.7.5

Development packages

The following sections require a number of libraries and a compiler. Run the following commands to install them:

yum groupinstall "Development Tools"
yum install epel-release
# Ice dependencies
yum install expat-devel bzip2-devel openssl-devel zlib-devel
# Python module dependencies
yum install hdf5-devel freetype-devel libjpeg-devel libpng-devel

Additional Python modules

Install pytables, pillow and matplotlib:

# Note: Warnings disabled due to using an old version of Python 2.7.
source /opt/rh/python27/enable
easy_install pip
export PYTHONWARNINGS="ignore:Unverified HTTPS request"
pip install tables pillow matplotlib

Ice 3.5

The RPM packages provided by ZeroC for CentOS 6 use the Python 2.6 provided by the system. OMERO will need an Ice build which uses Python 2.7. The following steps will rebuild Ice from source using the Python 2.7 installed above and install it into /opt:

# Download and install needed Ice build dependencies (db and mcpp)
mkdir icerpm
cd icerpm
wget https://zeroc.com/download/Ice/3.5/Ice-3.5.1-el6-x86_64-rpm.tar.gz
tar xfv Ice-3.5.1-el6-x86_64-rpm.tar.gz
yum install db53-5.3.21-1ice.el6.x86_64.rpm db53-devel-5.3.21-1ice.el6.x86_64.rpm db53-utils-5.3.21-1ice.el6.x86_64.rpm mcpp-devel-2.7.2-2ice.el6.x86_64.rpm
cd ..

# Download Ice 3.5.1 source
wget https://zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz
tar xfv Ice-3.5.1.tar.gz
cd Ice-3.5.1

# Build and install main Ice libraries and programs
cd cpp
make
make test
make install

# Build and install Python module
cd ../py
source /opt/rh/python27/enable
make
make test
make install

Additional packages required by OMERO

Install Java:

yum install java-1.8.0-openjdk

Install and start PostgreSQL:

yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
yum install postgresql94-server postgresql94-contrib
service postgresql-9.4 initdb
chkconfig postgresql-9.4 on
service postgresql-9.4 start

Running OMERO

The following settings will need adding to your OMERO startup script or to the OMERO user’s environment (for example in a shell startup script):

source /opt/rh/python27/enable
ICE_HOME=/opt/Ice-3.5.1
PATH="${ICE_HOME}/bin:$PATH"
export LD_LIBRARY_PATH="${ICE_HOME}/lib64:${ICE_HOME}/lib:$LD_LIBRARY_PATH"
export PYTHONPATH="${ICE_HOME}/python:$PYTHONPATH"
export SLICEPATH="${ICE_HOME}/slice"

These settings will enable Python 2.7, and set the necessary environment variables for Ice 3.5 to work.