Webhosting
UGCS is proud to offer webhosting services to our users. Our webserver is poseidon.ugcs.caltech.edu, and can be accessed at www.ugcs.caltech.edu or ugcs.caltech.edu.
Server Settings
Here are the important bits of our server settings:
Server Version: Apache 2.2
UserDir /afs/ugcs/user/<username>/public/html # this is where your webroot is
ScriptDir /afs/ugcs/user/<username>/public/cgi-bin # cgi-scripts go here; accessible at
# ugcs.caltech.edu/~username/cgi-bin
DocumentIndex index.xhtml index.shtml index.html index.php
Options +Indexes # if you don't have an index.html or index.php, users can will see a directory listing
AllowOverride AuthConfig FileInfo Indexes Options
Scripting
All scripts (cgi-bin scripts and php scripts) are run as CGI scripts through a wrapper. Your script will run as the <username>_cgi principal. If you want your scripts to be able to write to a directory, add an ACL on the directory so that principal can write to it. By default, your ~/public directory is world-readable, so your scripts will be able to read stuff in your public directory. If you need additional libraries installed, please let us know.
Database Access
We run PostgreSQL for our users. More information is available on our postgres help page.
Kerberos Authentication
We have installed mod_auth_kerb on our webserver, so you can take advantage of our Kerberos database for authentication. Add the following lines to your .htaccess file to restrict access to your pages:
AuthType Kerberos AuthName "<Your Website>" Krb5KeyTab "/etc/apache2/poseidon-apache.keytab" Require valid-user
As show, this will allow anyone with a valid UGCS account to view your page. If you want to restrict access to just a few users, replace the line
Require valid-user
with the following line:
Require <username1>@UGCS.CALTECH.EDU [ <username2>@UGCS.CALTECH.EDU ...]
If you have installed a Kerberos client on your computer and have active kerberos tickets, Firefox will automatically use them to authenticate to any websites protected with these settings.
Virtual Hosting
See Virtual Hosting
