Installing Rucio server — Rucio 0.3.8 documentation

# Installing Rucio server

## Prerequisites

Rucio server runs on Python 2.6, 2.7.

Platforms: Rucio should run on any Unix-like platform.

## Python Dependencies

Rucio server needs the following python modules:

    #cx_Oracle==5.1.2           # Oracle connector
    # MySQL-python==1.2.5      # MySQL connector
    # psycopg2==2.5.2          # PostgreSQL
    SQLAlchemy==1.0.3 # db backend
    alembic==0.7.5.post2 # Lightweight database migration tool for SQLAlchemy
    Mako==1.0.1 # Templating language

All Dependencies are automatically installed with pip.

## Install via puppet

puppet is an open and widely configuration management and automation system, for managing the infrastructure.

1. On the target node: start with a clean slate:

       $> rm -rf /opt/rucio

2. On the puppet master: install with puppet

   do something like this in /etc/puppet/manifests/nodes.pp:

       node '<hostname>' inherits basenode
       {
         include 'rucio::lighttpd'
         include 'rucio::server-dev'
       }

> then execute and wait:

>     $> puppet kick <hostname>

3. back to the target node: configure:

       $> cd /opt/rucio/etc
       $> cp rucio.cfg.template rucio.cfg
       $> cd web
       $> cp lighttpd.conf.template lighttpd.conf

4. startup lighttpd:

       $> cd /opt/rucio
       $> bin/venv_lighttpd.sh

5. test:

       $> curl -vvv -X GET -H "Rucio-Account: ddmlab" -H "Rucio-Username: xxxxx" -H "Rucio-Password: xxxx" https://localhost/auth/userpass

you should get back an HTTP OK with a X-Rucio-Auth-Token in the HTTP header