We're sorry, the MiniVend server is unavailable...

### Index Up << >>

## We're sorry, the MiniVend server is unavailable...

This is the most common problem on UNIX systems. It almost always means that permissions are not properly set up, or that the VLINK program is not setuid. Try temporarily changing the permission of the MINIVEND_ROOT/etc/socket file to be read/write to all groups ( `chmod 666 etc/socket`). This must be done after the server is started, as MiniVend deletes and recreates the socket every time it starts. If MiniVend then works you will have to make sure the user that the VLINK program runs as matches the user who is running the MiniVend daemon.

< HR> It is not recommended that you install the MiniVend software as `root`. If you are setting MiniVend up for the entire machine, and not just as a virtual host user, it is usual to create a special `mvend` or `minivend` user to run the daemon and the link program. This means the directory listing for your CGI-BIN should be something like:

-rwsr-xr-x 1 minivend users 6312 Dec 30 11:39 cgi-bin/simple

and for the socket file it should be:

srw------- 1 minivend users 0 Dec 30 11:41 etc/socket

Once you have set up the software, you can easily install catalogs as root as long as your `umask` is set to 2 or 22.

(The following assumes you have made the MiniVend software owned and run by the special user `mvend` and that each user has a MiniVend catalogs directory `/home/user/catalogs`).

The following policies should be automatically offered when installing MiniVend 3.06 or higher.

The best way to set permissions on a multi-user system is to make all files group readable and writable (660 or 664 mode). If you have a system setup that places each user in their own group, then make `mvend` a member of each user's group and set ownership and permissions with:

find /home/user/catalogs -print | xargs chown user find /home/user/catalogs -print | xargs chgrp user find /home/user/catalogs -print | xargs chmod g+rw

For best results, make the user's default umask be 2 so that they will by default create files that have the proper permissions.

If you have all users in the same group, the above is not secure. You should put `mvend` in a group of which no user is a member (perhaps mvend would be a good choice) and then make all files owned by the group mvend and all directories be set to mode 2775:

find /home/user/catalogs -print | xargs chown user find /home/user/catalogs -print | xargs chgrp mvend find /home/user/catalogs -print | xargs chmod g+rw find /home/user/catalogs -type d -print | xargs chmod g+s

This will make files default to the proper group when created (on most UNIX versions, anyway). <HR>

If you are on a virtual hosting system, the procedure varies. Making the program setuid should work for most systems -- if your setup uses CGI-WRAP or another setuid scheme it should still work OK, though you may have to unset the setuid bit with `chmod u-s cgi-bin/simple` or the like. If you have a non-standard CGI setup, as some virtual host systems do, you will need to know something about UNIX and the web -- or engage a consultant -- to properly set the paths up. Usually switching to TLINK/INET mode is the easiest thing to do, though with Iserver and a few others it may take more than that. <HR>

If you used the `makecat` program to build the catalog, it should warn you if it was not able to make the link program setuid. To set the program (in the file `cgi-bin/simple` in this example) to be setuid, you use the command:

        chmod u+s cgi-bin/simple

Please understand that the first remedy in the case of unknown problems will be to upgrade Perl to the latest version.

### Index Up << >>