Change directories to the src
directory, then run the
GNU configure script:
cd src ./configure
You will see some output as the configure script checks your system. Then compile the programs:
perl compile.pl
To compile manually:
cc vlink.c -o vlink cc tlink.c -o tlink
On manual compiles, you can ensure your C compiler will be invoked properly with this little ditty:
perl -e 'do "syscfg"; system("$CC $LIBS $CFLAGS $DEFS -o tlink tlink.c");' perl -e 'do "syscfg"; system("$CC $LIBS $CFLAGS $DEFS -o vlink vlink.c");'
On some systems you can make the executable smaller with the strip program. But don't worry about it if strip is not on your system.
strip vlink strip tlink
If you want MiniVend to run under a different user account than your own,
make that user the owner of vlink. (You probably need to be root to do
this). Do not make vlink owned by root, because making vlink setuid root is
an huge and unnecessary security risk. It should also not
normally run as the default
WWW user (often nobody
or http
)).
chown minivend vlink
Move the vlink executable to your cgi-bin directory:
mv vlink /the/cgi-bin/directory
Make vlink setuid:
chmod u+s /the/cgi-bin/directory/vlink
Most systems unset the SUID bit when moving the file, so you should change it after moving.
The SCRIPT_NAME as produced by the HTTP server must match the name of the program. (As usual, you should let the makecat program do the work.)