OMERO.web IIS deployment (Windows) ================================== .. warning:: OMERO 5.2 is the last major version which will feature Windows support for OMERO.server and OMERO.web deployment. See `this blog post `_ for details. If you are installing a new server, we highly recommend you use a different OS (see :doc:`/sysadmins/version-requirements`). .. _iis_configuration: IIS configuration (Windows) --------------------------- .. note:: Since OMERO 5.2, the OMERO.web framework no longer bundles a copy of the Django package, instead manual installation of the Django dependency is required. It is highly recommended to use `Django 1.8`_ on Windows. For more information see :ref:`python-requirements` on the :doc:`/sysadmins/version-requirements` page. Install `Django 1.8`_ using package requirements file: :: C:\> pip install -r C:\OMERO.server\share\web\requirements-py27-win.txt .. note:: For more details refer to `Django 1.8 installation on Windows `_. Install additional Python libraries: Download the following whl files then run:: set PYTHONPIP=C:\Python27\Scripts\pip.exe %PYTHONPIP% install matplotlib-1.4.3-cp27-none-win_amd64.whl %PYTHONPIP% install numpy-1.9.2+mkl-cp27-none-win_amd64.whl %PYTHONPIP% install numexpr-2.4.3-cp27-none-win_amd64.whl %PYTHONPIP% install Pillow-2.8.1-cp27-none-win_amd64.whl %PYTHONPIP% install pyparsing-2.0.3-py2-none-any.whl %PYTHONPIP% install python_dateutil-2.4.2-py2.py3-none-any.whl %PYTHONPIP% install pytz-2015.2-py2.py3-none-any.whl %PYTHONPIP% install six-1.9.0-py2.py3-none-any.whl %PYTHONPIP% install tables-3.1.1-cp27-none-win_amd64.whl %PYTHONPIP% install virtualenv-12.1.1-py2.py3-none-any.whl %PYTHONPIP% install pywin32-219-cp27-none-win_amd64.whl C:\Python27\Scripts\pywin32_postinstall.py -install 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 setup.py 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. Also make sure to install the ISAPI extensions and filters, as shown in the figure below. For further information see `IIS Documentation - ISAPI Filters `_ respectively `IIS Documentation - ISAPI/CGI Restrictions `_ .. figure:: /images/installation-images/IIS8Requirements.png :align: center :width: 35% :alt: IIS 8 configuration options IIS 8 configuration options - The :guilabel:`Advanced Settings...` for the application pool assigned to your default site require modification using the *IIS Manager* as follows: - :guilabel:`Idle Time-out (minutes)` - to stop the worker process from suspending during inactivity periods, this setting needs to be changed to 0. .. figure:: /images/installation-images/IIS8ApplicationPool.png :align: center :width: 35% :alt: IIS 8 Application Pool Advanced Settings IIS 8 Application Pool Advanced Settings - To avoid rendering errors on OMERO.web it is recommended to add the custom HTTP response header in the Web site pane. .. figure:: /images/installation-images/IIS7HTTPresponseheader.png :align: center :alt: IIS 7 HTTP response header - Make sure that OMERO's log directory has full read/write permissions for all users .. figure:: /images/installation-images/log_permissions.png :align: center :alt: Log folder permissions - Configure OMERO.web bindings for IIS :: C:\OMERO.server> bin\omero web iis This will automatically add two applications, `/omero` and `/static`, to the default web site and application pool. You can customize these locations by setting :property:`omero.web.prefix` and :property:`omero.web.static_url`. .. note:: You can make manual changes to the IIS OMERO configuration but they may be lost when OMERO.server is upgraded. .. note:: As OMERO.web 5 is based on `Django 1.8`_, :property:`omero.web.session_engine` and :property:`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 the :djangodoc:`Django documentation ` for more details.