Skip to content

Commit

Permalink
Remove references to Apache 1.3, which is no longer supported
Browse files Browse the repository at this point in the history
Version 2.0.0 of mod_ucam_webauth does not support the long-obsolete
1.3 version of Apache. This version of the code will not compile
against 1.3 (though can probably be made to do so if really necessary
by modifying log_p_or_rerror a little); the APACHE1_3 bits of the code
will be removed in a future version.
  • Loading branch information
Matthew Vernon committed Jul 3, 2013
1 parent b3f5a0a commit 90834e7
Show file tree
Hide file tree
Showing 8 changed files with 26 additions and 281 deletions.
3 changes: 3 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@

. Update FSF's address in licence texts.

. Remove references to Apache 1.3. Apache 1.3 is no longer supported,
and this version of mod_ucam_webauth will not build against it.

1.4.4 - 2013-05-25 mcv21

. Add support for Apache2.4. This required a small change to the code
Expand Down
46 changes: 14 additions & 32 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@ configuration' below.
* Apache

The module is only of any use when used with a copy of Apache,
version 1.3, 2.0, 2.1, 2.2, or 2.4 (it may or may not work with
version 2.0, 2.1, 2.2, or 2.4 (it may or may not work with
later versions). Apache comes as part of most Unix/Linux
distributions, though it may be necessary to install an additional
package, perhaps called httpd-devel, apache-devel, or apache2-devel
for access to the tools needed to build the module.

It is expected that support for Apache versions 1.3, 2.0, and 2.1
It is expected that support for Apache versions 2.0, and 2.1
will be dropped in a forthcoming release; the Apache Software
Foundation encourages users to upgrade to version 2.2 or 2.4.

Expand Down Expand Up @@ -92,31 +92,30 @@ or apache2-devel package which will need to be installed.
2.2 Building and installing RPMs
--------------------------------

The module is distributed as a pair of 'Source RPMs', one for Apache
1.3 and one for Apache 2.0/2.1/2.2/2.4. On RPM-based Linux systems it
is straightforward to use one of these to build a binary RPM which
can then be installed like any other package. This is particularly
useful if you need to install the module on a number of similar
systems. This approach will only work with copies of Apache that
include shared object support (see above). This is almost always the
case with RPM-based distributions.
The module is distributed as a 'Source RPM', for Apache
2.0/2.1/2.2/2.4. On RPM-based Linux systems it is straightforward to
use this to build a binary RPM which can then be installed like any
other package. This is particularly useful if you need to install the
module on a number of similar systems. This approach will only work
with copies of Apache that include shared object support (see
above). This is almost always the case with RPM-based distributions.

To build an RPM, download the appropriate Source RPM, cd to the
directory containing it, and then as root issue the command

rpmbuild --rebuild mod_ucam_webauth<n>-<ver>.src.rpm
rpmbuild --rebuild mod_ucam_webauth2-<ver>.src.rpm

Near the end of the resulting output will be a line identifying the
binary RPM that was built, such as

Wrote: /usr/src/redhat/RPMS/i386/mod_ucam_webauth<n>-<ver>.i386.rpm
Wrote: /usr/src/redhat/RPMS/i386/mod_ucam_webauth2-<ver>.i386.rpm

can be installed by issuing, e.g., the command

rpm -Uvh /usr/src/redhat/RPMS/i386/mod_ucam_webauth<n>-<ver>.i386.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/mod_ucam_webauth2-<ver>.i386.rpm

Linux distributions vary somewhat in how they package Apache-related
software so the source RPMs are unlikely to install on every possible
software so the source RPM is unlikely to install on every possible
system. With a little experience of modifying RPMs it should be easy
enough to install the source RPM and modify the '.spec' file to work
with a new system. If you find you need to do this, please inform
Expand Down Expand Up @@ -162,17 +161,10 @@ installation it is necessary to copy the module into the unpacked
Apache source tree and then to rebuild Apache.

Change into the Apache build directory and copy mod_ucam_webauth.c
from an unpacked tar distribution to src/modules/extra (for Apache
1.3) or modules/aaa (for Apache 2.0/2.1/2.2/2.4). Run the configure
from an unpacked tar distribution to modules/aaa. Run the configure
script with the options as specified below in addition to any other
options you wish to set.

For an Apache 1.3 installation:

./configure --prefix=<PREFIX> \
--activate-module=src/modules/extra/mod_ucam_webauth.c \
--enable-module=ucam_webauth

For an Apache 2 installation:

./configure --prefix=<PREFIX> \
Expand Down Expand Up @@ -248,16 +240,6 @@ containing the module, relative to ServerRoot if it doesn't start
'/'. This is not necessary if the module has been statically linked
into the httpd program.

Under Apache 1.3 some configuration files use 'ClearModuleList'
followed by 'AddModule' directives to ensure that modules are used in
the right order - if mod_ucam_webauth is loaded before
'ClearModuleList' then

AddModule mod_ucam_webauth.c

will also be required somewhere. mod_ucam_webauth does not depend on
load order.

The minimum configuration required to restrict access to resources in
a particular directory to users with a UcamWebAuth login is, e.g.:

Expand Down
63 changes: 6 additions & 57 deletions INSTALL.Platforms
Original file line number Diff line number Diff line change
Expand Up @@ -56,40 +56,18 @@ The keys will by default be searched for in
Apache logs are stored in /var/log/apache2/


2. MacOS (10.3, 10.4, possibly others)
2. MacOS (10.5 and later)
======================================

Only Apache 1.3 is available.
Only Apache 2 is available.

The recommended process is to download the installer package
ModUcamWebauth-<ver>.pkg.zip and install that.

See also
https://wiki.csx.cam.ac.uk/raven/Installing_the_Apache_authentication_module_under_MacOS_X

A C compiler and related build tools are not a standard part of a
MaxOS install. They are available as part of the Xcode tools which can
be installed from your distribution CDs or from
http://developer.apple.com/tools/download/

apxs is installed as /usr/sbin/apxs

Apache appears to run with a ServerRoot of /usr/

The module should be installed into /usr/libexec/httpd/. It should be
loaded with a LoadModule line in httpd.conf or otherwise in a file
included into httpd.conf:

LoadModule ucam_webauth_module libexec/httpd/mod_ucam_webauth.so

The keys will by default be searched for in

/usr/conf/webauth_keys/

Apache logs are stored at /private/var/log/httpd/

Apache on OS 10 server uses Apple's own authentication module,
mod_auth_apple, in place of the standard Apache module, mod_auth. In
OS version 10.4.6 (and probably in subsequent versions) mod_auth_apple
is incompatible with mod_ucam_webauth. Instructions for working around
this problem appear in the wiki document noted above.
for more details.


3. Red Hat, Fedora
Expand Down Expand Up @@ -118,35 +96,6 @@ Apache logs are stored in /var/log/httpd/
4. SuSE Linux
=============

Apache 1.3
----------

Apache 1.3 is provided by the httpd package.

Note that Apache 1.3 is only available in versions of SLES up to and
including 9.0, and in some OES versions of SuSE Linux.

apxs is installed as /usr/sbin/apxs

Apache runs with a ServerRoot of /srv/www/

The module should be installed into /usr/lib/apache/. It should be
loaded with a LoadModule line in httpd.conf or otherwise in a file
included into httpd.conf:

LoadModule ucam_webauth_module /usr/lib/apache/mod_ucam_webauth.so

The keys will by default be searched for in

/srv/www/conf/webauth_keys/

It might be better to use the AAKeyDir directive to relocate this to
something like /etc/httpd/webauth_keys/. The RPMs will by default
create /etc/httpd/webauth_keys/ and make /srv/www/conf/webauth_keys a
symlink to it.

Apache logs are stored in /var/log/httpd/

Apache 2
--------

Expand Down
10 changes: 1 addition & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# the used tools

APXS=/usr/sbin/apxs # Use 'make .... APXS=/path/to/apxs' if elsewhere
SUFFIX=so # Use 'make .... SUFFIX=la for Apache 2
SUFFIX=la # Use 'make .... SUFFIX=so for Apache 1

# additional user defines, includes, libraries and options
#DEF=-Dmy_define=my_value
Expand Down Expand Up @@ -50,14 +50,6 @@ rpmdirs:
mkdir -p ~/rpmdevel/SPECS
mkdir -p ~/rpmdevel/SRPMS

rpm13: dist rpmdirs
(ver=`grep '#define VERSION' mod_ucam_webauth.c | \
sed -e s/\"//g | cut -d' ' -f3`; \
cp mod_ucam_webauth-$$ver.tar.gz ~/rpmdevel/SOURCES)
cp rpm-build/README.KEYS ~/rpmdevel/SOURCES
cp rpm-build/mod_ucam_webauth13.spec ~/rpmdevel/SPECS
rpmbuild -bs --nodeps ~/rpmdevel/SPECS/mod_ucam_webauth13.spec

rpm2: dist rpmdirs
(ver=`grep '#define VERSION' mod_ucam_webauth.c | \
sed -e s/\"//g | cut -d' ' -f3`; \
Expand Down
11 changes: 1 addition & 10 deletions README.Config
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ limit access to particular resources to
* members of an separately defined group (e.g. 'AuthGroupFile
/web/groups' followed by 'Require group admin').

In Apache 1.3 and 2.0, this functionality is provided by the mod_auth
In Apache 2.0, this functionality is provided by the mod_auth
module. In Apache 2.2 and 2.4, it is provided by mod_authz_user,
assisted by mod_authz_groupfile if using group files. These modules
must be loaded if their facilities are used. The misleading error
Expand Down Expand Up @@ -132,15 +132,6 @@ containing the module, relative to ServerRoot if it doesn't start
'/'. This is not necessary if the module has been statically linked
into the httpd program.

Under Apache 1.3 some configurations use 'ClearModuleList' followed by
'AddModule' directives to ensure that modules are used in a fixed
order - if mod_ucam_webauth is loaded before 'ClearModuleList' then

AddModule mod_ucam_webauth.c

will also be required somewhere. mod_ucam_webauth does not depend on
load order. AddModule is not used in Apache 2.0, 2.2, or 2.4.

The minimum configuration required to restrict access to resources in
a particular directory to anybody with a Ucam-WebAuth login is, e.g.

Expand Down
1 change: 0 additions & 1 deletion rpm-build/MANIFEST
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
mod_ucam_webauth13.spec
mod_ucam_webauth2.spec
README.KEYS
README
3 changes: 1 addition & 2 deletions rpm-build/README
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ But if you _really_ want to build from this, do the following:

2) Copy README.KEYS to <wherever>/SOURCE

3) Copy the correct .spec file (for Apache 1.3 or Apache 2) to
<wherever>/SPEC
3) Copy the correct .spec file to <wherever>/SPEC

4) Run rpmbuild on the spec file
Loading

0 comments on commit 90834e7

Please sign in to comment.