Delphion Image Server Version 4 Installation

Rick Jasper
(408) 960-7529
rick@delphion.com
Most recent update: August 2002


Table of Contents

  1. Introduction
  2. Installation
  3. Boot up utilities
  4. Code Changes
  5. Appendix A
  6. Appendix B



Introduction

This document contains instructions for installing and setting up version 4 of the Delphion Image Server.

System Requirements

Hardware Required Software Optional, but Recommended AIX Software

Installation

System Setup

Time : 20 minutes

Create image server userids and group ID

The primary group ID that runs the image server code is ipsusers, typically group number 402. To create,
       mkgroup -A id=402 ipsusers

The administrative user ID that's used for instance, to add new data, is ipsadmin, typically userid number 401. The primary user ID that runs the image server code is ipsrun. typically userid number 402. To create both userids,
       mkuser id=401 groups=ipsusers gecos='IPS Administrator User' ipsadmin
       mkuser id=402 groups=ipsusers gecos='IPS Run-time User' ipsrun
       passwd ipsadmin
       passwd ipsrun

Set Up File Systems

The following default file systems are used by an image server.

                   Recommended size
Name                 [in 512 blk]    Owning User:Group       Purpose
-----------------  ----------------  -----------------  ------------------------------------
/ips                500MB [1024000]  ipsrun:ipsusers    Image server code and log files
/dfs/patent/cache  At least 500MB    ipsrun:ipsusers    Shared Disk Cache for CD Image Files
/cache1            At least 200MB    ipsrun:ipsusers    Local Disk Cache for CD Image Files
/var                100MB  [204800]                     Print queue
The /ips file system contains all the code for the IPS components. This includes all servers (web, image, DB/2, and Verity) programs, configuration, and log files.
       crfs -v jfs -grootvg -a size=1024000 -m/ips -Ayes
       mount /ips
       chown ipsrun:ipsusers /ips
       chmod g+w /ips

The /dfs/patent/cache and /cache1 directories are where image files that the image server reads from CD, are cached so they don't have to be read from CD the next time. These directories have 100 subdirectories under them named 00 to 99, each of which has 100 subdirectories named 00 to 99. That is 10,101 directories in all. There is a script provided, mk2lvdir.sh, which can be used to create this directory 100X100 structure.

For sites with multiple image servers and/or web servers that run on different machines than the image servers, you should plan to use a shared file system (NFS, AFS, or DFS). In this environment, you can choose to not bother with the local disk cache (/cache1), which would be useful only when the shared file system is down or unavailable.

The location of the shared disk cache can be changed with the CacheRootDir environment variable in ~ipsrun/.profile. The location of the local disk cache can be changed by modifying the three *.cache1dir lines in /ips/etc/arcpat.cfg.

To change the size of /var to 100MB,
       chfs -a size=204800 /var

Increase "Maximum number of PROCESSES allowed per user"

The image server will have almost a hundred processes running. The normal, AIX default is 128 processes per user, which is pushing this limit a bit. To change,
       chdev -l sys0 -a maxuproc='256'


Install MQ Series Version 5.0


WARNING:
If you have a previous version of MQ Series installed, you must uninstall the old version before installing MQ Series for AIX Version 5.0. For example, installp -u mqm..

Requirements

Preparation

Time : 5 minutes

Installation

Time : 20 minutes

Install SmartStorage's iXOS (aka Jukeman) driver

Requirements

Installation

Time : 20 minutes

Setting up iXOS

Obtain license key

Time : 15 minutes

The old, pre-2002 procedure was web-based starting at the now dead, www.jukeman.com/partner site and select the ORDER link on the left side tab. You would then enter

Now you must call the "Legato Systems Product Support" line at 1-800-579-3647.
You need to tell them you want a new license for their SmartStorage product.
When I last did this on 8-14-2002 for patimg2, I had to

When you get the license, you'll put it in a 4-line file at /ips/ixos/server.lic (or /jukeman/server.lic depending on how the Jukeman software was installed). For example, patimg2's server.lic file is
       version=2
       oem=IBM
       volumes=1200
       license=zvingubd

Now if need be, restart the software. As root,
       /ips/ixos/cdadm byebye
       /ips/ixos/cdnfsd
and now the logfile.txt line says
       2 8/14:1032:545 found valid license in server.lic

iXOS/Jukeman configuration
Make sure you select unique name for each jukebox. The IPS standard is to name each jukebox,
       <hostname>jb#
where "hostname" is the short hostname (i.e. hostname -s) and "#" is a counter starting at 1. For example, if two jukeboxes are connected to an image server named ips2, the jukeboxes will be named ips2jb1 and ips2jb2.

We will put the iXOX-Jukeman "views" at /ips/ixos/view_pc and /ips/ixos/view_rr.

iXOS/Jukeman Initial Scan

This process will runs for at least 40 minutes and up to 4 hours depending on the type of jukebox and how many discs are loaded. To start the iXOS/Jukeman code:
       /ips/ixos/cdnfsd &
ips2jb2.CLASS=A You can check the file /ips/ixos/logfile.txt for progress. When the process is completed, you will see the message

... SmartStor JUKEMAN ready to serve clients

Verification

Time : 5 minutes


Install "IBM HTTP Server powered by Apache" Version 1.3.x


Preparation

Time : 5 minutes

Further web server customization is done in the next step, Installing the Delphion IPS Image Server Code.


Installing the Delphion IPS Image Server Code

  1. Log on as ipsrun
  2. Create a temporary directory (e.g. /ips/temp), cd to that directory, and untar the arcpat04.aixpkg41.tar file. Presuming the tar file is in /tmp,
           mkdir /ips/temp
           cd /ips/temp
           tar -xvf /tmp/arcpat04.aixpkg41.tar
  3. Run the provided install script
           ./patinst.sh
  4. When prompted for the source directory, enter the directory where you un-packed the tar file, arcpat04.aixpkg41.tar. Press ENTER to use the default, /ips/temp.
  5. When prompted for the target directory, press ENTER to use the default, /ips.
  6. When prompted to Install ARCroute on ..., press ENTER to use the default, Y.
  7. When prompted for a queue manager name, press ENTER to use the default.
  8. When prompted for a group name that should has access to MQ queues, press ENTER to use the default, ipsusers.
  9. Wait for the MQ manager to complete.
  10. When prompted to Install ARCpat server product, enter Y. Warning! This is not the default!
  11. When prompted to Install ARCpat client product, press ENTER to use the default, N.
  12. Enter root password when prompted.
  13. Installation completed.
  14. Save the original httpd.conf file as distributed by IBM, copy the sample httpd configuration file as provided by the arcpat package, into the /usr/HTTPServer/conf directory, and modify as necessary.
           mv /usr/HTTPServer/conf/httpd.conf /usr/HTTPServer/conf/httpd.conf.original
           cp -p /ips/etc/httpd.conf.4.ibmhttpd.1336 /usr/HTTPServer/conf/httpd.conf
           vi /usr/HTTPServer/conf/httpd.conf
    At a minimum,
    • change the ServerAdmin line to your e-mail address.
    • fix the eight occurrances of "ipn" in the file, to "ips".
    • update if need be, the LOOKUP_DIR= parameter in the last line of the file, the line starting with "AppClass /ips/httpd/fcgi-bin/patia-fcgi ..." This should be the starting directory of the shared image cache, for example, /cache1 or /dfs/patent/cache.
    • Change the cgi-bin directory override section to,
             <Directory /ips/httpd/cgi-bin>
             AllowOverride None
             Options FollowSymLinks
             </Directory>
    • Copy over a recent (e.g. 18,145 bytes dated Aug 23 1999) version of /ips/arcpat/ver04/bin/dlvcgi. This cgi-bin program was missing.
  15. Initialize the image server cache. For example,
           /ips/bin/mk2lvdir.sh /cache1
  16. Copy into place, the fastcgi module as provided in the arcpat package.
           cp -p /ips/lib/mod_fastcgi.so.4.ibmhttpd.1336 /usr/HTTPServer/libexec/mod_fastcgi.so
  17. If you want to use the standard apachectl command against a non-standard httpd.conf file, you can modify /usr/HTTPServer/bin/apachectl. For example,
    • Change the "PIDFILE=" line to
             PIDFILE=/ips/httpd/logs/httpd.pid
    • Change the "HTTPD=" line to
             HTTPD="/usr/HTTPServer/bin/httpd -f /ips/httpd/conf/httpd.conf"
    • Create the necessary links.
             ln -s /ips/lib/librfxapi.a /usr/lib/librfxapi.a
             ln -s /ips/lib/libpatdiscs.a /usr/lib/libpatdiscs.a
             ln -s /ips/lib/libnlsmsg.a /usr/lib/libnlsmsg.a
             ln -s /ips/lib/libipc.a /usr/lib/libipc.a
             ln -s /ips/lib/libcentral.a /usr/lib/libcentral.a
             ln -s /ips/etc/arcpat.cfg /etc/arcpat.cfg
             ln -s /ips/etc/arcroute.cfg /etc/arcroute.cfg

Configuration


Boot up Programs

Create a /ips/ixos/mountviews script, with the following line,
       mount -o port=4027,soft,vers=2 localhost:/ips/ixos/view_pc /cdrom

Create a /etc/rc.local script, with the following lines,
       /ips/ixos/cdnfsd
       /ips/ixos/mountviews
       /ips/bin/arcpat.boot
       /usr/HTTPServer/bin/apachectl start
/ips/ixos/cdnfsd     Starts the SmartStorage jukeman server and client software.
/ips/ixos/mountviews     NFS-mounts the iXOS "views" at /cdrom and /ips/ixos/show_rr.
/ips/bin/arcpat.boot     Runs arcroute.sh as the user ID ipsrun, which starts the MQ Series and the IPS image server code.
/ips/bin/apachectl start     Starts IBM's Apache web server.

Mark these two scripts executable and call /etc/rc.local from /etc/inittab. For example,
       chmod +x /ips/ixos/mountviews /etc/rc.local
       mkitab "local:2:once:/etc/rc.local > /dev/console 2>&1 # Start Image Server Software"




Appendix A: arcpat.cfg Configuration Options

The following table show all the configuration options can be found in the arcpat configuration file arcpat.cfg :
Arcpat Product
Parameter Description Default
Product agent
arcpat.rootdir Base directory. Directory names that are not fully qualified (e.g. do not start with "/") will be prefixed with the value of rootdir. For example, if arcpat.rootdir=/ips and arcpat.msgfile=msgs/patusen.msg then msgfile would be returned as /ips/msgs/patusen.msg /ips
arcpat.name Product name arcpat
arcpat.desc Description Delphion IPSfDB2 - Image Delivery System - Product agent
arcpat.inidir Directory containing the arcpat.cfg configuration file. Value of rootdir will be prefixed if the directory name if not fully qualified. etc
arcpat.logjobs If "on", job logging will be done for each job. The logs will be saved in the directory specified by arcpat.logdir. The file name is jobXXXX.log where XXXX is the job sequence number.
If any other value, then no job log files will be created.
on
arcpat.logdir Log files directory. Value of rootdir will be prefixed if the directory name if not fully qualified logs
arcpat.autostart Specify whether the router will start the agents or not. on
arcpat.autostart_wait Specify the time in seconds for the router to start an agent before giving up 60
arcpat.owner Product owners - a list of e-mail addresses yourname@your.company.com
arcpat.admins Product administrators - a list of e-mail addresses yourname@your.company.com
arcpat.msgfile Product agent message file msgs/patusen.msg
arcpat.errmsgfile Shared error message file msgs/paterror.msg
arcpat.jukeparmfile Jukebox parameter file etc/jukebox.parm
arcpat.idxfileslist Index list file etc/idxfiles.lst
arcpat.idxfilesdir Directory where index files are located etc
arcpat.cache1dir Local (non-shared) cache directory /cache1
arcpat.expressIO Specify a class for express IO agent X
arcpat.agent# List of agents instances to be started up when router starts. These lists describe the patprod, patio, patdlv, and patnfy agents. Throughout this whole configuration file, # must be unique, in order, and with no gaps in its numbering.
Note that at a minimum, the "JUKEBOX" in the patio commands, need to be changed to the names of the jukeboxes you have on this image server.
arcpat.agent1=patprod1:%rootdir/bin/patprod -n patprod1 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>/dev/null &
arcpat.agent2=patprod2:%rootdir/bin/patprod -n patprod2 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>/dev/null &
arcpat.agent3=patio1:%rootdir/bin/patio  -n patio1 -p %rootdir/etc/arcpat.cfg -j JUKEBOX 1>/dev/null 2>&1&
arcpat.agent4=patio2:%rootdir/bin/patio  -n patio2 -p %rootdir/etc/arcpat.cfg -j JUKEBOX 1>/dev/null 2>&1&
arcpat.agent5=patdlv1:%rootdir/bin/patdlv -n patdlv1 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>&1 &
arcpat.agent6=patdlv2:%rootdir/bin/patdlv -n patdlv2 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>&1 &
arcpat.agent7=patnfy1:%rootdir/bin/patnfy -n patnfy1 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>&1 &
arcpat.agent8=patnfy2:%rootdir/bin/patnfy -n patnfy2 -p %rootdir/etc/arcpat.cfg 1>/dev/null 2>&1 &
IO agent
patio.rootdir Base directory. Directory names that are not fully qualified (e.g. do not start with "/") will be prefixed with the value of rootdir. /ips
patio.name Agent name patio
patio.desc Agent description Delphion IPSfDB2 - Image Delivery System - IO agent
patio.owner Agent owners - a list of e-mail addresses yourname@your.company.com
patio.admin Agent administrators - a list of e-mail addresses. yourname@your.company.com
patio.msgfile IO agent message file msgs/piousen.msg
patio.cdmountbase CDs root mount point /cdrom
patio.jukeparmfile Jukebox parameter file etc/jukebox.parm
patio.cache1dir Local cache directory /cache1
patio.precache Number of image pre-cached 0
patio.tmpdir Temporary work directory tmp
patio.fwddir Directory where jobs is saved for later resubmission when submission to another server fails outbound
patio.expressIO Specify a class for exporess IO agent X
patio.expressDLV Specify a class for exporess delivery agent U
patio.jukedriver Jukebox driver
ixos/SmartStorage Jukeman driver
ixos
patdlv.rootdir Base directory. Directory names that are not fully qualified (e.g. do not start with "/") will be prefixed with the value of rootdir. /ips
Delivery agent
patdlv.name Agent name
patdlv.desc Agent description
patdlv.owner Agent owners - a list of e-mail addresses yourname@your.company.com
patdlv.admin Agent administrators - a list of e-mail addresses. yourname@your.company.com
patdlv.msgfile Delivery agent message file msgs/pdlusen.msg
patdlv.errmsgfile Shared error message file msgs/paterror.ms
patdlv.cache1dir Local cache directory /cache1
patdlv.tmpdir Temperory work directory tmp
patdlv.covername Default name on the fax/printer cover sheet
patdlv.fax_cover_file Default fax cover sheet soure file etc/faxcoveribm.ps
patdlv.fax_cover_fileIBM
patdlv.fax_cover_fileOPTI Special fax cover sheet source files. The code follows "fax_cover_file" decides which cover sheet will be used. The code can be specified with the patreq -C argument For example:
patdlv.fax_cover_fileIBM=etc/faxcoveribm.ps
patdlv.pagesize Default fax page size letter
patdlv.expressDLV Specify a class for exporess delivery agent U
patdlv.faxqueues Specify one of more fax queues
patdlv.hostqueue Specify one of more VM print queues
patdlv.dlvcgi Specify the cgi on the web server to receive data /cgi-bin/dlvcgi
Notify agent
patnfy.rootdir Base directory. Directory names that are not fully qualified (e.g. do not start with "/") will be prefixed with the value of rootdir. /ips
patnfy.name Agent name patnfy
patnfy.desc Agent description
patnfy.owner Agent owners - a list of e-mail addresses yourname@your.company.com
patnfy.admins Agent administrators - a list of e-mail addresses. yourname@your.company.com
patnfy.msgfile Notify agent message file msgs/patnfyus.msg
patnfy.msgerr Shared error message file msgs/paterror.msg
patnfy.txtsend File contains notification message etc/patsend.txt
patnfy.txtsign File contains notification message signature etc/patsign.txt
patnfy.logdir Log files location logs
patnfy.faxstatus_q_mgr Fax status reporting hook: MQ queue manager name
patnfy.faxstatus_q_command Fax status reporting hook: MQ client to update status bin/fxupdateC.sh


Appendix B: List of Files

bin/CacheFpPut Cache utility for caching first page
bin/CacheGet Cache utility for obtaining cache file from shared cache
bin/CachePut Cache utility for saving cache file to shared cache
bin/CacheQuery Cache utility for obtaining cache file name from shared cache
bin/EPfetchfirstpage.sh Retrieve the first page from documnets in Espace A/B disc to first page cache
bin/PCTfetchfirstpage.sh Retrieve the first page from documnets in Espace IBM made PCT disc to first page cache
bin/USfetchpage.sh Retrieve the first page from documnets in Optipat US disc to first page cache
bin/arcpat.boot Code to start up MQ and image server code with specified user ID. To be placed in /etc/inittab
bin/arcroute.sh Code to start up MQ and image server code.
bin/browseidx Image server index browser.
bin/cachemgr Image server cache clean up utility.
bin/cleandir Image server directory clean up utility.
bin/dlvcgi Delivery web agent.
bin/fixbinidx Utility to fix corrupted binary index.
bin/fixdiridx Utility to fix corrupted direct index.
(OBSOLETE)bin/fxserv.boot (OBSOLETE)Code to start up fxservr code with specified user ID. To be placed in /etc/inittab.
(OBSOLETE)bin/fxserv.sh (OBSOLETE)Code to start up fxservr code
bin/httpd.boot Start up icss. To be placed in /etc/inittab.
bin/irm_jpo.sh JP image convertor
bin/ixos.boot Code to start up jukeman. To be placed in /etc/inittab.
bin/mtiftotif.sh tif file convertor.
bin/patbuild Index builder.
bin/patdlv Delivery agent for image delivery.
bin/patfwd Forward agent.
bin/patia-fcgi Fastcgi input agent.
bin/patio IO agent for image fetching.
bin/patnfy Notify agent.
bin/patprod Product agent for index searching.
bin/patrefsh Refresh agent for on-line index update.
bin/patreq Request agent.
bin/patrmdisc For remove disc from index files
bin/s40totif.sh Image convertor
bin/smx_putmisc Utility for installation
bin/smx_putparm Utility for installation
lib/libpatdiscs.a Disc handler library
lib/mod_fastcgi.so.4.ibmhttpd.1336 Fastcgi DSO module for IBM HTTPD 1.3.x
etc/Patent_Cover.ps Sample cover page.
etc/arcpat.cfg Image server configuration file.
etc/faxcoveribm.ps Sample fax cover page.
etc/faxcoveropti.ps Sample fax cover page.
etc/httpd.conf.4.ibmhttpd.1336 Sample httpd configuration file for IBM HTTP server 1.3.x
etc/httpd.conf.4.icss Sample httpd configuration file for icss.
etc/ics_fcgi.conf.4.icss Sample fastcgi configuration file for icss.
etc/nipoprint.ps Sample nipo printer cover page
etc/patsend.txt Message head on notification mail.
etc/patsign.txt Trailing message on notification mail
msgs/paterror.msg Image server code message file.
msgs/patnfyus.msg Notify agent message file.
msgs/patusen.msg Product agent message file.
msgs/pdlusen.msg Delivery agent message file.
msgs/piousen.msg IO agent message file.
docs/nipoimg.html Document for NIPO
docs/patnfyus.html Return code table
docs/patusen.html Return code table
docs/pdlusen.html Delivery agent message lookup
docs/piousen.html IO agent message lookup
docs/imgservV4.html This document.


Appendix C: Useful Jukeman Commands and Tips

Start SmartStorage Jukeman driver
Use this command to start the SmartStorage jukeman driver :
       /ips/ixos/cdnfsd &

Mount SmartStorage cdrom disc
Use this command to mount the SmartStorage driver view /ips/ixos/view_pc to the directory, /cdrom :
       mount -o port=4027,timeo=99,retrans=14,soft localhost:/ips/ixos/view_pc /cdrom


Attach device Use this command to attach a device you had defined (the device file)
       /ips/ixos/cdadm attach device

Detach device
Use this command to detach a device you had defined (the device file)
       /ips/ixos/cdadm detach device

Test cd
Use this command to scan and read cd volume label
       /ips/ixos/cdadm testcd device [list]

Insert CD
Use this command to insert CD to jukebox
       /ips/ixos/cdadm insert device [list]

Remove
Use this command to remove CD from jukebox
       /ips/ixos/cdadm remove device [list]

Rename volume label
Use this command to rename volume label
       /ips/ixos/cdadm rename -from old new

Stop jukeman
Use this command to stop jukeman
       /ips/ixos/cdadm byebye

Show attached devices
Use this command to list attached devices
       /ips/ixos/cdadm survey -d +d

Show CD labels
Use this command to list slot number and CD labels for all attached devices
       /ips/ixos/cdadm survey -s +sp
Use this command to list slot number and CD labels for a attached device
       /ips/ixos/cdadm survey -s +sp d=device.dev
Use this command to list slot number and CD labels for all attached devices
       /ips/ixos/cdadm survey -s +p
Use this command to list slot number and CD labels for a attached device
       /ips/ixos/cdadm survey -s +p d=device.dev

Disable bad drive

  1. You must first identify the device,the SCSI BUS adn SISI ID for the drive you want to disable.
  2. Edit the device file
  3. Add a "!" after the "=" sign on the line that specifies the drive you want to disable For example:
           drive=/dev/iXOS_SCSI3/3 ===> drive=!/dev/iXOS_SCSI3/3
  4. Detach the device
  5. Attach the device again

Appendix D: Uninstalling MQ Series

WARNING:

If you already have MQSeries for AIX installed, you must halt all MQSeries activity on the target machine and remove any shared resources that MQSeries uses, before installing or removing MQSeries, or rejecting updates to MQSeries for AIX. To do this,

  1. Log on as root.
  2. Remove the entry from /etc/inittab that starts the MQ Series.
           rmitab /etc/rc.local
  3. Reboot the system.
           shutdown -Fr
  4. Log on as root again.
  5. Delete old queue manager. (Our queue manager naming convension is servername.queue.manager)
           dltmqm Queue.Manager.Name
  6. Uninstall MQ Series
           installp -u mqm