[ic] Interchange install problem

Stephanie Smith interchange-users@interchange.redhat.com
Mon Mar 11 20:02:24 2002


Hello,

I've just downloaded and installed interchange (from rpm), and have been
having the most frustrating luck with the makecat script. I'm sure the
problem is something ridiculously simple and obvious, which is why I'm not
seeing it. Any assistance (or a boot to the head ;) would be much
appreciated.

First off, I have installed

	interchange-4.8.3-1.noarch.rpm
	interchange-foundation-4.8.3-1.noarch.rpm
	interchange-foundation-demo-4.8.3-1.i386.rpm

as well as the various CPAN modules (although the GSG suggests that the
perl modules are also included with the core interchange rpm).

Then, as root, I ran the makecat script, as follows:

[root@cadence interchange]# ./bin/makecat

Select a short, mnemonic name for the catalog. This will be
used to set the defaults for naming the catalog, executable,
and directory, so you will have to type in this name frequently.

NOTE: This will be the name of 'vlink' or 'tlink', the link CGI
program. Depending on your CGI setup, it may also have the
extension .cgi added.

Only the characters [-a-zA-Z0-9_] are allowed, and it is strongly
suggested
that the catalog name be all lower case.

If you are doing the demo for the first time, you might use "foundation".

Catalog name? ebishi
makecat -- Interchange catalog installation program.

*** We will be making a catalog named 'ebishi'. ***


Try using the UP arrow at some of the prompts -- you have the
Term::ReadLine module installed, and Interchange may find some
default values in your HTTP server configuration file.  You can
cycle among them with the UP and DOWN arrows.

######### BEGINNING CATALOG CONFIGURATION #########

During many of the following operations, defaults are placed in
a buffer for you. You may use the up and down arrows to toggle
between the defaults.

If you made a mistake on a *previous* entry and realize that
in a later one, if you enter ONLY an @ sign and press return you
should be returned to the previous step.

# The server name, something like: www.company.com
#                                  www.company.com:8000
#                                  www.company.com/~yourname
#
Server name? www.ebishi.com

# The type of demo catalog to use. The standard one distributed is:
#
#    foundation
#
# If you have defined your own custom template catalog,
# you can enter its name.
#
# If you are new to Interchange, use "foundation" to start with.


DemoType? foundation

# The type of permission structure for multiple user catalogs.
# Select M for each user in own group (with interchange user in group)
#        G for all users in group of interchange user
#        U for all catalogs owned by interchange user (must be catuser as
well)
#
#        M is recommended, G works for most installations.


permtype? M

# The user name the Interchange server runs under on this machine. This
# should not be the same as the user that runs the HTTP server (i.e.
# NOT nobody).
#


InterchangeUser? interch

#
# The user name the catalog will be owned by.
#


CatUser? ebishi

# The group name the server-owned files should be set to.  This is
# only important if Interchange catalogs will be owned by multiple users
# and the group to be used is not the default for the catalog user.
#
# Normally this is left blank unless G mode was selected above.
#


InterchangeGroup?

# The email address where orders for this catalog should go.
# To have a secure catalog, either this should be a local user name and
# not go over the Internet -- or use the PGP option.
#


MailOrderTo? ebishi

# Where the Interchange files for this catalog will go, pages,
# products, config and all.  This should not be in HTML document
# space! Usually a 'catalogs' directory below your home directory
# works well. Remember, you will want a test catalog and an online
# catalog.
#


CatRoot? /afs/home/ebishi/catalogs

# The location of the normal CGI directory. This is a
# file path, not a script alias.
#
# If all of your CGI programs must end in .cgi, this is
# should be the same as your HTML directory.
#


CgiDir? /afs/home/ebishi/public_html/cgi

# The URL location of the CGI program, without the http://
# or server name.
#
# http://www.virtual.com/cgi-bin/prog
#                       ^^^^^^^^^^^^^
#
# http://www.virtual.com/program.cgi
#                       ^^^^^^^^^^^^
#


CgiUrl? /cgi

#
# Additional URL locations for the CGI program, as with CgiUrl.
# This is used when calling the catalog from more than one place,
# perhaps because your secure server is not the same name as the
# non-secure one.
#
# http://www.secure.domain/secure-bin/prog
#                         ^^^^^^^^^^^^^^^^
#
# We set it to the name of the catalog by default to enable the
# internal HTTP server.
#


Aliases? /ebishi

# The base directory for HTML for this (possibly virtual) domain.
# This is a directory path name, not a URL -- it is your HTML
# directory.
#


DocumentRoot? /afs/home/ebishi/public_html

# Where the sample HTML files (not Interchange pages) should be installed.
# There is a difference. Usually a subdirectory of your HTML directory.
#


SampleHtml? /afs/home/ebishi/public_html/interchange

# Where the image files should be copied. A directory path
# name, not a URL.
#


ImageDir? /afs/home/ebishi/public_html/interchange/images

# The URL base for the sample images. Sets the ImageDir
# directive in the catalog configuration file. This is a URL
# fragment, not a directory or file name.
#
#         <IMG SRC="/foundation/images/icon.gif">
#                   ^^^^^^^^^^^^^^^^^^
#


ImageUrl? /interchange/images

Interchange can use either UNIX- or internet-domain sockets.
Most ISPs would prefer UNIX mode, and it is more secure.

If you already have a program there, or use a common program
and the FullURL directive, select NONE. You will then need
to copy the program by hand or otherwise ensure its presence.

(You can use the up/down arrows to toggle).
INET or UNIX mode? UNIX
Do you use CGIWRAP or SUEXEC? n
Checking directories........................................mkdir
/afs/home/ebishi/catalogs
mkdir /afs/home/ebishi/public_html/interchange
mkdir /afs/home/ebishi/public_html/interchange/images
done.
Copying demo files..........................................found more to
ask.

Your company name: ...............................Ebishi

You can choose to pre-populate your Foundation template with some
data which might be illustrative. You can always delete it later
and replace it with your own.

The types are:

    tools      Construct Something, includes products, users, orders
    reports    Marketing reports, downloadable softgoods, products, users
    none       No data. Same as leaving blank.

Sample data type?: ...............................tools

Interchange has a workable internal database, but many things will
work better (and a few worse) if you use a SQL database. Interchange
can configure MySQL, PostgreSQL, and Oracle in a test configuration.

Set to 1 if you want to use MySQL, PostgreSQL, Oracle, or DB2: ..1

You can select this to use MySQL in your test catalog. Careful!
This requires the ability to create a database named "test_foundation",
and is highly dependent on your Perl and MySQL configuration. Don't
be too surprised if this doesn't work.

Set to 1 if you want to use MySQL: ...............1
Database to use (will be created): ...............test_ebishi
DBI DSN to use: ..................................dbi:mysql:test_ebishi
Username for MySQL (if any): .....................XXXXX
Password for MySQL (if any): .....................XXXXX

We can try and use mysqladmin to create the database in
MySQL. In many default MySQL distributions, any user can create
a database beginning with "test".

Use the next option to add parameters. If your MySQL is password-protected
(and you know the password) you may want to add "-u root -p".

Set to 1 to create 'test_ebishi' with mysqladmin: ..1

To create the database you may need to supply a password and
username. To do that, add the option "-u USERNAME -p", where
USERNAME is a MySQL user with permission to create databases.
This is often the user "root".

Extra options for creation: ......................-u root -p XXXXX

You can use Interchange's companion configuration
interface, to do upload/download of files, manipulation of
the database, reconfiguration of the catalog, and much more.

To enable the UI, you will need a "super-user" account
name that has full access.

The initial password is "pass". CHANGE IT! You can do this
by going to the admin menu and selecting the superuser and
then "Change password".

Account name that will control this catalog: .....ebishi
Administrative password: .........................pass
Set to 1 to display demo helper features in your store: ..1

Found system commands to run.

Since you selected the MySQL option, you need to create a database named
"test_ebishi". In a default MySQL configuration, any user may create
and drop and modify test_* databases, but some administrators disable
this.

run "mysqladmin -u root -pXXXXXX create test_ebishi"? y
done.
Moving link program to /afs/home/ebishi/public_html/cgi/cgi..done.
Copying share/ files to /var/www/html.......................done.
Moving HTML files to /afs/home/ebishi/public_html/interchange..done.
Moving image files to
/afs/home/ebishi/public_html/interchange/images..done.

Found additional system commands to run.

We need to make some directories to store sessions, logs, and such.

run "sh /afs/home/ebishi/catalogs/config/makedirs"? y
You can install some sample data to start with in this catalog.
This script will install the sample (tools) you selected.

run "sh /afs/home/ebishi/catalogs/config/installsample"? y
Add catalog to interchange.cfg? y
Add catalog to server running on PID 6825? y

Deleting old configuration ebishi.

Done with installation. If my reading of your input is correct, you
should be able to access the demo catalog with the following URL:

        http://www.ebishi.com/interchange

In any case, you should get direct access at:

        http://www.ebishi.com/cgi

That is, after you START or RESTART the Interchange server.  8-)
It is best done with:

        su -c "/usr/lib/interchange/bin/interchange -r" interch

For session expiration, you might want to place a line like this in your
crontab:

44 4 * * * /usr/lib/interchange/bin/expireall -r

It will prevent the session databases from getting too large.


I then restart the Interchange server, and get the following message:

Killing Interchange server 6825 with TERM.
Low traffic settings.
"mode" is not defined in %Fcntl::EXPORT_TAGS at
/usr/lib/interchange/bin/interchange line 2753
Calling UI......UI is loaded...
Interchange V4.8.3
Configuring catalog ebishi...ebishi config error: Please specify the
VendURL directive in the configuration file ''



ebishi: error in configuration. Skipping.
ebishi: config error. Skipping.
Configuring catalog foundation...Required Perl module Safe::Hole not
present. Aborting catalog.
In line 7 of the configuration file 'catalog.cfg':
Require module Safe::Hole

foundation config error: Required Perl module Safe::Hole not present.
Aborting catalog.
In line 7 of the configuration file 'catalog.cfg':
Require module Safe::Hole




foundation: error in configuration. Skipping.
foundation: config error. Skipping.
Interchange server started in INET and UNIX mode(s) (process id 7420)


First off, Safe::Hole is already installed. I tried reinstalling, just
in case something fluked, but still the same error. Secondly, where
exactly should I be defining VendURL? I see it referenced in
/afs/home/ebishi/catalogs/catalog.cfg but it doesn't look like that's
where I should be hardcoding it.

When I take a look in /afs/home/ebishi/public_html/interchange, all that
is there is the index.html, and an empty images dir. Perhaps these start
of empty by default and this isn't an issue. However,
/afs/home/ebishi/public_html/cgi also remains empty.

I did find an executible, "foundation" which had snuck itself into
/var/www/cgi-bin/, a directory which is not actually being served by
Apache. I don't know if this is part of the problem (and if so, if I
should move it to /afs/home/ebishi/public_html/cgi)

/afs/home/ebishi/catalogs/ does look to be complete. The database
test_ebishi was created, although it remains empty (I presume it gets
populated through cgi sripts at a later point).

If anyone can point out what it is that I'm missing, or offer suggestions
as to where to start troubleshooting this thing, it would be greatly
appreciated.

TIA,

Steph