JARGON TUNNEL BROKER
INSTALLATION CHECKLIST FOR UNIX/LINUX
OVERVIEW
This is a summary of the steps to install the Jargon Tunnel Broker with
the Progress AppServer on a Unix or Linux system, using an Apache or Netscape
web server or any similar web server with CGI features.
For more complete information, see the "Overview
of Jargon Tunnel Broker" document that is included in the tunnel.tar
and tunnel.zip installation files, in the "doc/" subdirectory.
A. CONFIGURATION INFORMATION
B: INSTALLATION STEPS
1. Extract Tunnel Broker Files.
Use the "tar" command to extract (untar) the files contained in tunnel.tar
into a directory of your choice on the server that will run the tunnel
broker. For example, under "/var" or "/usr". Anywhere with a little space
is fine (it is about 3MB). This will extract as ./tunnel/*, so it would
end up as /var/tunnel etc.
2. Install Progress AppServer.
Follow Progress instructions for installing and configuring AppServer on
Unix or Linux. The Jargon Tunnel Broker does not have any special requirements
for doing this, using the default installation choices is the safest way
to proceed in our experience. It is similar to NT installations except
for the lack of a GUI admin tool like Progress Explorer. For testing purposes,
you may wish to start with the default "out-of-the-box" asbroker1, not
changing anything nor adding any database connections, until you know that
everything is working correctly.
3. Install Java JVM.
If a Java 1.1 (or higher) JVM is not present, one should be installed.
One may be downloaded from http://www.javasoft.com or from your Unix or
Linux vendor. The Progress Appserver installation will install a 1.1.8
version of the JVM, which will work. However, version 1.2 or higher is
needed to use the GUI Control Panel (assuming you have a graphical terminal
or workstation on which to run it).
4. Compile Script.
Compile jsihttp.c (in tunnel/unix/cgi-bin/src) using the command:
cc jsihttp.c -o jsihttp
or, for systems using the GNU compiler:
gcc jsihttp.c -o jsihttp
5. Install jsihttp Files.
Copy the jsihttp object file (from step 4) and the tunnel/unix/cgi-bin/jsihttp.sh
shell script file to the web server’s cgi-bin directory. Make sure both
have full read and execute permissions.
For the Apache web server, edit the httpd.conf configuration file
(which may be located in: /etc/httpd/conf/httpd.conf )
and make sure the ScriptAlias directory is defined. If you are using multiple
virtual hosts, this is defined separately for each host.
Example: ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
See:
http://httpd.apache.org/docs-2.1/howto/cgi.html#configuring
Also, Apache changed some things about cgi environment variables at
one point, so you might have to add the following option in the apache
config file at the appropriate place, then restart apache:
AcceptPathInfo on
See:
http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
6. Configure Script.
Edit jsihttp.sh to reflect the host name and broker port of the server
that will run the Tunnel Broker. When the web server and the tunnel broker
are on the same machine, use "localhost" instead of the machine's IP address
or hostname
7. Configure Tunnel Broker.
Edit the tunnel/system/tunnel.ini file to reflect the parameters of your
installation. Often the defaults are fine. If the tunnel broker and the
Progress Appserver are on the same machine, use "localhost:5162" for the
AppServer parameter instead of using an IP address (as in #6).
8. Configure Scripts.
The script files with a ".sh" extension for Unix are used to start, stop,
test and check status of the tunnel broker. The scripts are located in
the tunnel/unix directory. For ease of use, you may wish to add their directory
location to your search path environment variable. Make sure they all have
full read and execute permissions.
These scripts assume that the "java" executable can be found in the
search path of your environment settings. If not, then the full path of
the java executable must be specified in the command line in each script.
The "server.sh" script, by default, requires that the shell session
from which it was started stays running. This means that session window
cannot be closed, and the user cannot log out. To run this script in the
background and change it to a child process of 'root' instead of the user
who started it, change it from:
java -classpath ../lib/jtunnel.jar:../lib/o4glrt.zip
b.Server ../system/tunnel.ini
to this (adding 'nohup' at the front and '&' at the end)
nohup java -classpath ../lib/jtunnel.jar:../lib/o4glrt.zip
b.Server ../system/tunnel.ini &
This script can also be run from 'cron', however you must then also
change all relative paths to full paths in the server.sh script and in
the tunnel.ini file.
9. Start AppServer.
Use the normal Progress scripts to start AppServer. Check its status to
see if agents start and are available. Also look at the broker and server
logs to see if there are any error messages.
10. Start the Tunnel Broker.
Use the server.sh or gui.sh to start the tunnel broker. Check its status
to see if agents start and are available. If so, re-check the Appserver
agent status, they should now show some or all of the agents as connected
(as many as the number of tunnel broker agents).
11. Install Jargon Host Programs.
Install the host programs for jsi, util, sports2000 demo and your application.
Copy the "jsi.tar", "utilprog23.tar" and "sports2000prog.tar" files (using
the "binary" option in FTP) from the ".\Progress\unix" subdirectory under
your Jargon Writer directory to the appserver working directory,
then use commands such as "tar xvf jsi.tar" (etc.) to uncompress
each one. Make sure all directories have full read and execute (search)
permissions and that all .p and .i files have full read permissions.
12. Configure Host Middleware Type.
Change the "HostType" parameter in line 7 of the jsi/jsi.ini file to use
"AS" (AppServer) mode instead of "WS" (WebSpeed) mode.
13. Install Status Programs.
Copy tunnel/test/statusas.p and tunnel/test/statusas.i to the appserver
working directory (for the following tests).
14. Check Status from Test Script.
Try the test.sh script (may have to modify for your application program/database).
The output will appear in one long (messy-looking) line, because it is
formatted for use with Jargon Reader. However, if you get back a long response
that includes Propath directory entries, etc then it is working.
For the Apache web server, there are several pages in the Apache docs that
may be helpful in tracking down any script problems.
See:
http://httpd.apache.org/docs-2.1/mod/mod_cgi.html
especially the ScriptLog directive section at
http://httpd.apache.org/docs-2.1/mod/mod_cgi.html#scriptlog
This directive causes the error log to provide more information on why
a script isn't running.
15. Check Status from Web Browser.
Try running statusas.p from a web browser. Type in a URL like:
http://999.999.999.999/cgi-bin/jsihttp.sh/statusas.p?ProcName=GetStatus
where you substitute the IP address of the machine that the web server
is running on for the "999.999.999.999" above. You can use either a symbolic
or numeric address, as long as the symbolic name is getting converted to
an IP address correctly by DNS or other means. You can test this by trying
to "ping" the symbolic address.
16. Install Deployment Products.
When this is all working ok, install and configure the Jargon Reader files,
html startup pages, image files, HTML online documentation files, and your
application's xml files somewhere under the web server root directory.
If the web server root is "/html", then you might use:
"/html/doc"
"/html/jrx"
"/html/images"
"/html/lib"
"/html/system"
"/html/xml"
(etc.)
17. Test Your Application.
Test applications to make sure everything works. If there are problems,
turn on all trace options in jsihttp.sh and tunnel.ini and look at logs
after trying more tests. Also look at AppServer broker and server logs
for any error messages. See the Debugging Guide
document for more debugging tips.