

        ########                 ###   #######     ####     #####
           ##     #####   #####   ##   ##    ##  ##    ##  ##   ##
           ##    ##   ## ##   ##  ##   ######## ##      ##  ##
           ##    ##   ## ##   ##  ##   ##    ## ##      ##    ##
           ##    ##   ## ##   ##  ##   ##    ##  ##    ##  ##   ##
           ##     #####   #####  ##### #######     ####     #####

                     ~ Setup Guide for Administrators ~


-----------------------------------------------------------------------------


SIT Setup
=========

Target: Copy ToolBOS SDK to /hri/sit/latest, and aux. tools into
        /hri/sit/LTS.

System: SIT server machine (or any computer that should run standalone)


  - create following directory:

    $ mkdir -p /hri/sit


  - copy the Software Installation Tree (SIT) that you have received
    on DVD or via network share (assumption in this example: /media/dvd
    contains the "builds" and "LTS" directories etc.)

    $ rsync -av /media/dvd/ /hri/sit/


  - verify to have a directory organization like this:

    $ tree -L 1 /hri/sit/
    /hri/sit/
    |-- LTS
    |-- builds
    `-- latest -> builds/latest


-----------------------------------------------------------------------------


Export SIT via NFS
==================

Target: Export central SIT installation to Linux clients

System: SIT server machine


  - install NFS server:

    $ aptitude install nfs-kernel-server


  - export SIT to all clients:

    $ mcedit /etc/exports

      --> add this line:

          /hri/sit  *(rw,no_subtree_check)


  - restart NFS server:

    $ service nfs-kernel-server restart


-----------------------------------------------------------------------------


Mount SIT via NFS
=================

Target: Use central SIT installation

System: all Linux client computers that shall use the central SIT


  - ensure that user IDs on NFS clients and server are identical,
    or go for LDAP authentication system (not described here)

  - mount SIT share from server:

    $ mcedit /etc/fstab

    --> add similar line (replace hostname):

    nfsserver.honda-ri.de:/hri/sit  /hri/sit  nfs  intr,rsize=8192,wsize=8192 0 0


-----------------------------------------------------------------------------


Specify host platform
=====================

Target: Prerequisite to use ToolBOS

System: all computers where ToolBOS is involved (clients + servers)

    $ cp ${TOOLBOSCORE_ROOT}/examples/ToolBOS.conf /etc/ToolBOS.conf

Then update its contents if needed.


-----------------------------------------------------------------------------


SVN server setup
================

Target: Maintain source code in central revision control system

System: SVN server


  server configuration:

  - install Subversion (SVN):

    $ aptitude install subversion


  - create location for repositories (path can be freely chosen by Admin):

    $ mkdir -p /repos


  - inform ToolBOS about the SVN server URL and repository path:

    $ mcedit /hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/etc/ToolBOS.conf

      --> replace the 'defaultSVNServer' and 'defaultSVNRepositoryPath'
          section to the server's FQDN and repository root path


    Note: Please backup this file, as a later update will overwrite it.


-----------------------------------------------------------------------------


Webbased documentation server
=============================

Target: Setup LAMP-system for webbased documentation tools

System: webserver


  - install Apache 2, MySQL and necessary PHP-modules:

    $ aptitude install apache2 libapache2-mod-php5 php5-gd php5-mysql
      php5-suhosin mysql-server

    --> when being prompted, specify a password for the MySQL admin


  - use webbrowser and check if webserver can be reached in principle


  - allow webserver to access SIT:

    $ cd /var/www

    $ ln -s /hri .


  - use webbrowser and check if SIT can be accessed, e.g.:
    http://<webserver>/hri/sit/latest


  - register *.php files to be interpreted by mod_php5:

    $ mcedit /etc/apache2/mods-enabled/php5.conf

      --> add those two lines within the <IfModule mod_php5.c>...</IfModule>
          section:

          AddType application/x-httpd-php .php .phtml .php3
          AddType application/x-httpd-php-source .phps


  - restart Apache:

    $ service apache2 restart


  - check if accessing the main entry page works:

    http://<webserver>/hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/web/index.html


  - access this page from client webbrowser and check that PHP is
    interpreted (webbrowser should not offer you to download/save the
    script file!)

    http://<webserver>/hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/web/GlobalInstallLog.php


  - set the "Home" URL location to your webserver's hostname:

    $ mcedit /hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/etc/ToolBOS.conf.php

    --> replace the $homeURL variable to your server's FQDN


  - again access this page:

    http://<webserver>/hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/web/GlobalInstallLog.php

    --> check that the "Home" link in the top-left corner is working


-----------------------------------------------------------------------------


Apache with SSL
===============

Target: Encrypt HTTP transfers between Apache and webbrowsers,
        especially to prevent password sniffing

System: webserver


  - generate self-signed SSL certificate, with one year expiration date
    (yearly renew is recommended):

    $ mkdir /etc/apache2/ssl

    $ openssl req -new -x509 -days 365 -nodes -out
      /etc/apache2/ssl/apache.pem -keyout /etc/apache2/apache.pem

      --> when prompted, provide requested certificate information such
          as company name etc.


  - update the paths to certificate files in the Apache site configuration:

    $ cd /etc/apache2/sites-available
    $ mcedit default-ssl

      --> replace the following two lines

          old:

          SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
          SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

          new:

          SSLCertificateFile    /etc/apache2/ssl/apache.pem
          SSLCertificateKeyFile /etc/apache2/apache.pem


  - enable listening on HTTPS port:

    $ cd /etc/apache2/mods-enabled
    $ ln -s ../mods-available/ssl.* .
    $ cd /etc/apache2/sites-enabled
    $ ln -s ../sites-available/default-ssl 001-default-ssl


  - restart Apache:

    $ service apache2 restart


  - use webbrowser and check if webserver can be reached over HTTPS:
    https://<webserver>


-----------------------------------------------------------------------------


Global install log messages
===========================

Target: Track date/time/user/reason for global installations on Intranet

System: SIT server, webserver


  - enable tracking of global installations:

    $ mkdir /hri/sit/latest/Temporary/GlobalInstallLogfiles

    $ chmod 0777 /hri/sit/latest/Temporary/GlobalInstallLogfiles

    $ touch /hri/sit/latest/.askForGlobalInstallReason


  - from now on, when installing packages into the global SIT,
    the user will be prompted for a reason and logfiles will be
    created within /hri/sit/latest/Temporary/GlobalInstallLogfiles


  - see last installed packages on webpage:

    http://<webserver>/hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/web/GlobalInstallLog.php


-----------------------------------------------------------------------------


Global Documentation Overview
=============================

Target: Webpage listing index of all installed SIT modules (with links
        to their documentation)

System: webserver


  - setup LAMP-system as described above


  - setup SITDB as described above


  - access this page from client webbrowser:

    http://<webserver>/hri/sit/latest/DevelopmentTools/ToolBOSCore/2.0/web/DocOverview.php


-----------------------------------------------------------------------------


Support address
===============

  - Marijke Stein <marijke.stein@honda-ri.de>
    +49 (0)69-89011-762

  - Honda Research Institute Europe GmbH
    Carl-Legien-Str. 30
    63073 Offenbach am Main (Germany)


# EOF
