pycsw | Home | Demos | Docs | Issue Tracker | FAQ | Download

### Navigation

- next
- previous |
- Documentation »

# Installation

## System Requirements

pycsw requires the following supporting libraries:

- lxml (version >= 2.2.3) for XML support
- SQLAlchemy (version >= 0.0.5) for database bindings
- Shapely (version >= 1.2.8) for spatial query / geometry support
- pyproj (version >= 1.8.9) for coordinate transformations

## Installing from Source

Download the latest version or fetch svn trunk:

    $ svn co https://pycsw.svn.sourceforge.net/svnroot/pycsw pycsw

Ensure that CGI is enabled for your install directory. For example, on Apache, if you setup pycsw in `/srv/www/htdocs/pycsw` (where your URL will be `http://host/pycsw/csw.py`), add the following to `httpd.conf`:

    <Location /pycsw/>
     Options FollowSymLinks +ExecCGI
     Allow from all
     AddHandler cgi-script .py
    </Location>

Note

If you install pycsw in `cgi-bin`, this should work as expected. In this case, the tester application must be moved to a normal location to serve static HTML documents.

## Installing from OpenSUSE Build Service

In order to install the OBS package in openSUSE 12.1, one can run the following commands as user `root`:

    # zypper -ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_12.1/ GEO
    # zypper -ar http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_12.1/ python
    # zypper refresh
    # zypper install pycsw

For earlier openSUSE versions change `12.1` with `11.4`. For future openSUSE version use `Factory`.

An alternative method is to use the One-Click Installer.

## Installing on Ubuntu/Xubuntu/Kubuntu

In order to install pycsw to an Ubuntu based distribution, one can use the OSGeoLive installation script located in `pycsw/etc/dist`:

    # cd pycsw/etc/dist
    # sudo ./install_pycsw.sh

The script installs the dependencies (Apache, lxml, sqlalchemy, shapely, pyproj) and then pycsw to `/var/www`.

## Running on Windows

For Windows installs, change the first line of `csw.py` to:

    #!/Python27/python -u

Note

The use of `-u` is required to properly output gzip-compressed responses.

## Security

By default, `default.cfg` is at the root of the pycsw install. If you have setup pycsw outside your HTTP server’s `cgi-bin` area, this file could be read. To protect the configuration, you have a couple of options:

- move `default.cfg` to a non HTTP accessible area, and modify `csw.py` to point to the updated location
- set your web server to deny access to the configuration. For example, in Apache, add the following to `httpd.conf`:

    <Files ~ "\.(cfg)$">
     order allow,deny
     deny from all
    </Files>

### Navigation

- next
- previous |
- Documentation »