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

 Interchange RPM packages for Red Hat Linux and compatible operating systems

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

The Interchange RPM packages integrate Interchange with a Red Hat Linux
or compatible operating system. Files are installed in the usual Linux
Standard Base locations:

Interchange base: /usr/lib/interchange.

Executables: /usr/lib/interchange/bin.

Configuration: The global Interchange configuration file is
/etc/interchange.cfg. It is only writable by root.

Data: Catalog directories are located by default in /var/lib/interchange.

Invocation: Invocation is the normal /etc/rc.d/init.d startup method.
Interchange installs to be active in run levels 3, 4, and 5; to be killed
in all.

Logs: Logs go in /var/log/interchange. The subdirectory is needed to
allow the Interchange user ID to write/create files. A configuration file
is added to /etc/logrotate.d to do log rotation.

Run: Run files go in /var/run/interchange. This includes the UNIX-domain
socket and catalog status files. The subdirectory is needed to allow
the Interchange user ID to write/create files.

Sessions and temporary files: /var/cache/interchange.

Documentation: /usr/share/doc/interchange-5.4.1.

On a dedicated production server, it is wise to segregate as many of these
directories as possible onto their own partitions, to prevent problems if
one partition runs out of inodes or disk space, or you have a disk failure.


DEPENDENCIES

Interchange requires many Perl modules from CPAN. Many of these do not
usually come supplied with your operating system, so you will need to
install them yourself. It's best to locate RPMs for each of the needed
Perl modules and install them. To get a complete list of dependencies, do:

rpm -qp --requires interchange-5.4.1-1.i386.rpm

Note that some of the dependencies are not actually necessary. For example,
the Cybercash modules (CCMck*) are only needed if you use the Cybercash
payment gateway, which is now rare. The Apache::* modules are only needed
if you use the mod_perl-native server option, which is also very rare. DBI
is only needed if you're going to use an SQL database. But that's quite
common.

Unfortunately, there's not currently a reliable, steady source of the latest
CPAN modules in RPM format for most operating systems. Thus the easiest way
to install them is to use CPAN to build the modules from source. First set
up CPAN and install its auxiliary modules:

perl -MCPAN -e'install Bundle::CPAN'

Then install the main modules Interchange uses:

perl -MCPAN -e'install Bundle::Interchange'

Instead you may want to install a bundle that includes many optional but
useful modules:

perl -MCPAN -e'install Bundle::InterchangeKitchenSink'


PERL BUILD

As of the date of this writing, there are problems using Interchange with
a threaded Perl, so you must have or install an unthreaded Perl build.
The RPMs built for Red Hat Linux 8.0, 9, Fedora Core, and Red Hat Enterprise
Linux 3.0 all assume you'll be using a custom Perl build in /usr/local.
This is unfortunate but is considered the best workaround at the moment.


INSTALL

rpm -Uvh interchange-5.4.1-1.i386.rpm
rpm -Uvh interchange-standard-5.4.1-1.i386.rpm

Your version of RPM may correctly recognize Perl modules even if they
were not installed via RPM. But it may not. If not, you'll need to install
the main interchange package without dependency checking:

rpm -Uvh --nodeps interchange-5.4.1-1.i386.rpm


STARTING/RESTARTING INTERCHANGE

Interchange, as installed from the RPM, needs a special invocation from
/usr/sbin/interchange. This is because the locations of configuration,
run, and log files differ from the places Interchange has traditionally
expected them.

As either the 'interch' user or the root user you should start or restart
interchange with this command:

/usr/sbin/interchange -r

NOTE: Contrary to other documentation, you SHOULD NOT use 'bin/restart'
or directly call 'bin/interchange' to start or restart Interchange when
you use the RPM installation.


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

                       Live Demo Catalog in RPM Format

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

There is a separate RPM that provides a live demonstration catalog called
'standard', which you may optionally use to quickly try out Interchange.
It should not be used as a basis for a real catalog; instead build
your own with the makecat tool in '/usr/lib/interchange/bin/makecat',
as described in the documentation. Do not confuse the 'standard' live demo
with the 'standard' catalog skeleton from which you are encouraged to build
your own catalog.


APACHE ASSUMPTIONS

The standard-demo RPM relies upon the following things in the Apache
installation:

-- Standard document root and CGI binary locations:

   DocumentRoot /var/www/html
   ScriptAlias  /cgi-bin/ /var/www/cgi-bin/

-- ServerName must be the same as what is revealed by `hostname` when
   the standard RPM is installed. If it is not, temporarily change the
   hostname with a command like 'hostname new.host.name' and then install
   the standard-demo RPM. Afterwards you can change the hostname back
   to normal.

-- suEXEC not enabled. If you have suEXEC enabled, you are responsible
   for changing permissions and running parameters appropriately. You
   can typically disable suEXEC by running `chmod u-s /usr/bin/suexec'.
   If you want to continue to use suEXEC, you will have to compile the
   appropriate INET mode link program and use it instead of vlink.


INSTALL

rpm -Uvh interchange-standard-demo-5.4.1-1.i386.rpm


USING THE DEMO

Once installed, you should be able to access the demo catalog like this
(using your own hostname, of course):

http://hostname/standard/

The initial administrative user name is "interch", and the password is
"pass". Change the password as soon as possible.


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

                              More information

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

http://www.icdevgroup.org/ has complete documentation, user mailing
list information, and other resources.
