[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cobalt-users] Successful Interchange Install on Raq4 (long)



This is mainly for the archives, as I searched them quite thoroughly before
and did not find that anyone had posted whether or not they had gotten
Interchange (the open source e-commerce software) working on their Raq.

We have gotten Interchange 4.6, and the newest 4.81 (as of this writing)
working fine on our Raq 4i.  It took a little extra massaging to get it
going, but we are more than satisfied with the results.  I'm going to give a
brief run down on what it took for us (standard disclaimer, this will blow
up your warranty and make you a bad person, yada, yada, yada.  We won't take
responsibility if your Raq becomes Borg & takes over the world, etc).

Interchange is Perl based, and it requires many Perl modules to be installed
for it to work properly.  (Some of these are optional, but you won't be able
to use Interchange to it fullest capability).  Redhat provides RPMs of these
for those lucky people on Redhat Linux 7.x, but us lowly (grin) Cobalt users
have a modified 6.x so we have to d/l and install them the old fashioned
way.  I know you can use the CPAN module to get these, but we tried this on
a vanilla RedHat box before we tried installing on or Raq, and it went
wacko, trying to update every module it get it's hands on, including Perl
itself.  I know part of this (if not all) was due to my not being a Perl
wizard, but I did not want any GUI problems on our Raq so we did the
standard, "perl Makefile.PL, make, make test, and make install" method.

Here's the list of modules as it comes from RedHat:

 perl-Archive-Tar-0.22
 perl-Archive-Zip-0.11
 perl-Business-UPS-1.13
 perl-Compress-Zlib-1.13
 perl-Crypt-SSLeay-0.27
 perl-DBD-Pg-1.00-1k
 perl-File-CounterFile-0.12
 perl-HTML-Parser-3.25
 perl-HTML-Tagset-3.03
 perl-IO-stringy-1.220
 perl-Image-Size-2.93
 perl-MIME-Base64-2.12
 perl-Mail-Sendmail-0.78
 perl-Newt-1.08
 perl-OLE-Storage_Lite-0.09
 perl-Parse-RecDescent-1.80
 perl-SOAP-Lite-0.50
 perl-SQL-Statement-0.1020
 perl-Safe-Hole-0.08
 perl-Spreadsheet-ParseExcel-0.22.3
 perl-Spreadsheet-WriteExcel-0.32
 perl-Storable-1.0.11-1
 perl-Term-ReadLine-Perl-0.9908
 perl-TermReadKey-2.14
 perl-Tie-Watch-1.0-10
 perl-Time-HiRes-01.20
 perl-URI-1.12-1
 perl-XML-Parser-2.30
 perl-libnet-1.0703
 perl-libwww-perl-5.53

You can search for these modules at
http://www.perl.com/CPAN-local/modules/01modules.index.html, or one of
several other CPAN sites such as http://search.cpan.org/.  Download the
latest version of each module, not necessarily the version that is listed
above.

Now here's the hard part, some of those modules above are dependant on each
other, so you'll have to cross each off the list as you go thru it, and kind
of piece the puzzle together.  A few of these modules require an additional
one or two modules, but the best advice I can give is read the README file
for dependencies & instructions.

Generally you'll do the following on each module:
   gzip -dc yourmodule.tar.gz | tar -xof -
Go into the newly-created directory and type:
   perl Makefile.PL
   make
   make test

Once you have those beasts installed, you can then install Interchange
itself.  I used the RPM install, and it installed fine.  You can get
Interchange from http://ic.redhat.com  If you installed Interchange from the
RPM, the user interch probably doesn't have a password. You'll have to set
it with a command such as passwd interch while root.

You'll now need to run "./makecat" in the interchange/bin directory to setup
the catalog for each site you want to install interchange into.  Make sure
you set the directories to the correct cobalt ones for the site you want to
install it into ("/home/sites/siteX/web/cgi-bin").  We installed the catalog
into the "/home/sites/siteX/catalog" directory so the enduser had access to
their catalog via ftp.  Make sure you have a cgi-bin directory before you
run makecat, or it'll bomb.  When it prompts you for the name of the catalog
file, make sure you name it .cgi (/home/sites/sitex/web/cgi-bin/mystore.cgi)
or it doesn't like to run on the cobalt.  I could not get interchange to run
under the cgi-wrap, so I disabled it in the .htaccess file in the cgi-bin
directory:

.htaccess:
Options +ExecCGI
AddHandler cgi-script .cgi
AddHandler cgi-script .pl

You should be able to get it working without disabling cgi-wrap if you use a
local user as the catalog owner, but I couldn't get the right combination to
fire up.

We tied the interchange database into our install of MySQL, giving it it's
own user & database.  This seems to work wonderfully, but choose whatever
database method you prefer.  If you use MySQL, make sure you have the proper
permissions set for the user to create the database, tables, etc.  I noticed
a bug in the makecat where it used the wrong user when it tried to create
the database, (it gives you the option to use a different superuser to
create the database) so I had to give the interchange mysql user higher
permissions during the install, & revoke them afterwards.

Make sure you run as interch:
  chmod u+s /home/sites/siteX/web/cgi-bin/mystore.cgi

If you don't SETUID then you will get an error when you view the store can't
communicate with interchange.

At this point, you should be able to fire up interchange:
   /etc/rc.d/init.d/interchange start ("restart" if running)

If you go to your store, it should be running now.  On our install, some of
the graphics did not line up properly in the store and admin page, so we
copied and/or ln -s to link to the proper graphics directories.  (just
right-click on a missing graphic to see where it "should" be)

Now that we have it running on a couple of sites, we're finding it quite
flexible & a lot of fun (if you like reading manuals and scratching your
head a lot).  If you have problems with the install, let me know & I'll see
if I can help.  We've had our Raq 4 for almost a year now, and have found
this list to be invaluable at times.

Good Luck,

Nathaniel Scott
Vice President
The Cyber Image web design
www.thecyberimage.com