The CampusCGI Facility provides a set of custom services enabling members of the Princeton University community to develop, test and run CGI programs from a central Unix server supported by OIT. This means that you do not need to run your own Web Server to make your CGI programs available on the Internet.
Table of Contents
Please note that the CampusCGI Facility provides shared computing resources. OIT asks that you be considerate of other developers that share this facility's resources. OIT also advises you to consider the potential risk of running your software in this "shared" environment. CampusCGI may not be an appropriate facility to run "critical" or "production" software that requires 24/7 system availability.. While system availability is monitored closely by OIT, one hundred percent system availability cannot be guaranteed. This facility is open to the entire university community. As a developer, you will share this facility and its resources with skilled programmers, as well as those that wish to utilize CampusCGI to learn CGI programming skills.
You should keep in mind that any campus-wide computing facility is subject to resource and security abuses. Only CGI-related files should be stored in your CampusCGI directory. Abuse of CampusCGI resources can negatively impact all other CampusCGI developers.
Please consider the following when using CampusCGI resources to develop CGI.
- Do not use disk space within the CampusCGI home file system (/usr/campuscgi) to store files unrelated to CGI work CampusCGI user disk space is very limited.
- Use CampusCGI just for running CGI. Serve your static HTML files from Web servers other than CampusCGI, such as your user account on www.princeton.edu or your departmental account on web.princeton.edu.
- Regularly scan and clean your CampusCGI directory eliminating non-essential (unused) files
- Consider storing data on a database server such as Storacle rather than in flat files in your Campuscgi directory when designing and developing data-driven CGI programs.
- Test and monitor your new CGI software using CampusCGI services provided. Regularly check for and kill any run-away CGI processes.
- Do not use CGI processes to launch batch jobs that load the system and steal system resources.from legitimate CGI processes
- Take some time to become aware of related facilities and services offered by OIT in order to utilize resources as effectively as possible and make your development easier.
- Take time to understand how to program CGI securely. This will minimize risk to your CGI processes and data. It will also minimize negative impact to system resources resulting from abuse of your CGI programs over the Web.
Please be aware that the CampusCGI Facility has finite resources shared by a large number of developers. System resources are limited, especially disk space availability. Non-CGI project related processes and files must not be placed in your CampusCGI directory.
While OIT has taken reasonable security precautions in designing CampusCGI, we cannot guarantee that the facility is "break-in" proof (nothing on the Internet is "break-in" proof). A facility such as this can be easily abused. It is our belief that users will exercise restraint and good judgment. Good judgment by developers includes addressing the potential for resource allocation problems in your programming. Error status should be checked and error handlers should be present whenever attempting to allocate any system resource, such as opening or reading/writing a file or opening a system service.
Use of the facility is governed by the rules and regulations set forth in the Princeton University Rights, Rules and Responsibilities publication.
CampusCGI Facility Hardware and Supporting Software
The CampusCGI Facility hardware was last upgraded on March 18, 2004. The server is a SUN E450 with two 480 MHz CPUs and 4 GB of RAM running Solaris 9.
This facility offers the following features.
- Apache Web Server, version 1.3.29
- SSL - a secure server id is installed enabling your CGI programs to be run securely by prefacing your Web address with "https://" (rather than "http://")
- LDAP and Web Server basic authentication - .htaccess files can now be created to restrict access to your CGI programs over the Web by prompting for a username (a.k.a., OIT NetID) and LDAP (a.k.a., OIT e-mail ) password. The SSLRequireSSL directive is now supported, as well, to disable access to your content that is not secure.
- CGI Development from your Desktop - /usr/campuscgi, the home file system for CampusCGI users, is now available on your desktop as a SAMBA server shared folder. However, CGI must be developed and maintained using an editor (e.g. DreamWeaver, WinEdit, etc.) capable of writing files in ISO (Unix file) format.
- Oracle database drivers updated to version 8.1.7 (used via Perl DBI, etc.)
- improved services to monitor and stop your CGI processes while developing and testing
- access to the Princeton Software Repository,
an OIT-managed file system containing up-to-date versions of software that you can utilize in your CGI (e.g., Perl). This is intended to replace software residing in /usr/princeton/bin (e.g., /usr/princeton/bin/perl) currently referenced by CGI developed prior to March 18, 2004. Please see more information regarding Development Software on the CampusCGI home page navigation panel.For more details, please see the e-mail message sent to CampusCGI developers regarding the server upgrade on March 10, 2004.
Please direct comments and questions to www@princeton.edu