11 ProStack Server Deployment Guide

This section describes the installation and usage of the server component of the ProStack image processing platform on the GNU/Linux operating system. The guide is targeted at the administrators and users that need to set up a server for processing of images. It is assumed that a reader has a knowledge of configuration of GNU/Linux, networks and Apache Web Server v.2 at the intermediate level. These terms and actions are not explained here. All paths and locations in the text below refer to the installation of ProStack Server Component on Fedora GNU/Linux 12 from RPM.

11.1 System requirements

The server component of the ProStack image processing platform is implemented as the module named mod_prostack for Apache Web Server v.2. It is distributed as source code and RPM packages for Fedora GNU/Linux 32-bit. Developers didn’t and don’t have plans to test the module on OSes other than GNU/Linux.

11.2 Architecture


PIC
Figure 20: ProStack Server Component as mod_prostack

The ProStack Server Component mod_prostack implements an interface for remote execution of modules and scenarios that are available in ProStack image processing platform (see Fig.20). The communication is done using HTTP(s) protocol. The software uses GET, PUT, POST and DELETE methods to provide equal or extended functionality in comparison to the desktop version. ProStack Server Component is not locked to work with any particular client software. The desktop version of ProStack can be used as client for ProStack Server and more over can run different processing steps on different machines in one scenario.

11.3 Installation

The RPM package prostack-server-*.rpm contains the module for Apache and the image processing routines. These routines are also included in RPM for desktop version of ProStack prostack-main*.rpm. This part is identical in both RPMs. This means that the contents of RPMs overlap but don’t conflict so both server and desktop versions may be installed on the same physical computer.

To install ProStack Server install binary prostack-server-*.rpm for your platform. If such package doesn’t exist first try to recompile the source rpm package. If that fails or your distribution doesn’t support RPM compile the software from source. In the latter case you’ll need to install the development environment beforehand.

11.4 Server Configuration

Upon installation the file /etc/httpd/conf.d/prostack.conf is created with the following contents:

#  
# Mod_prostack is a module that embeds the ProStack in apache  
#  
 
#LoadModule prostack_module modules/mod_prostack.so  
 
#<Location "/prostack">  
# ProStack On  
# ProStackFullUri "http://prostack.example.local/prostack"  
# ProStackKimonoDb kimono.db  
# ProStackConfDir /var/www/prostack  
# ProStackPortNum 0  
# ProStackUser prostack  
# ProStackTimeout 90  
# ProStackInstall Off  
# ProStackLibrary Off  
#</Location>

The following parameters can be adjusted:

It is highly recommended to leave the latter two parameters ’Off’ and let the administrator to perform those tasks from the command line.

The file /etc/httpd.conf should contain the following string:

Include conf.d/*.conf

11.5 Client Configuration


PIC
Figure 21: Client configuration

In ProStack main window go to Toolbar/Server/Add. The following dialog will be displayed 21. Fill in all fields and submit. This will result in the following section in the file  user/.bambu/kimono-gui.rc:

[server]  
name=server  
host=prostack.example.local  
port=80  
address=/prostack  
proto=rest

Here the value ’rest’ for the parameter ’proto’ indicates that unsecure HTTP connection is used. For secure HTTPS connection set this parameter to ’rests’.


PIC
Figure 22: Select the server

To run modules on the remote server select it in the main window (see Fig. 22). The list of available operations will be displayed and the use will be able to add them to the scenario. To use local machine again select the ’default’ server. Any scenario can include modules from different servers. The user is responsible to make sure that the data is accessible by all servers. mod_prostack does not provide upload/download functionality. This can be easily achieved by setting up WebDAV or ftp server. ProStack does provide modules such as ’cmove’ and ’curlup’ to access data remotely. The user can also mount remote repositories under GNU/Linux.

11.6 ProStack Server Component and SELinux

The work is currently being done to test ProStack Server Component with SELinux enabled. In general it is up to the administrator to decide if SELinux is to be enabled. The current version of ProStack Server Component is known to run with SELinux disabled.