wiki:Software/MSI/ConfigurationNeptune

Version 19 (modified by pjkersha, 10 years ago) (diff)

--

Neptune Configuration

Neptune is the test server for NDG3 (MSI).

$ cat /etc/issue

Welcome to openSUSE 10.3 (X86-64) - Kernel \r (\l).

Neptune has an alias ndg3beta.badc.rl.ac.uk.

Known Issues

  • ssh login fails with:
    $ ssh neptune.badc.rl.ac.uk
    Password:
    Permissions on the password database may be too restrictive.
    
    Password:
    
    ... indicates the store mount has failed. Contact SDDCS
  • wildly inaccurate dates causing unpredictable behaviour. Contact SDDCS

Python Configuration

System default is Python 2.5 in /usr/bin. Under SuSE, the site package location is customised to /usr/local/lib64/python2.5/site-packages with /usr/lib64/python2.5/distutils/distutils.cfg.

Application packages will be installed separately to avoid version conflicts and maintenance problems with a single package area. virtualenv or zc.buildout could achieve this. virtualenv is easy to set-up with mod_wsgi - see Apache Configuration. zc.buildout enables overriding control over package versions to define a package and version combination to make a stable deployment. zc.buildout  collective.recipe.modwsgi enables integration with mod_wsgi.

Virtualenv

virtualenv bootstrap:

$ virtualenv --no-site-packages myenv

... failed with this message:

TEST FAILED: /usr/local/lib64/python2.5/site-packages/ does NOT support .pth files }}}

This is a known problem with SuSE:

http://groups.google.com/group/python-virtualenv/browse_thread/thread/aa69f8b738d23652

This discussion suggests commenting out the prefix setting in `/usr/lib64/python2.5/distutils/distutils.cfg`, but a less intrusive option is to override the setting by creating an [http://docs.python.org/install/index.html#alternate-installation-unix-the-prefix-scheme alternative] config file `setup.cfg` or `~/.pydistutils.cfg`:

{{{
$ cat > ./setup.cfg
[build_py]
optimize=0

[install]
prefix=/mypath/myenv
optimize=0
}}}
Then ...
{{{
$ virtualenv --no-site-packages myenv
}}}

Move the `setup.cfg` file to within the `virtualenv` directory so that it doesn't interfere with other components: {{{ $ mv ./setup.cfg ./myenv }}} Install setuptools `cd`ing to `myenv` directory first to ensure that `setup.cfg` is picked up: {{{ $ cd ./myenv $ wget http://peak.telecommunity.com/dist/ez_setup.py
$ ./bin/python ./ez_setup.py

zc.buildout

...

Apache Configuration

See: Apache Configuration page.

Application Configuration

Discovery

Postgres database

Postgres 8.3.1 has been installed in the standard location: /usr/local/pgsql. The database data files and configuration files are stored in the 'data' subdirectory. The postgis extension has also been installed. This database is not currently being backed up.

Postgres should automatically start on reboot via /etc/init.d/postgresql file.

To start/stop/restart/reload postgres:

As linux user 'postgres':

/usr/local/pgsql/bin/pg_ctl start/stop/restart/reload/status -D /usr/local/pgsql/data

OR, As 'root':

/etc/init.d/postgresql start/stop/restart/status

Passwords can be found in the Secrets box.

COWS

Dom has installed COWS in a dedicated Python installation under /usr/local/cowsenv. This may be revised at a later date to use virtualenv or zc.buildout based install. See Apache Configuration page for details of COWS WSGI script.

Configuration settings are in /usr/local/cowsenv/services/OGCTestbed

Added:

  • gcc-fortran compiler (yast)
  • numpy-1.2.1
  • matplotlib-0.98.5.2.tar.gz
  • csml 2.5.1
  • cows 0.2.3
  • Paste 1.7.1
  • Genshi 0.5.1
  • PIL 1.1.6

Pylons/CSML/MATPLOTLIB etc:

  • numpy 1.2.1
  • matplotlib 0.98.5

Specific config for ...

  • WMS / WCS
    • WMS server
    • WCS server
    • WMS client with WCS download button

pyDAP

pyDAP 3.0 is installed in a virtualenv /usr/local/dap:

$ cd /usr/local/dap
$ ./bin/easy_install pydap

Run easy_install from the above directory for reasons given above in the [virtualenv section].

numpy install breaks when installed via pydap dependency so, $ ./bin/easy_install numpy NetCDF response and handler plugins: $ ./bin/easy_install pydap.handlers.netcdf $ ./bin/easy_install pydap.responses.netcdf

NDG Security handler:

$ ./bin/easy_install -Uf http://ndg.nerc.ac.uk/dist ndg_security }}}

=== Security ===
There are two components:
 1. an application running security services such as OpenID, Attribute Authority and Session Management  1. handler filters which are configured with existing applications to protect them

The first is installed in it's own mod_wsgi application running over HTTPS.  For the second, there are filters configured to secure COWS and pyDAP services.  In each case to install in the given app environment, {{{ $ easy_install -Uf http://ndg.nerc.ac.uk/dist ndg_security }}}