These instructions are for building the Apache authentication filter.
If you need to set up an entire weblogin infrastructure please see
README.weblogin (for sites using Kerberos) or README.basicauth for any
other AuthN backend.
Before you begin:
For documentation and information see: http://weblogin.org/
To build a production Apache filter you need Apache 1.3.X. Support
for Apache 2.0 is available, but not used in production at Michigan.
If you happen to use the Apache 2.x filter in production, please let
us know about it. Your web server should have SSL enabled.
You will need OpenSSL 0.9.7a or newer.
You will need a source of entropy for the OpenSSL libraries to work.
If your system has /dev/*random then you're all set, otherwise you
should get something like prngd or egd. Solaris users should refer
to document 27606 "Differing /dev/random support requirements within
Solaris [TM] Operating Environments" at .
AIX users will want to get prngd.
If your cosign protected service needs kerberos credentials, you
will need MIT krb5-1.2.7 or later. Kerberos libraries are not
required if you do not need access to kerberos credentials. If you
are building a central weblogin server, see README.weblogin.
To build the Apache authentication filter:
NOTE: On Redhat 9, kerberos is in a non-standard place, and so, by
default, configure may not find it. So if you need to use kerberos
ticket transfers, you will need to do the following.
Add "env CPPFLAGS=-I/usr/kerberos/include" before you run configure.
So in csh your configure line will look like this:
env CPPFLAGS=-I/usr/kerberos/include ./configure
and in bash or sh you'd type:
CPPFLAGS=-I/usr/kerberos/include ./configure
To build:
./configure
make
make install
mkdir -p /var/cosign/filter
chown APACHE_USER /var/cosign/filter
'make install' will install the filter using your copy of apxs. Be
sure to change APACHE_USER to the username defined in your
httpd.conf file.
Finally, create a CA directory to hold your CA certificates. Copy
the CAs (see the CAcerts directory in the root of the cosign source
distribution) to your CA dir and issue the c_rehash command
(c_rehash is a perl script that ships with openssl). If you choose
to store your certs in '/usr/local/etc/apache/certs' then the
commands would be:
mkdir -p /usr/local/etc/apache/certs
cp CAcerts/* /usr/local/etc/apache/certs
c_rehash /usr/local/etc/apache/certs
output should look like:
Doing /usr/local/etc/apache/certs
umwebCA.pem => 4700e8dd.0
RSA-SSCA.pem => f73e89fd.0
entrust.pem => ed524cf5.0
Configure Apache ( U of M specific example ):
If you need a certificate, we can provide one signed by the umweb CA at
no cost. Self-signed certs will not work wih Cosign.
NOTE: When filling out the CSR, you will be prompted for the CN. It
says "Common Name (eg, YOUR name) []:" - despite what the prompt
says, you should type in the hostname of your webserver, eg
"deptwebserver.dept.umich.edu". Additionally, the state field should
read "Michigan" and not "MI".
In the U of M environment, you'll want your directives to look like
this:
On your http ( port 80 ) side, and any dirs or locations you want
exempt:
CosignProtected Off
in :443 ( or otherwise https ) vhost
CosignProtected On
CosignHostname weblogin.umich.edu
CosignRedirect https://weblogin.umich.edu/
CosignPostErrorRedirect https://weblogin.umich.edu/cosign/post_error.html
CosignService