# Installation Guide

## for SaberNet DCS 2.0

Title: | SaberNet DCS Installation Guide
Authors: | Seth Remington <sremington@saberlogic.com> Matthew Ranostay <mranostay@saberlogic.com>
Date: | 2006-08-16
Revision: | 1.8
Description: | Documentation for installing SaberNet DCS from source.

Contents

- Introduction
- Dependencies
  - Both
  - Client
    - Mac OS X
  - Server
- Installation
- Configuration
- Databases

# Introduction

This installation guide will describe how to install SaberNet DCS from source.

SaberNet DCS is a client/server application. Both the client and server are installed from the same source code but they have separate dependencies and installation procedures. The instructions below will specify when certain instructions apply to only the client, the server, or both.

In addition there may be some differences between installing on Linux and win32. Those differences will be noted as well. Otherwise assume the instructions apply to all architectures.

The SaberNet DCS server is named sndcsd (SaberNet DCS Daemon). There are several clients (and more planned) but for right now the most mature is the GTK+ client for Linux and win32. It is named sndcs_gtk.

# Dependencies

## Both

- Python >= 2.3 (http://www.python.org)
- Pyro >= 3.5 (http://pyro.sourceforge.net) NOTE: some problems reported with 3.4 on both the client and server

## Client

- PyGTK >= 2.4 (http://www.pygtk.org) including Glade support
- GTK+ Runtime Environment

### Mac OS X

- XDarwin (http://xdarwin.org)
- XCode >= 2.0 (http://www.apple.com/macosx/features/xcode)

## Server

- Webware >= 0.9 (http://www.webwareforpython.org/)
- A RDBMS supported by Webware/MiddleKit and it's associated Python wrapper (i.e. MySQL/MySQLdb, PostgreSQL/psycopg, MSSQL/mx.ODBC)

If you are using Microsoft SQL Server as your database backend you will also require the following dependencies to be installed: * mxBase (http://www.egenix.org) * mxODBC (http://www.egenix.org)

Note: the installation uses the builtin Python distutils module. Many Linux distributions split this off into a python-dev (or similarly named) package. Please make sure you have that installed before proceeding or you may get an error when you run "python setup.py install"

# Installation

1. Untar sndcs-<version>.tar.gz
2. cd sndcs-<version>
3. ./configure_sndcs.py (Please be sure to read and understand the Configuration and Databases section before you proceed with this step.)
4. python setup.py install (as root) --or-- run configure_sndcs as root and choose to install when prompted
5. Start the server (Please see the Administrator's Guide for instructions.)
6. Run your frontend of choice (i.e. sndcs_gtk, sndcs_curses, etc...)

# Configuration

The configuration files for the server and clients are initially created by running the configure_sndcs.py script. This is a simple command line program that will prompt you for configuration parameters. Most prompts will end with a default answer and/or available answers to choose from within square brackets [...]. For example, [y,N] means that the available answers are y(es) and n(o) and the capitalized 'N' means that no is the default which will be selected if you just press <Enter>. If configure_sndcs.py has been run previously the defaults will be read in from your previous configuration so you can simply <Enter> through the prompts that you don't want to change and it will keep your old configuration.

When running the configure_sndcs.py script you will first be prompted:

    Do you want to install the client, server, or both? [c/s/b]:

Selecting c(lient) will configure the clients and s(erver) the server. Selection b(oth) will simply run the server configuration followed by the client one. It is important to note that the actual installation will only install the pieces for which there is a configuration file for. So if you only configure the client, the server (sndcsd) will NOT be installed.

# Databases

Instructions on creating a DCS database:

- WARNING: These follwing steps will delete the database defined if it already exists!!!

1. "./configure_sndcs.py". (Please read the Installation and Configuration sections before proceeding with this step)
2. When you see the prompt: "Select yout RDBMS Engine", pick the one that is applicable.
3. Then enter your database hostname in the following prompt (i.e 192.168.0.123 or sqlserver.domain).
4. And then the username and password that DCS will use, NOTE: ideally a user that only has permission to the DCS database.
5. Database name that you want to use, usually best to stick with 'sndcs2'.
6. You will then see a prompt: 'Do you want to create the database?' select 'yes', and then follow the instructions of the following prompts.