cgi-bin server FAQ
This is the Duke CS Dept. cgi-server Frequently Asked Questions page.

If you think anything should be added to this page, please let us know!

What is the cgi-bin server for?

To allow users to install and run their own cgi-bin's in a relatively secure fashion. is a standalone machine that is "untrusted" by all other machines in the CS network. This will help contain possible attacks via the httpd/cgi-bin mechanism to the cgi-bin server alone.

How can I use the cgi-bin server?

Your account will need to be set up to access the machine via /usr/project/cgi/<username> (also as /home/cgi/<username>), available on all hosts in the CS network. This will be your only means of accessing the server, other than through the web server. You will not be given direct login access to the machine.

What URL should I use to access my cgi-bin?

All files and cgi-bin's in the user's public_htmldirectory (under /usr/project/cgi) will be accessible via the web. For examples user "biff" would edit the file
and that HTML file would be accessible via the URL
CGI-BINS will be accessed in the same manner, except that they must have the extension cgi and be readable/executable by the user. For example:
would be accessed via

What software is available on the cgi-bin server?

Along with the typical suite of UNIX utilities (sed/awk/etc), Perl 5 is installed. The installation of other packages will be reviewed as they are requested.

How about compiling programs for the cgi-bin server?

The cgi server is running on a Intel/Ubuntu Linux machine. All programs that are to be compiled must be compiled on a similar machine.


Last updated: 2010/06/25 12:54:27