Skip to content


Repository files navigation


Interchange is a web application server, electronic catalog and database display system.

Features include:

  • online ordering
  • real-time payment processing integration
  • high-level database access and retrieval with SQL support
  • product categorizing, merchandising, and discounting
  • basic customer relationship management
  • dynamic content presentation
  • content management
  • internationalization and localization support
  • real-time tax and shipping hooks
  • reporting
  • web-based administration


Licensed under GPLv2. This program is offered without warranty of any kind. See file LICENSE for redistribution terms.

Copyright © 2002-2021 Interchange Development Group
Copyright © 1996-2002 Red Hat, Inc.
Originally based on Vend 0.2 and 0.3, copyright 1995-96 by Andrew M. Wilcox.


More information is in the following files:


Notes on using Interchange when installed from RPM packages.


Notes on using Interchange when installed from Debian packages.

How to track ongoing development of Interchange.


Changes per specified version family.


Instructions on how to upgrade from an earlier Interchange version.

A documentation package is available, with documentation in many different formats. This and other information is available at the Interchange home on the web:

Repository layout

Major files and directories in the distribution:


Script to create a Makefile, used for installation. Run ./configure for usage instructions.


The distribution files, exclusive of executable files and modules. Includes:

  • code/ - Usertags and other customizable code
  • interchange.cfg.dist - Distribution-default interchange.cfg
  • lib/ - Back-end administrative interface
  • src/ - C and Perl code for CGI link programs
  • strap/ - Demo catalog skeleton, used by makecat


Various helper scripts and addons.

OS-specific configuration settings.


The library modules needed to run Interchange.

Script that adjusts paths in scripts/ for installation into bin/.


The executable files, relocated to bin/ in the install directory.

The installation test script.


Interchange requires Perl 5.16.3 or later, on a Unix-like operating system. It is primarily used on various Linux distributions, and has also been used on FreeBSD, OpenBSD, macOS, and other Unix variants.

Interchange requires some extra Perl modules to be installed on your system. Unless you are installing from distribution-specific packages (Red Hat, Debian, etc.) the quick way to install the necessary support is to run from the untarred Interchange directory:

cpanm --installdeps .

Alternatively, you can run:

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

If you would like to use a specific installation of Perl, invoke Perl with an absolute path to the perl binary, such as

/usr/local/bin/perl -MCPAN -e 'install Bundle::Interchange'


You can install Interchange as root for a multi-user system-wide setup, or as an unprivileged user who will be the only one modifying Interchange files.

Here is the quick installation summary:

tar xvzf interchange-5.12.0.tar.gz
cd interchange-5.12.0
perl Makefile.PL
make test
make install

If you would like to use a specific version of Perl, simply invoke with an absolute path to the perl binary, such as:

/usr/local/bin/perl Makefile.PL

The build procedure asks where you’d like to install Interchange and the name of the user account that will own the installation.

The Interchange server doesn’t do much if it isn’t servicing one or more actual catalogs, so you next need to make your first Interchange catalog, as described in the next section.

Demo catalog

There is a demo catalog skeleton called strap included.

To build your own catalog from the demo, go to the directory where you installed Interchange (default is "interchange" in your home directory, /usr/local/interchange for root installations, or /usr/lib/interchange for RPM installations) and run:


Follow the prompts and after restarting the Interchange server you should be able to access the new instance of the demo catalog.

Please note that some functionality (notably the reporting features) may not be available if you are not using an SQL database such as MySQL, PostgreSQL, or SQLite.

Try a live demo at: