[ic] Interchange: CGI internal errors!

Scott Fletcher interchange-users@lists.akopia.com
Tue Jul 3 11:25:01 2001


Hi!

	I'm not sure what is wrong.  I thought it had to with the incorrect
data when creating the catalog but that doesn't seem to be the case.  I have
install the Interchange and created the Catalog for the first time and
that's an achievement.  I'm a Interchange newbie!  Not Linux/UNIX newbie!

	Now that I have the website set up with everything in it.  I'm using
the construct demo this time.  There is front page and images and
hyperlinks, etc.  When I click on the hyperlink, it directed me to a
different pages and then the internal error show up.  I do not know what is
wrong.  But I noticed the hyperlink isn't correctly generated by
Interchange.  It said,
"http://intertest.abcoa.net/cgi-bin/example2.cgi/index.html" for the
customer and
"http://intertest.abcoa.net/cgi-bin/example2.cgi/admin/index.html" for the
admin.  But the "http://intertest.abcoa.net/example2/index.html" showed up
okay as a front page.

	I do know that the link is all wrong.  Can anyone show me what I
need to correct this?  How about your example of the makecat script
regarding the file paths and URL path, etc.  Here's mine down below!  I have
highlighted part of it in bold.  If the script seem okay, then feel free to
check the rest of the script.  Perhap the problem can be found somewhere!

Thanks,
 Scott

-------------------------------------------------
-=root@linuxdev
-=/usr/local/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.

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

Can't ioctl TIOCGETP: Invalid argument
Consider installing Term::ReadKey from CPAN site nearby
        at http://www.perl.com/CPAN
Or use
        perl -MCPAN -e shell
to reach CPAN. Falling back to 'stty'.
        If you do not want to see this warning, set PERL_READLINE_NOWARN
in your environment.
Catalog name? example2
makecat -- Interchange catalog installation program.

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

If you are using the Apache or NCSA web server, Interchange can set
some of the default parameters for you by reading the file.

If you use the Netscape Enterprise server or other non-NCSA HTTP server,
enter 'none' -- the information, if any, will not be useful.


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.

Enter path to httpd.conf file: /usr/local/apache/conf/httpd.conf       
######### 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? intertest.abcoa.net

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


DemoType? construct

# 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? u

# 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? interch

# 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.
# 


InterchangeGroup? interch

# 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? webmaster@abcoa.com

# 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? /home/interchange/catalogs/example2

# 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? /home/interchange/www/cgi-bin

# 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-bin/example2.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? /example2

# 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? /home/interchange/www

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


SampleHtml? /home/interchange/www/example2

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


ImageDir? /home/interchange/www/example2/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="/construct/images/icon.gif">
#                   ^^^^^^^^^^^^^^^^^
#


ImageUrl? /example2/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
Couldn't change to source directory: No such file or directory
        Couldn't find the executable file 'vlink'.

        Please give the complete path to the link program.

Link program? /usr/local/interchange/src/vlink.pl
Checking directories........................................
/home/interchange/catalogs/example2: directory exists!

/home/interchange/www/example2: directory exists!
The above directories already exist. Overwrite files? y
done.
Copying demo files..........................................found more to
ask.

Your company name: ...............................Construct Something

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, or Oracle: ..

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: .....test       
Administrative password: .........................test

Found system commands to run.

done.
Moving link, /home/interchange/www/cgi-bin/example2.cgi exists, overwrite?
..y
done.
Copying share/ files to /home/interchange...................done.
Moving HTML files to /home/interchange/www/example2.........done.
Moving image files to /home/interchange/www/example2/images..done.

Found additional system commands to run.

To enable image upload feature, you need to make a symbolic
link of the image base directory into your catalog directory.

xample2/images /home/interchange/catalogs/example2"? y
Add catalog to interchange.cfg? y
Add catalog to server running on PID 20438? y

Deleting old configuration example2.

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://intertest.abcoa.net/example2

In any case, you should get direct access at:

        http://intertest.abcoa.net/cgi-bin/example2.cgi

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

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

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