Uber Web Build

From Syscore

The Uber Web Build is an Apache web server build containing the various technologies currently in use by Syscore. Each "build" is given a number, starting at 000. The build is installed, tested, and then placed in a replicated AFS volume to ensure availability. The uber build contains basic startup and log rotation scripts used by various web sites

Contents

Using The Uber Build

Creating A Web Server Instance

A basic web server instance is a directory tree with the following files/directories. $root is simply the root of your web tree, it can be in AFS, or not. The uber build cares not.

$root/instance.conf

The instance.conf file contains basic information needed for the startup of your server instance. The only required fields are version and pid_file, however, most instance.conf files will look something like this:

version=005
keytab=/etc/umbc/filedev.keytab
kerbuser=www/filedev
servername=filedev_httpd
pid_file=/var/umbc/filedev/httpd.pid

See below for the arguments to startup, which correspond to the instance.conf settings.

$root/bin/init.d

This should simply be a symbolic link to /afs/umbc.edu/admin/www/uber/bin/init.d. Link your /etc/rc2.d/S99whatever script to that. Thanks to some magic with readlink, it will automatically figure out what it's supposed to do if you've followed all of the conventions.

$root/conf/httpd.conf

Your standard Apache httpd.conf file. It's important that you omit the definition for PidFile.

startup Parameters

  • version

The uber version # to run.

  • instance

The name of the instance (web tree) to run under. Used for finding .conf files, etc

  • conf

Path to the httpd.conf, relative to the instance.

  • options

Other options to pass to httpd.

  • keytab

Path to the K5 Keytab to get the credentials to run this instance under.

  • kerbuser

The kerberos user/principal to run this instance under.

  • servername

argv[0] of the executed server -- something more descriptive than httpd.

  • instance_conf

Path to the instance.conf file; note, this is useless within the instance.conf file itself.

  • config_perl

Path to some perl code that will get executed before the server gets launched. Useful for setting environment variables and such.

  • pid_file

Path to the httpd.pid file for this instance.

  • nokerb

Boolean -- don't manage kerberos/AFS authentication for this instance.

  • noperl

Do not include mod_perl specific startup stuff in the server's execution string.

  • httpdoptions

A file containing options passed into httpd, in addition to ones you specified in the options argument. See the startup environment for the uportal instances for a creative use of this to deal with bind addresses and ports.

Creating an Uber Build

Uber Build Notes

001

Not for production use.

002

Not for production use.

003

  • apache 1.3.33
  • mod_ssl 2.8.22
  • php 4.3.10
  • fastcgi 2.4.2
  • mod_perl
  • available for i386_linux24 & sun4x_58+
  • sgi_65 build is missing things like mod_perl

004

  • apache 1.3.33
  • mod_ssl 2.8.22
  • php 4.4.0
  • fastcgi 2.4.2
  • mod_perl
  • available only for sunx86_510

005

  • apache 1.3.33
  • mod_ssl 2.8.22
  • php 5.0.5
  • fastcgi 2.4.2
  • mod_perl
  • available only for sunx86_510 (or now)

007

  • apache 1.3.37
  • mod_ssl 2.8.28
  • php 4.4.4
  • fastcgi 2.4.2
  • mod_perl (perl 5.8.6)
  • available for sunx86_510 & sun4x_59

PHP

PHP_PEAR_Install