[ic] problems getting started

Brian Morin brian@brightblade.org
Wed, 28 Feb 2001 00:51:35 -0500


I had a devil of a time with my first installs as well.

I think the line:
'/home/users/mjs/catalogs/construct/products/variable.txt' read/write:
Permission denied

summates the majority of the problems I had. I'm sure I'm going to screw
some of this explanation up, so I hope another developer can catch any of my
mistakes.

Interchange won't install as root, it expects a different username.
('interch' is default). Properly setting up this user is key for a smooth
install. I was running into a lot of problems until I created a brand
spanking new "interchange" account. I did the default interchange install in
"/home/interchange/interchange", vs. "/usr/local/interchange".. Once the
software was installed in the home directory where all the user permissions
were proper, I had zero problems installing the demo catalogs.

As near as I can tell permissions and proper username setups are key to a
successful installation of interchange.

I hope I didn't mangle this explanation too horribly. Good Luck.

-- Brian

----- Original Message -----
From: "Mitchell" <mjs@blitz-technology.net>
To: <interchange-users@lists.akopia.com>
Sent: Wednesday, February 28, 2001 12:36 AM
Subject: [ic] problems getting started


>
> Hi, I'm just installing interchange on my test development box here and
> I'm having a few problems with the demo construct catalog.
>
> Ok a bit of background  onthe system.
>
> It's a Debian GNU Linux system, running kernel 2.4.1, perl-5.6, apache
> 1.3.14.
>
> I am using the pre-packages binaries of interchange from
> ftp.minivend.com.
>
> Ok so first the install, it all goes ok.
>
>
> Script started on Wed Feb 28 15:10:39 2001
> root@lift:~ #apt-get install interchange interchange-cat-so 
> root@lift:~ #apt-get install interchange interchange-cat-s construct
interchange-u
> i
>
> Reading Package Lists... 0%
>
> Reading Package Lists... 0%
>
> Reading Package Lists... 22%
>
> Reading Package Lists... Done
>
> Building Dependency Tree... 0%
>
> Building Dependency Tree... 0%
>
> Building Dependency Tree... 0%
>
> Building Dependency Tree... 50%
>
> Building Dependency Tree... 50%
>
> Building Dependency Tree... Done
> The following NEW packages will be installed:
>   interchange interchange-cat-construct interchange-ui
> 0 packages upgraded, 3 newly installed, 0 to remove and 0  not upgraded.
> Need to get 0B/1597kB of archives. After unpacking 6255kB will be used.
>
>
> Preconfiguring packages ..
> Configuring Interchange
> -----------------------
>
> Unix mode is is the most secure way to run Interchange, for there is  no
way
> for systems on the internet to interact with the Interchange server.
>
>   u. unix mode  i. internet mode  b. both
>
> Start Interchange in Unix mode, Internet mode or both ? [u] u
>
> This determines the user for the interchange server and for file
permissions.
> Please note that using another user has serious security implications.
Don't
> choose root, it is not recommended and will be discarded anyway.
>
> Which is the name of the user to run the interchange server as ?
[interchange] interchange
>
> This determines the group for the interchange server and for file
permissions.
> Please note that using another user has serious security implications.
Don't
> choose root, it is not recommended and will be discarded anyway.
>
> Which is the name of the group to run the interchange server as ?
[interchange] interchange
>
> Selecting previously deselected package interchange.
> (Reading database ... 17766 files and directories currently installed.)
> Unpacking interchange (from .../interchange_4.6.3-1_i386.deb) ...
> Selecting previously deselected package interchange-cat-construct.
> Unpacking interchange-cat-construct (from
.../interchange-cat-construct_4.6.3-1_all.deb) ...
> Selecting previously deselected package interchange-ui.
> Unpacking interchange-ui (from .../interchange-ui_4.6.3-1_all.deb) ...
> Setting up interchange (4.6.3-1) ...
> Starting Interchange Server: Low traffic settings.
> Calling UI....
> ...UI is loaded....
> Interchange V4.6.3
> Interchange server started in UNIX mode(s) (process id 26277)
>
> Setting up interchange-cat-construct (4.6.3-1) ...
>
> Setting up interchange-ui (4.6.3-1) ...
> Restarting Interchange Server: interchange.
> Low traffic settings.
> Calling UI....
> ...UI is loaded....
> Interchange V4.6.3
> Interchange server started in UNIX mode(s) (process id 26294)
>
> Script done on Wed Feb 28 15:14:36 2001
>
>
> So we are fine up to that point.
>
> Now I'll run makecat and set up the demo catalog.
>
> Script started on Wed Feb 28 15:17:36 2001
> root@lift:~ #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".
>
> Catalog name? construct
> makecat -- Interchange catalog installation program.
>
> *** We will be making a catalog named 'construct'. ***
>
>
> 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.
>
>
> This information may not be that useful to you, since you don't
> have the Term::ReadLine module installed. If the default setting
> presented is not correct, you will have to know the information.
> C'est la vie.
>
> Enter path to httpd.conf file: [/etc/apache/httpd.conf]
/etc/apache/httpd.conf
> ######### BEGINNING CATALOG CONFIGURATION #########
> # The server name, something like: www.company.com
> #                                  www.company.com:8000
> #                                  www.company.com/~yourname
> #
> Server name? [duende] lift.warpspeed.net.au
>
> # 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] 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? 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? [interchange] interchange
>
> #
> # The user name the catalog will be owned by.
> #
>
>
> CatUser? mjs
>
> # 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? u 
>
> # 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? [mjs] mjs
>
> # 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/users/mjs/catalogs/construct]
>
> # 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? [/usr/lib/cgi-bin/ic] /var/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? [/construct.cgi] /cgi-bin/construct.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? [/construct]
>
> # 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? [/var/www] /var/www/html
>
> # Where the sample HTML files (not Interchange pages) should be installed.
> # There is a difference. Usually a subdirectory of your HTML directory.
> #
>
>
> SampleHtml? [/var/www/ic] /var/www/html/ic
>
> # Where the image files should be copied. A directory path
> # name, not a URL.
> #
>
>
> ImageDir? [/var/www/html/ic/images] /var/www/html/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? [/construct/images] /images
> Checking directories........................................mkdir
/home/users/mjs/catalogs
> mkdir /home/users/mjs/catalogs/construct
> mkdir /var/www/html/ic
> mkdir /var/www/html/images
> done.
> Copying demo files..........................................found more to
ask.
>
> Your company name: ...............................[Construct Something]
Warpspeed Internet Solutions
>
> 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: .....[interchange]
interchange
> Administrative password: .........................[pass] vkl402j
>
> Found system commands to run.
>
> done.
> Moving link program to /var/www/cgi-bin/construct.cgi.......done.
> Copying share/ files to ....................................
> Error installing share/ files:
> chdir 'share': No such file or directory
>
> Moving HTML files to /var/www/html/ic.......................done.
> Moving image files to /var/www/html/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.
>
> run "ln -s /var/www/html/images /home/users/mjs/catalogs/construct"? [y]
> Add catalog to interchange.cfg? [y]
>
> No catalog previously defined. Adding construct at top.
>
> 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://lift.warpspeed.net.au/ic
>
> In any case, you should get direct access at:
>
> http://lift.warpspeed.net.au/cgi-bin/construct.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" interchange
>
> 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.
>
> Good luck with Interchange!
>
> Script done on Wed Feb 28 15:20:56 2001
>
> The only thign that looks wierd in there is the share files not copying
propally.
>
> Any ideas on this one?
>
> So now if I restart interchange ...
>
> Script started on Wed Feb 28 15:21:31 2001
> root@lift:~ #/etc/ini/etc/init.d/interchange  restart
> Restarting Interchange Server: interchange.
> Low traffic settings.
> Calling UI....
> ...UI is loaded....
> Interchange V4.6.3
> Configuring catalog construct...construct config error: Couldn't open
'/home/users/mjs/catalogs/construct/products/variable.txt' read/write:
Permission denied
>
>
>
> construct: error in configuration. Skipping.
> construct: config error. Skipping.
> Interchange server started in UNIX mode(s) (process id 26421)
>
> Script done on Wed Feb 28 15:22:53 2001
>
> Now that doesn't look good to me at all.
>
> No this file doesn't exist, is makecat meant to generate it
> or should it get copied
> or have I missed some important part in the documentation that tells me
how to make it?
>
>
> Any comments/advice welcome please.
>
>
> Thanks.
>
>
>
> --
> Mitchell Smith
>
> Blitz Technology
>
> mjs@blitz-technology.net
>
>
>
> Computers are not intelligent.  They only think they are.
>
>
> _______________________________________________
> Interchange-users mailing list
> Interchange-users@lists.akopia.com
> http://lists.akopia.com/mailman/listinfo/interchange-users
>