Next Previous Contents

## 4. Tango Installation and Configuration

## 4.1 Installation - Tango 3.x

### Solaris

### Installing the Files

The current version of Tango 3.x for Solaris is Tango 3.62. There is not expected to be any further updates to the 3.x codebase. The installation path is designed for incremental upgrades, so is a bit tricky.

First, you'll need the Tango 3.6 version. This is a compressed tarball, and will untar itself into /var/opt/EDI/. You'll need to be superuser to install this.

    $su -
    Password: ********
    # uncompress tango36sol.tar.Z
    # tar -xvf tango36sol.tar

Next, you'll need to grab the Tango 3.62 patch file. This too is a compressed tarball. This one will uncompress to whatever directory it's in, so make a temp directory somewhere and use that.

    $su -
    Password: ********
    # mkdir Tango362
    # cp ./tangoSol362.tar.Z ./Tango362/
    # cd Tango362
    # uncompress tangoSol362.tar.Z
    # tar -xvf tangoSol362.tar

What you'll wind up with are three binary files, a Readme.txt, and an 'odbc' directory. Move the TangoNS_ep3.so to /var/opt/EDI/lib and the t3.cgi and tangod files to /var/opt/EDI/bin. Finally, remove your /var/opt/EDI/odbc directory and replace it with this one.

    # mv./TangoNS_ep3.so /var/opt/EDI/lib/TangoNS_ep3.so
    #mv ./t3.cgi /var/opt/EDI/bin/t3.cgi
    #mv ./tangod /var/opt/EDI/bin/tangod
    # rm -rf /var/opt/EDI/odbc
    #mv ./odbc /var/opt/EDI/

### Setting up the Tango user account

Next, you'll need to use your favourite method to create a user account to run Tango. You can use the graphical 'admintool' program, or command line programs such as 'adduser' or 'useradd' depending on your installation.

Generally, you'll want to call the account 'tango' and also perhaps make a group called 'pvsw'. The user should be given ownership of everything in the /var/opt/EDI directory tree. If deploying in a production environment, especially on something outside of a firewall or the like, set the account to have no password, no login capabilities.

### Linux

There is no version of Tango 3.x for Linux. Had you going, though.

## 4.2 Tango 2000

### Solaris

Tango 2000 is shipped in the form of a Solaris Package Archive. You'll need to login as root, and using either the 'admintool' graphical utility, or run the pkgadd command. If you have a CD-ROM copy,mount the CD. The automounter will generally mount it in /cdrom. Copy the /cdrom/tango_as-2000/tango2000/T2000Install.tar file to a temporary directory. If you downloaded Tango 2000, it will be a compressed tar file, and you'll need to uncompress it first. If it's already uncompressed, skip the first step below.

    # uncompress T2000Install.tar.Z
    # tar -xvf T2000Install.tar
    # cd T2000Install
    # pkgadd -d. PVSWtango

and follow the prompts.

> Warning: the shipping Tango 2000 installer sometimes rejects valid CD-keys as being invalid. If this occurs, leave the CD-Key blank, and manually add your key later (see section x.x).

### Linux

Tango 2000 for Linux is distributed as an RPM. On a distribution CD, you'll find the file in the tango2000 directory. Copy the appropriate file to a temp directory; Tango2000-server-4-Linux_i386.rpm if you're using Red Hat 6, Caldera 2.2 or S.U.S.E 6.2 or later. Tango2000-server-4-RedHat52_i386.rpm if you're using Red Hat 5.2. Either way, you'll need to be root.

> Note that to use Red Hat 5.2, you'll need to manually upgrade your kernel to version 2.2 or higher.

    #rpm -Uvh Tango2000-server-4-Linux_i386.rpm

## 4.3 Tango 2000 Service Pack 1

### Solaris

Tango 2000 SP1 for Solaris is a Solaris Package Archive, designed to replace/update the existing installation. It is, however, a full install, so if you don't have Tango installed already, you'll get a working install. Otherwise, the procedure to install is the same as Tango 2000, only the archive is T2000InstallSP1.tar.Z

You'll probably want to back up your t4client.ini and t4server.ini files, as well as your web server configuration files.

### Linux

Tango 2000 SP1 for Linux is an RPM designed to replace/update the existing installation. It is, however, a full install, so if you don't have Tango installed already, you'll get a working install. Otherwise, the procedure to install is the same as Tango 2000, only the RPM is Tango2000-server-4.05.i386.rpm, or Tango2000-server-4.05.RedHat52.i386.rpm if you're using Red Hat 5.2.

## 4.4 tXserver.ini - TAS Settings

Tango uses a file called 't3server.ini' or 't4server.ini' to control many of it's behaviors and functions. For Tango 3.x, this file is /var/opt/EDI/t3server.ini and for Tango 2000, it's $TANGO_HOME/configuration/t4server.ini. You can find a complete description of all entries in your Metatags and Configuration Variables book, but the most important/commonly used ones are listed here.

### Cache

Possible entries: TRUE, FALSE

This controls weather or not Tango caches TAF files. Caching will reduce disk access, speeding up TAF execution.

### CacheIncludeFiles

Possible entries: TRUE, FALSE

This controls weather or not Tango caches included files. Caching will prevent repeated disk access, speeding up TAF execution.

### CacheSize

Possible entries: Numeric, measured in bytes

This measures the size of the cache for TAFs and included files. If cache grows to near this size, older documents will be flushed.

### ConfigPasswd

Possible entries: text

This is the password of the config.taf online configuration application.

### DataSourceLife

Possible entries: numeric, measured in minutes.

This controls how long an unused datasource connection will live. A setting of 0 will cause a datasource connection to be closed as soon as it's query is finished.

### DebugMode

Possible entries: ForceOn, ForceOff, appFileSetting

This controls how the TAS handles placing debug information on the bottom of each page created; always, never, or per file settings.

### DSConfigFile

Possible entries: path to file

This points to the Data Source configuration file, which gives you some finer control over how Tango uses data sources. See the Data Sources section for more details.

### ItemBufferSize

Possible entires: numeric, measured in bytes

This is the maximum size of any given field that can be returned in a database action. It's main function is to prevent Tango from becoming bogged down while downloading an unusually large piece of data from a database.

### License

Possible entries: alphanumeric CD-Key

This is the Tango license. The CD-Key contains the licensing information which tells Tango how to configure itself in terms of licenses and behavior.

### ListenerPort

Possible entries: TCP/IP Port number

This tells Tango what port to monitor for incoming connections from the Tango CGI or Plugins. Ports cannot be shared between server software, so multiple servers running on one machine will need their own ports.

### LoggingLevel

Possible entries: NoLogging, LogLevel1, LogLevel2, LogLevel3, LogLevel4

This controls how much logging Tango does. The log, "Tango.log", is written to the location specified in the LOGDIR config variable. LogLevel 3 is the best to use if you're trying to debug a Tango problem, but will slow Tango down, and will eat disk space.

### MaxActions

Possible entires: numeric, 0 for no limit

This controls how many actions Tango will allow in a TAF file. This guards against things like infinite loops and overly large programs; most often used in development environments.

### MaxHeapSize

Possible entries: numeric, measured in bytes

This controls how much memory the Tango Daemon process will allow itself to consume. Memory is consumed by variables, datasource connections, and cache. If Tango exceeds this number, it will shut itself down with a 'process size exceeded' message and attempt to restart itself normally. This number should be changed to provide 20% more than what you record Tango as generally using during peak use.

### QueryTimeOut

Possible entries: numeric, measured in seconds

This controls how long Tango will wait for a response from a database call before timing out. Note that not all databases and drivers support this functionality.

### RequestQueueLimit

Possible entries: numeric

This controls how many requests from a CGI Tango will allow to 'queue'. A very busy site can sometimes have so many CGIs stacked, waiting for Tango to service them, that some will get lost and orphaned. This helps prevent that situation.

### ThreadPoolSize

Possible entries: numeric

This controls how many simultaneous threads Tango will run with. On Solaris, it is generally better to have several Tango servers running a few threads apiece than to have one Tango server running the same number of threads.

### ValidHosts

Possible entries: TCP/IP addresses, colon delimited.

This is a list of what IP addresses Tango will allow incoming requests from. On a machine where the web server and Tango server are both running, this should be set to 127.0.0.1, the localhost.

Next Previous Contents