[ic] catalog working, no admin/login, unable to checkout

Curt Hauge chaugegw at genesiswireless.us
Thu Sep 1 18:59:23 UTC 2011

On 9/1/2011 Peter wrote: 

> -----Original Message-----
> From: interchange-users-bounces at icdevgroup.org 
> [mailto:interchange-users-bounces at icdevgroup.org] On Behalf Of Peter
> Sent: Wednesday, August 31, 2011 11:12 PM
> To: interchange-users at icdevgroup.org
> Subject: Re: [ic] catalog working, no admin/login, unable to checkout
> On 01/09/11 12:30, Curt Hauge wrote:
> > Hi,
> > 
> > I am on a new Centos 5.x server, Apache 2.2.19, MySQL 5.1.57.
> I'll get into your problems below, but if you want you may 
> just want to start over clean and follow this guide:
> http://www.pajamian.dhs.org/Rackspace%20Interchange%20Setup.html
> Don't worry about the Rackspace part, this guide is for any 
> 5 Interchange install.
> Note the only thing that you should be aware of is that perl 
> 5.12.4 has been released since the guide was last updated.  I 
> recommend you use that now but don't use 5.14 as that has 
> unresolved issues with Interchange.  Everything else is the 
> same and at the bottom is an appendix telling you how to 
> install MySQL instead of PostgreSQL if you want.
> Note2: CentOS 6 is out now (and has been for a few weeks).  
> The guide is written for CentOS 5 but the procedure should be 
> largely the same.  I will be making a new updated guide for 
> CentOS 6 soon.
> Ok, now to get into your problems:
> > As root I
> > installed a local perl at usr/local/bin/perl like this:
> > 
> > sh Configure #accepted all defaults, no threads
> A better command that I recommend:
> ./Configure -des -Dprefix=/usr/local/perl-5.12.4
> ... this runs all the defaults automatically without making 
> you answer 200 questions and sets the install prefix to a 
> directory where it's easy to keep track of what version of 
> perl it is (you can use symlinks to point your 
> /usr/local/bin/perl to any perl executable you want).
> > make
> > make test
> Also I recommend that you run all of the above commands an an 
> unprivileged user and only run this last one as root:
> > make install
> > 
> > and		/usr/local/bin/perl -v #This is perl, v5.10.0 built for
> > x86_64-linux
> Why did you install such an old version of perl?  5.12.4 is 
> what I recommend, but if you want to install from the 5.10 
> branch at least install the newest which is 5.10.1
> > As root I checked 'which perl' and saw this:
> > /usr/bin/perl #which is what I expected (but, alas...it now 
> reports: 
> > /usr/local/bin/perl)  <--could that be an issue and how did 
> it happen?
> As Jon already said, you have /usr/local/bin in your $PATH 
> ahead of /usr/bin.
> > I then installed the bundle like this:
> > perl -MCPAN -e 'install Bundle::Interchange'
> Just install Bundle::InterchangeKitchenSink.  It is a 
> superset of Bundle::Interchange.
> > Question 1: Should I be installing the bundle with 
> /use/local/bin/perl 
> > or /usr/bin/perl?
> /usr/local/bin/perl or wherever your newly installed perl 
> happens to reside.
> > I finally got the bundle to install, but I cannot get the 
> kitchensink 
> > to finish up, so...
> There will be a few issues installing KitchenSink which are 
> all outlined in my guide (linked to above).  Please read 
> through at least section 10 of the guide which will tell you 
> how to resolve all of the issues you will encounter (I 
> recommend reading and following the whole thing because it is 
> exactly for the platform you are installing on).
> > I've installed 5.6.3 tarball after installing the bundle:
> > tar zvxf interchange-5.6.3.tar.gz
> > /usr/local/bin/perl Makefile.PL
> > make
> > make test #passed all 6
> > make install
> There are better ways than installing from the tarball 
> (again, read the guide).
> > ran makecat, using MySQL, database is set up, and now have 
> a test cat 
> > up, but no admin/login access. I do have to chmod 755 the 
> > cgi-bin/catlink as they aren't created with correct permissions. 
> > (strange, wonder why?)
> That chmod could be the reason why you're having problems.  
> It needs to be setuid root so you need to do:
> chmod 4755 cgi-bin/catlink
> Note that the exception to the above is if you're running 
> apache with suexec.
> > I tarred up an old foundation-based cat that was recently 
> running on 
> > 5.6 for years now, untarred to my destination folder, and 
> finally got 
> > it fired up, but no access to admin/login (Internal Server Error).
> Look in your interchange error.log file for the real reason 
> for this error.
> Also, why are you running makecat if you already have a catalog?
> > During checkout, once I am on the shipmode.html and submit 
> to 'Next' I 
> > expect to see the last page of my multi-page checkout 
> (finalize.html) 
> > but I also get "Internal Server Error". I have credit cards enabled.
> Again, see your error.log file (the global one, not the catalog one).
> > Current errors in cat error.log
> > 
> > K7Mcfhbm: - 
> [31/August/2011:13:32:59 -0400] 
> > fts1 /cgi-bin/fts1/ord/finalize.html Runtime error: 
> mv_metadata import 
> > into
> > failed: sdbm store returned -1, errno 22, key "kinventory" at 
> > /home/funtime/fts1/interchange/lib/Vend/Table/Common.pm 
> line 513, <IN> 
> > line 121.
> You should not be using sdbm anymore but should switch to 
> gdbm.  It is likely that IC is trying to sdbm, though because 
> it can't find perl support for gdbm.  When you build perl the 
> gdbm-devel package has to be installed or perl will not build 
> with support for gdbm.  You probably have to install gdbm and 
> then re-build perl.  Again, see the guilde for complete directions.
> > Over 12 years and 5 days messing with Interchange and linux and I 
> > still don't get it. I'm ready to throw in the towel...
> Save yourself a lot of grief and read and follow that guide.  
> I wrote it to help people do exactly what you are trying to 
> do and it makes things very easy.

This guide is very nice to have, as well as what Jon has offered. I'm sure
I'll be back up before too long.

I have been following your guide, however, I could not get my user to login
without a password, but 'curt' is setup in the wheel group and I got this

 $ sudo yum -y install iptables wget 
.	Note: if you mess up when setting your iptables rules and manage to
block your own access to the server, then follow these directions to get
your ssh access back: 
[snip some info stuff]
# service iptables stop # exit 
o	iptables will now be turned off and you should be able to log back
in via ssh. 
.	I recommend that you put all your iptables rules in a shell script
and run that script to update the rules. You can download and edit the basic
script that I use to setup iptables.
$ cd
$ wget http://github.com/pajamian/stuff/raw/master/centos/iptables_cfg.sh 
$ chmod 700 iptables_cfg.sh
$ vi iptables_cfg.sh 
.	Make any changes you want. The default configuration is to allow
pings, ssh and http(s).
$ sudo ./iptables_cfg.sh 
.	Make sure you can still log in via ssh (but *don't* close your
current ssh connection until you do!) 
Well, I can't login with SSH any longer or into my DirectAdmin console on
port 2222, my email is all down, http is up, and I do have an open SSH
console. I checked my access via SSH until just before that last command.
I've googled about but not sure what I'm looking for, can you help me get
back up? I didn't make any changes to iptables_cfg.sh. I tried to swap out
iptables.save, re-run sudo ./iptables_cfg.sh, tried stoping then starting as
root, and then swapped them back when no luck. I'm sure I was the correct
user/root for these tasks as well.

Sorry if this is the wrong place to ask this...

> Peter

Thank you very much!


More information about the interchange-users mailing list