[ic] 4.8.5 makecat error

John Beima interchange-users@icdevgroup.org
Sun Aug 25 15:07:01 2002


Quoting Mark Jaffe <wizards@wizdev.net>:

> On 8/25/02 10:40, "John Beima" <jbeima@palb.com> wrote:
> 
> > Quoting Mark Jaffe <wizards@wizdev.net>:
> > 
> >> 
> >> Very frustrating situation; I have NEVER been able to make a functioning
> >> catalog. This morning, I thought I'd try once more, operating makecat
> under
> >> the interchange user, on behalf of the user who will own the catalog.
> >> Following transcript of the session reveals an error I cannot
> understand;
> >> there is a reference to a directory which does not relate to ANY of the
> >> input parameters:
> >> 
> >> [interchange@wizdev interchange]$ 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? artists
> >> makecat -- Interchange catalog installation program.
> >> 
> >> *** We will be making a catalog named 'artists'. ***
> >> 
> >> 
> >> 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.geminimanor.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 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? alex
> >> 
> >> # 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/alex/catalogs/artists
> >> 
> >> # 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/httpd/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/artists
> >> 
> >> #
> >> # 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? /artists
> >> 
> >> # 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? /usr2/sites/Gemini
> >> 
> >> # Where the sample HTML files (not Interchange pages) should be
> installed.
> >> # There is a difference. Usually a subdirectory of your HTML directory.
> >> #
> >> 
> >> 
> >> SampleHtml? /usr2/sites/Gemini/artists
> >> 
> >> # Where the image files should be copied. A directory path
> >> # name, not a URL.
> >> #
> >> 
> >> 
> >> ImageDir? /usr2/sites/Gemini/artists/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? /artists/images
> >> Couldn't change directory to /home/httpd/interchange: No such file or
> >> directory
> > 
> > Actually Mark I see a couple of things here.
> > 
> > First your CatRoot answer is wrong.
> > 
> > It should of been:
> > 
> > /home/alex/catalogs
> > 
> > It will create the artists folder for you. The idea behind this variable
> is
> > that
> > many catalogs can be housed in the same directory.
> > 
> > Next for simplicity sake the DocumentRoot and SampleHtml paths should be
> the
> > same.
> > 
> > /usr2/sites/Gemini
> > 
> > You don't have to worry to much about the sample HTML since foundation
> really
> > doesn't use it anyway.
> > 
> > The next one has to do with how you are doing http & https....
> > 
> > If you secure server domain (IE: https://www.geminimanor.com) is going to
> be
> > the
> > same as your non-secure domain (IE: http://www.geminimanor.com) then the
> > ImageDir variable should just be set to:
> > 
> > /images
> > 
> > If your domains we different you add the extra path at the begining, to
> allow
> > for you to sym-link the directory over from the other ssl server.
> > 
> > Now onto your access error. The first time you ran makecat it asked you a
> > bunch
> > of "extra" questions. If you have answered these incorrectly they will
> haunt
> > you
> > later on.
> > 
> > OR...
> > 
> > Is this where you have installed the actuall Interchange software. If it
> is,
> > the
> > interchange user doesn't have permission to access it.
> > 
> > I would first look at the permission of what that user has access to,
> then
> > erase
> > your install, and re-install it, answering the questions with what you
> have
> > learned, since that first day.
> > 
> > 
> > 
> > John Beima
> 
> John,
> 
> Thanks for the quick response!
> 
> In regards to your comment about CatRoot, the /home/alex/catalog/artists
> was
> provided as a prompt by the makecat script; I had no idea this would be
> wrong, and how could I have known? This sounds like an error in makecat, by
> providing an incorrect suggestion.
> 
> I have no trail of previous installation commands, so I would not know what
> the "extra" question/responses should be.
> 
> What should be the right way to start over? My initial installation of
> interchange was done as root, maybe that should be done as user
> interchange?
> 
> My server also does not have any certificates, so I won't be able to use
> SSL
> connections. Certificates are expensive, my client who will be doing sales
> is on a very tight budget, as am I. Any suggestions for this situation?

Actually Mark, I was reading something else at the same time I was answering
your question. The CatRoot is derived from where it thinks you are placiong all
your catalogs with the catalog name appended to it. So now that I have had
coffee and am looking back at it, it looks corrent... Sorry about that. Got to
stop answering questions before my trip to Starbucks!

Anyways you can take several approaches to the install...

First you have to deciude if you want to run one copy of Interchange on your box
with catalogs for each clients, but sharing the server. This is how we set it up.

Second you can setup a copy for each user. Since you are using vlink and not
tlink it is very easy to let each client have their own copy.

Now what I normally do, when I install it, is I untar the source into
/usr/src/interchange-4.X.X... Then I run configure and install the software into
/usr/local/interchange-4.X.X... Then I sym-link /usr/local/interchange-4.X.X to
/usr/local/interchange. This way you can run different versions of Interchange
for testing purposes. Just to make sure upgrades don't break things... Which
does and can happen, to any one that treats the code as the documentation.

You do the sym-link so you can write yourself an init.d script to start and stop
the server. You just then move the sym-link to the server directory you are
currently using as a live server.

After I do the install, I copy the interchange.cfg.dist file to interchange.cfg.
Then I change the ownership of the entire interchange folder and all sub-folders
to my interchange user.

This way I can do just what you did. Login as interchange and run the makecat
script. The only three other permissions you have to be aware of, is the
interchange user must be able to write to the html folder, the cgi-bin, and the
catalog root folder. I normally just add Interchange to the group of those
users. Also give a seperate cgi-bin to each of your sites. One added level of
security.

After that you should be on your way. My guess now that I look back at it, is
you have a permissions problem.

I would also name your catalogs a little catalog specific. Like "gemini" instead
of artist. This way when you see reference to that catalog you know exactly what
domain it belongs to.

Also make sure you have installed all the required CPAN modules first, BEFORE
you do the initial install of Interchange. It will just make your life easier.

Sorry about the mistake before... I need to bat it into my hgead to drink more
coffee! (-:



> Mark
> ==========================================================
> Mark Jaffe          | (408) 972-9638 (home)
> Chief Wizard        | (408) 807-1530 (cell/page/voicemail)
> Computer Wizards    | (425) 795-6421 (FAX)
> wizards@wizdev.net  | http://www.wizdev.net/
> 
> 
> _______________________________________________
> interchange-users mailing list
> interchange-users@icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users
>