MiniVend is a complex program, and needs the services of other complex programs (i.e. web servers and relational databases) to work. When there is a problem, it is not always MiniVend. It may have to do with Perl or your HTTP server setup. In fact, in the over four years of MiniVend's existence many more basic installation problems have to do with those than with MiniVend itself.
If you get a message about not being able to find libraries, or if you get a core dump or segment fault message, it is always an improperly built or configured Perl and has nothing to do with MiniVend. Contact your system administrator or install a new Perl yourself.
The makecat
program is intended to be used to create the starting point for the catalog. If you don't get the demo to work the first time, keep trying. If you still can't get the demo to work, try running in
INET mode. Finally, see the MiniVend
FAQ at:
http://www.minivend.com/minivend/faq/
Check the two error log files -- error.log
in the MiniVend home directory (where minivend.cfg resides) and error.log
in the catalog directory (where catalog.cfg resides; there can be many of
these). Many problems can be diagnosed quickly if these error logs are
consulted.
Check the README file, the FAQ, and mail list archive at the official MiniVend web site for information:
http://www.minivend.com/minivend/
You may subscribe to the MiniVend users mail list by sending the
message text subscribe minivend-users
to:
majordomo@minivend.com
Double check that you have the following things:
Using
UNIX sockets: Check that the vlink
program is
SUID, or you have made appropriate changes in the SocketPerms directive. Unless the files are world-writable, the vlink program and the MiniVend server must run as the same user
ID! If you are running
CGI-WRAP or
SUEXEC, then you will find that the
vlink
program must not be
SUID.
If you have trouble with the vlink program (named simple in the demo configuration), try re-running makecat
and using
INET mode instead. (Or you can copy the tlink
INET mode link program over vlink
). This should work unchanged for many systems, but if you are on an
ISP or have a non-standard network configuration you
may have to make some changes to minivend.cfg. For tlink
to work you must have the proper host name(s)
configured into
the
TcpHost directive in minivend.cfg. The program selects port 7786 by default (the
ASCII codes for
``M'' and
``V'') -- if you decide to use another port, you must set the same number in both the tlink program (by running
compile_link
) and the minivend.cfg
file.
The tlink
program does not need to be
SUID.
That you have proper file permissions.
IMPORTANT NOTE: The MiniVend server should not run as the user
nobody
!
The program files can be owned by anyone, but any databases,
ASCII database source files, error logs, and the
directory that holds them must be writable by the proper user
ID, that is the one that is executing the minivend
program. The best way to operate in multi-user, multi-catalog setups is to
create a special minivend
user, then put that user in the group that each catalog user is in. If you
can define a group for each individual user, that provides the best
security. Then all associated files can be in 660 or 770 mode, and you
should have no problems with permissions, and no problems with security.
The vlink
program is being executed on a machine that has the socket file etc/socket
on a directly attached disk. UNIX-domain sockets will not work on
NFS-mounted filesystems! That means the server minivend
and the
CGI program vlink
must be executing on the same machine.
The tlink
program does not have this problem, but it must have the proper host name(s)
and
TCP ports set in the
TcpHost and TcpPort
directives in minivend.cfg
. Also, you should be careful of security if sensitive information like
customer credit card numbers is being placed on a network wire.
MiniVend is an ambitious and complex program, and is not presented as being easy to use, easy to install, or bug-free. The configuration scripts were done to try and make a very painful process only slightly painful. Some people install in one pass. Others never make it, especially when they are running on an ISP with a restrictive setup. Determined and thoughtful users almost always make MiniVend work.