805 lines
22 KiB
Plaintext
805 lines
22 KiB
Plaintext
Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi
|
||
Ray Van Dolson, rayvd@firetail.org
|
||
v0.91, 5 April 2000
|
||
|
||
Details the installation of an Apache based webserver suite configured
|
||
to handle DSO, and various useful modules including mod_perl, mod_ssl
|
||
and php.
|
||
______________________________________________________________________
|
||
|
||
Table of Contents
|
||
|
||
|
||
1. Legal Stuff
|
||
|
||
2. Introduction
|
||
|
||
2.1 Description of the Components
|
||
2.2 History
|
||
|
||
3. Component Installation
|
||
|
||
3.1 Preparations
|
||
3.2 mod_ssl
|
||
3.2.1 Installing and Compiling OpenSSL
|
||
3.2.2 Installing and Compiling RSAREF 2.0
|
||
3.2.3 Installing and Compiling MM
|
||
3.2.4 Installing and Compiling mod_ssl (at last!)
|
||
3.3 Apache
|
||
3.4 MySQL
|
||
3.5 PHP 3.0.15
|
||
3.5.1 GD
|
||
3.5.2 IMAP
|
||
3.5.3 OpenLDAP
|
||
3.5.4 Installing and Compiling PHP 3.0.15
|
||
3.6 mod_perl
|
||
3.6.1 Required Perl Modules
|
||
3.6.2 Installing and Compiling mod_perl 1.2x
|
||
3.7 mod_auth_mysql
|
||
3.8 mod_auth_nds
|
||
3.8.1 ncpfs
|
||
3.8.2 Compiling and Installing mod_auth_nds
|
||
3.9 mod_fastcgi
|
||
|
||
4. Final Words
|
||
|
||
4.1 Credits
|
||
4.2 Contact Information
|
||
4.3 Anything Else
|
||
|
||
|
||
______________________________________________________________________
|
||
|
||
1. Legal Stuff
|
||
|
||
Apache+mods mini-HOWTO for Linux Systems
|
||
|
||
Copyright (C)2000 Ray Van Dolson.
|
||
|
||
This document is free; you can redistribute it and/or modify it under
|
||
the terms of the GNU General Public License as published by the Free
|
||
Software Foundation; either version 2 of the License, or (at your
|
||
option) any later version.
|
||
|
||
This document is distributed in the hope that it will be useful, but
|
||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
General Public License for more details.
|
||
|
||
You can get a copy of the GNU GPL at at
|
||
http://www.gnu.org/copyleft/gpl.html
|
||
<http://www.gnu.org/copyleft/gpl.html>.
|
||
|
||
2. Introduction
|
||
|
||
This document outlines the process used to install Apache & modules
|
||
onto the web-server at Walla Walla College (www.wwc.edu). While it
|
||
will be, for the most part, system specific--hopefully it can serve as
|
||
a useful reference for performing other installations.
|
||
|
||
This document will attempt to outline the exact process used to
|
||
install the server. Notes will be made when things should have been
|
||
gone about differently, but the original steps will be given (assuming
|
||
they worked).
|
||
|
||
2.1. Description of the Components
|
||
|
||
The platform on which the web-server was set up is a Red Hat 6.1 based
|
||
system. Linux kernel 2.2.14 (compiled from scratch) running on a Dual
|
||
PIII 600 based system with RAID5 and lots of other goodies.
|
||
|
||
The web-server software is Apache 1.3.12. The following modules were
|
||
added to the server:
|
||
|
||
|
||
<20> mod_fastcgi SNAP (also mod_rewrite), for use with Zope.
|
||
|
||
<20> Auth-MySQL 2.20
|
||
|
||
<20> mod_ssl 2.6.2 (Open-SSL 0.9.5)
|
||
|
||
<20> mod_perl 1.21
|
||
|
||
<20> PHP 3.0.15
|
||
|
||
<20> mod_auth_nds 0.3a
|
||
|
||
2.2. History
|
||
|
||
v0.91 (April 5, 2000)
|
||
|
||
<20> Updated mod_fastcgi to correct version.
|
||
|
||
v0.9 (April 4, 2000)
|
||
|
||
<20> Completed first draft
|
||
|
||
<20> Spelling/Grammar errors
|
||
|
||
v0.1 (March 2000)
|
||
|
||
<20> Initial draft
|
||
|
||
3. Component Installation
|
||
|
||
3.1. Preparations
|
||
|
||
You will need the following software:
|
||
|
||
<20> Apache 1.3.12 <http://www.apache.org/dist/apache_1.3.12.tar.gz>
|
||
|
||
<20> PHP 3.0.15 <http://www.php.net/distributions/php-3.0.15.tar.gz>
|
||
|
||
<20> GD 1.3 (to make use of GIF files)
|
||
|
||
<20> Source <http://www.boutell.com/gd/http/gd-1.3.tar.gz>
|
||
|
||
<20> RPM
|
||
<ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/gd-1.3-5.i386.rpm>
|
||
|
||
<20> RPM-devel
|
||
<ftp://rpmfind.net/linux/redhat/redhat-6.0/i386/RedHat/RPMS/gd-
|
||
devel-1.3-5.i386.rpm>
|
||
|
||
<20> GD 1.8.1 (to make use of PNG files)
|
||
|
||
<20> Source <http://www.boutell.com/gd/http/gd-1.8.1.tar.gz>
|
||
|
||
<20> RPM
|
||
<ftp://rpmfind.net/linux/contrib/libc6/i386/gd-1.8.1-1.i386.rpm>
|
||
|
||
<20> RPM-devel <ftp://rpmfind.net/linux/contrib/libc6/i386/gd-
|
||
devel-1.8.1-1.i386.rpm>
|
||
|
||
<20> IMAP 4.5+
|
||
|
||
<20> Source <ftp://ftp.cac.washington.edu/imap/imap-4.7b.tar.Z>
|
||
|
||
<20> RPM
|
||
<ftp://rpmfind.net/linux/redhat/redhat-6.1/i386/RedHat/RPMS/imap-4.5-4.i386.rpm>
|
||
|
||
<20> OpenLDAP 1.2.9+
|
||
|
||
<20> Source <ftp://ftp.openldap.org/pub/OpenLDAP/openldap-
|
||
release/openldap-1.2.9.tgz>
|
||
|
||
<20> RPM
|
||
<ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/openldap-1.2.9-5.i386.rpm>
|
||
|
||
<20> RPM-devel
|
||
<ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/openldap-
|
||
devel-1.2.9-5.i386.rpm>
|
||
|
||
<20> mod_perl 1.22+ <http://perl.apache.org/dist/mod_perl-1.22.tar.gz>
|
||
|
||
<20> Perl5 Modules Required
|
||
|
||
<20> MIME::Base64 <http://amaunet.informatik.uni-dortmund.de/cgi-
|
||
bin/CPAN/authors/id/GAAS/MIME-Base64-2.11.tar.gz>
|
||
|
||
<20> URI <http://www.perl.com/CPAN-local/modules/by-
|
||
module/URI/URI-1.05.tar.gz>
|
||
|
||
<20> HTML-Parser <http://www.perl.com/CPAN-local/modules/by-
|
||
module/HTML/HTML-Parser-3.07.tar.gz>
|
||
|
||
<20> Digest-MD5 <http://www.perl.com/CPAN-local/modules/by-
|
||
module/Digest/Digest-MD5-2.09.tar.gz>
|
||
|
||
<20> libnet <http://www.perl.com/CPAN-local/modules/by-
|
||
module/Net/libnet-1.0703.tar.gz>
|
||
|
||
<20> libwww <http://www.perl.com/CPAN-local/modules/by-
|
||
module/WWW/libwww-perl-5.47.tar.gz>
|
||
|
||
<20> mod_ssl 2.6.2+
|
||
<http://www.modssl.org/source/mod_ssl-2.6.2-1.3.12.tar.gz>
|
||
|
||
|
||
<20> OpenSSL 0.9.5
|
||
|
||
<20> Source <http://www.openssl.org/source/openssl-0.9.5.tar.gz>
|
||
|
||
<20> RPM
|
||
<ftp://rpmfind.net/linux/contrib/libc6/i386/openssl-0.9.5-1.i386.rpm>
|
||
|
||
<20> RPM-devel <ftp://rpmfind.net/linux/contrib/libc6/i386/openssl-
|
||
devel-0.9.5-1.i386.rpm>
|
||
|
||
<20> RSAREF 2.0
|
||
<ftp://ftp.wwc.edu/pub/apache/modules/mod_ssl/depend/rsaref20.1996.tar.Z>
|
||
|
||
<20> MM 1.0.12 <http://www.engelschall.com/sw/mm/mm-1.0.12.tar.gz>
|
||
|
||
<20> MySQL 3.22.32
|
||
<http://www.mysql.com/Downloads/MySQL-3.22/mysql-3.22.32.tar.gz>
|
||
|
||
<20> mod_auth_nds 0.4
|
||
<ftp://vrooom.at.drew.edu/pub/mod_auth_nds/mod_auth_nds-0.4.tar.gz>
|
||
|
||
<20> ncpfs 2.2.0.17
|
||
<ftp://vrooom.at.drew.edu/pub/mod_auth_nds/ncpfs/ncpfs-2.2.0.17.tgz>
|
||
Note: the kernel must also be compiled with IPX support.
|
||
|
||
<20> mod_auth_mysql 2.20
|
||
<http://bourbon.netvision.net.il/mysql/mod_auth_mysql/mod_auth_mysql-2.20.tar.gz>
|
||
|
||
<20> mod_fastcgi SNAP Oct06
|
||
<http://www.FastCGI.com/dist/mod_fastcgi_SNAP_Oct06.tar.gz>
|
||
|
||
This is the directory layout scheme I use and recommend:
|
||
|
||
|
||
|
||
+ /usr/src
|
||
|
|
||
+-+ apache
|
||
|
|
||
+-+ apache-1.3.12
|
||
|
|
||
+-+ modules
|
||
| |
|
||
| +-+ mod_perl
|
||
| | |
|
||
| | +- mod_perl-1.21
|
||
| | |
|
||
| | +-+ depend
|
||
| | |
|
||
| | +- <perl modules here>
|
||
| |
|
||
| +-+ mod_ssl
|
||
| | |
|
||
| | +- mod_ssl-2.6.2-1.3.12
|
||
| | |
|
||
| | +-+ depend
|
||
| | |
|
||
| | +- openssl-0.9.5
|
||
| | |
|
||
| | +- rsaref-2.0
|
||
| | |
|
||
| | +- mm-1.0.12
|
||
| |
|
||
| +-+ mod_fastcgi_SNAP
|
||
| |
|
||
| +-+ php
|
||
| | |
|
||
| | +- php-3.0.15
|
||
| | |
|
||
| | +-+ depend
|
||
| | |
|
||
| | +- gd-1.3
|
||
| | |
|
||
| | +- imap-4.5
|
||
| | |
|
||
| | +- openldap-1.2.9
|
||
| |
|
||
| +-+ mod_auth_nds
|
||
| | |
|
||
| | +- mod_auth_nds-0.4
|
||
| | |
|
||
| | +-+ depend
|
||
| | |
|
||
| | +- ncpfs-2.2.0.17
|
||
| |
|
||
| +-+ mod_auth_mysql
|
||
|
|
||
+-+ mysql
|
||
|
||
|
||
|
||
Check to see if some of the above modules/software packages are
|
||
already installed on your system. It usually doesn't hurt, however,
|
||
to download everything and install it just in case. You might have an
|
||
older version installed on your system.
|
||
|
||
3.2. mod_ssl
|
||
|
||
|
||
|
||
3.2.1. Installing and Compiling OpenSSL
|
||
|
||
mod_ssl requires some sort of SSL engine be installed. OpenSSL is the
|
||
natural choice for the Linux environment. You can either install it
|
||
via RPM (as I did), or compile it from source. Since I did not
|
||
compile it from source, you're on your own, although I would think it
|
||
pretty straightforward. Most likely you'll either install it on the
|
||
system (into /usr/local or something) or leave it in its directory and
|
||
simply point whichever applications need OpenSSL to its directory.
|
||
|
||
RPM will install OpenSSL into system directories.
|
||
|
||
3.2.2. Installing and Compiling RSAREF 2.0
|
||
|
||
Create the rsaref-2.0 directory wherever you like. For me this is in
|
||
/usr/src/apache/modules/mod_ssl-blah/depend/. Change to this
|
||
directory.
|
||
|
||
|
||
cd rsaref-2.0
|
||
cp -rp install/unix local
|
||
cd local
|
||
make
|
||
mv rsaref librsaref.a
|
||
|
||
|
||
|
||
These commands should build you the rsaref library! Just leave the
|
||
stuff here and when you need to link against it, just point the
|
||
appropriate configure script to this location.
|
||
|
||
3.2.3. Installing and Compiling MM
|
||
|
||
Extract mm-1.0.12 (or whichever version is most current) to the depend
|
||
directory of the mod_ssl-blah subdirectory. Perform the following
|
||
steps:
|
||
|
||
|
||
cd mm-1.0.12
|
||
./configure --disable-shared
|
||
make
|
||
|
||
|
||
|
||
This should build your mm libraries. As above, reference this path
|
||
when needed. You're on your own if you want to install this library
|
||
to the system.
|
||
|
||
3.2.4. Installing and Compiling mod_ssl (at last!)
|
||
|
||
The normal procedure with apxs is to compile Apache first, and then,
|
||
using apxs, compile the modules you want to use and insert them into
|
||
the server. However, mod_ssl needs to be compiled into the server the
|
||
normal way before you can use it via apxs. Once mod_ssl is in the
|
||
server for the first time, you can then upgrade it via apxs without
|
||
having to completely recompile Apache.
|
||
|
||
Enter the directory where you are compiling mod_ssl and execute the
|
||
following configuration directive (here is the file I use) for the
|
||
initial compile:
|
||
|
||
|
||
|
||
#!/bin/sh
|
||
|
||
./configure \
|
||
--with-apache=/usr/src/apache/apache_1.3.12 \
|
||
--with-ssl \
|
||
--with-rsa=../depend/rsaref-2.0/local \
|
||
--with-mm=../depend/mm-1.0.12 \
|
||
--enable-shared=ssl
|
||
|
||
|
||
|
||
You don't need to run 'make' or anything here. When we compile
|
||
Apache, it will do it all for us.
|
||
|
||
This configuration line gives two examples of how your system could be
|
||
set up. In my case, OpenSSL was already installed somewhere in the
|
||
system (probably in /usr/lib, /usr/include). Therefore, I didn't need
|
||
to pass it any location parameters. However, rsa and mm were -not- on
|
||
the system, and I compiled them myself and left them within their
|
||
source trees (didn't run make install, et al). In that case, you need
|
||
to point configure to the appropriate directory so it can find the
|
||
headers/libraries.
|
||
|
||
From this point on, unless you upgrade Apache (in which case you'd
|
||
need to perform the above step again for the new version of Apache),
|
||
you can use apxs to upgrade and recompile mod_ssl. Here is the
|
||
configure script I use for this:
|
||
|
||
|
||
./configure \
|
||
--with-apxs=/apps/apache-1.3.12/bin/apxs \
|
||
--with-ssl=../depend/openssl-0.9.4 \
|
||
--with-rsa=../depend/rsaref-2.0/local \
|
||
--with-mm=../depend/mm-1.0.12
|
||
|
||
|
||
|
||
Or some combination of the above. Then run:
|
||
|
||
|
||
make
|
||
make install
|
||
make distclean
|
||
|
||
|
||
|
||
to complete the installation.
|
||
|
||
Notes: MM is -not- required to compile mod_ssl. If you're having
|
||
problems getting it to work, simply omit compiling it and also from
|
||
the ./configure line(s).
|
||
|
||
When I compiled mod_ssl, I had errors regarding DBM. To fix this, I
|
||
had to add -lndbm to the Makefile:
|
||
|
||
|
||
<20> Run the above configure script.
|
||
|
||
<20> cd to pkg.sslmod
|
||
|
||
<20> Edit the makefile and add -lndbm to LIBS_SHLIB. It should look
|
||
like:
|
||
|
||
<20> LIBS_SHLIB=-lm -lcrypt -lndbdm
|
||
|
||
|
||
Hopefully that will save you some grief.
|
||
|
||
3.3. Apache
|
||
|
||
Extract apache-1.3.12.tar.gz to /usr/src/apache or wherever. Next we
|
||
want to compile Apache enabling the following options:
|
||
|
||
|
||
<20> mod_ssl (In order to compile mod_ssl as a DSO, it has to be first
|
||
compiled into the server normally. After doing this, the module
|
||
can then be upgraded via apxs.)
|
||
|
||
<20> mod_proxy
|
||
|
||
<20> mod_so
|
||
|
||
<20> mod_rewrite (For use with Zope)
|
||
|
||
Here is the configuration file I used to initially compile Apache:
|
||
|
||
|
||
#!/bin/sh
|
||
|
||
SSL_BASE=../depend/openssl-0.9.4 \
|
||
RSA_BASE=../depend/rsaref-2.0/local \
|
||
EAPI_MM=../depend/mm-1.0.12 \
|
||
./configure \
|
||
--enable-module=ssl \
|
||
--enable-module=proxy\
|
||
--enable-shared=proxy\
|
||
--enable-module=rewrite \
|
||
--enable-shared=rewrite \
|
||
--prefix=/apps/apache-1.3.12 \
|
||
--enable-shared=ssl \
|
||
--enable-rule=SHARED_CORE \
|
||
--enable-rule=SHARED_CHAIN \
|
||
--enable-module=so
|
||
|
||
|
||
|
||
Then run
|
||
|
||
|
||
make
|
||
make certificate
|
||
make install
|
||
|
||
|
||
|
||
Apache should now be compiled and installed into whicever directory
|
||
you specified with --prefix. Test it out and make sure it starts up.
|
||
|
||
/path/to/apache/bin/apachectl start
|
||
|
||
or
|
||
|
||
/path/to/apache/bin/apachectl startssl
|
||
|
||
Hopefully it all runs smoothly. If not, trace back over your steps
|
||
and ensure you didn't forget anything.
|
||
|
||
3.4. MySQL
|
||
|
||
php as well as mod_auth_mysql and possibly mod_perl will require that
|
||
MySQL be installed and running on your system. It is beyond the scope
|
||
of this document to go into the details of installing MySQL, but
|
||
download the archive and follow the directions in the INSTALL file(s).
|
||
It is a fairly straight-forward procedure to get MySQL up and running.
|
||
Something like:
|
||
|
||
|
||
./configure
|
||
make
|
||
make install
|
||
|
||
|
||
|
||
Should get everything installed so that you can compile the other
|
||
Apache modules.
|
||
|
||
3.5. PHP 3.0.15
|
||
|
||
We will compile php-3.0.15 as a DSO which means that it is a separate
|
||
module that can be loaded and unloaded from the server. This makes it
|
||
easy to upgrade php without having to recompile everything (which can
|
||
be a pain if you use a lot of modules with Apache).
|
||
|
||
3.5.1. GD
|
||
|
||
In our installation of Apache, php uses gd to create images, and such.
|
||
I used an older version of gd (installed via RPM) to link php against.
|
||
This way we can use output GIF files. This probably isn't too
|
||
desirable do to copyright issues, and thus you may wish to use a
|
||
version later than 1.3 which only supports PNG files.
|
||
|
||
Either install via RPM (rpm -i gd*.rpm) or compile from source and
|
||
install to the system.
|
||
|
||
3.5.2. IMAP
|
||
|
||
If you want IMAP support, the procedure is similar to that of gd. I
|
||
used the RPM since I'm on a Red Hat system, but installing from source
|
||
should be a relatively simple procedure of ./configure;make;make
|
||
install.
|
||
|
||
3.5.3. OpenLDAP
|
||
|
||
Once again you can install OpenLDAP either via RPM or source. I chose
|
||
to do it via source since the latest version was not yet available via
|
||
RPM at the time we were setting things up.
|
||
|
||
|
||
./configure
|
||
make
|
||
make install
|
||
|
||
|
||
|
||
should do the trick! (Or rpm -i openldap*.rpm)
|
||
|
||
3.5.4. Installing and Compiling PHP 3.0.15
|
||
|
||
Once the above items are installed and working, we can go ahead and
|
||
compile PHP as a DSO. The process is very straightforward and simple.
|
||
|
||
|
||
|
||
cd /usr/src/apache/modules/php/php-3.0.15
|
||
|
||
./configure \
|
||
--with-apxs=/apps/apache/bin/apxs \
|
||
--with-config-file-path=/apps/etc \
|
||
--with-gd \
|
||
--with-imap \
|
||
--with-mysql=/apps/mysql \
|
||
--with-ldap=/apps \
|
||
--with-zlib \
|
||
--enable-track-vars
|
||
|
||
|
||
|
||
Make sure that if any of your --with libraries are not installed in
|
||
/usr/local or /usr, that you tack on an =/location/ line so that
|
||
configure can find the stuff it needs!
|
||
|
||
|
||
make
|
||
make install
|
||
|
||
|
||
|
||
If everything completes properly, 'make install' will use apxs to
|
||
install libphp3.so to /apache/libexec/libphp3.so and add the proper
|
||
entries into httpd.conf and activate php3. Pretty slick.
|
||
|
||
3.6. mod_perl
|
||
|
||
This section documents the installation of mod_perl as a DSO for
|
||
Apache. There are a number of perl modules (in addition, of course,
|
||
to perl5, which I will assume you already have installed) that must be
|
||
added before mod_perl will compile without complaining. If you don't
|
||
install these modules, mod_perl should complain and tell you which
|
||
ones you are missing.
|
||
|
||
There is a certain order in which the modules must be installed. Some
|
||
depend on others and thus I've listed the install order that I used
|
||
without any problems.
|
||
|
||
3.6.1. Required Perl Modules
|
||
|
||
The perl modules can be obtained from locations detailed further up in
|
||
this document. Download them and put them wherever you like or in the
|
||
location I used as depicted in the directory map (also above).
|
||
Installing a module is fairly simple. After extracting the module to
|
||
a directory (usually with tar xvfz), you simply change to that
|
||
directory and execute the following commands:
|
||
|
||
|
||
perl Makefile.PL
|
||
make
|
||
make install
|
||
|
||
|
||
|
||
If everything goes as it should, this will configure, build and
|
||
install the perl module for you. Of course, check the README for each
|
||
module if things don't work quite as expected.
|
||
|
||
Here is the order I used to install the modules necessary for
|
||
mod_perl:
|
||
|
||
|
||
|
||
1. MIME::Base64
|
||
|
||
2. URI
|
||
|
||
3. HTML::Parser
|
||
|
||
4. Digest-MD5
|
||
|
||
5. libnet
|
||
|
||
6. libwww
|
||
|
||
3.6.2. Installing and Compiling mod_perl 1.2x
|
||
|
||
After installing the perl modules, we're ready to compile and install
|
||
mod_perl into Apache. Change to the directory where you extracted
|
||
mod_perl to, and run the following script:
|
||
|
||
|
||
perl Makefile.PL \
|
||
USE_APXS=1 \
|
||
WITH_APXS=/path/to/apache/bin/apxs \
|
||
EVERYTHING=1
|
||
|
||
|
||
|
||
This will set up your Makefile and tell mod_perl to compile itself as
|
||
a DSO using apxs (the location of which you must specify). After this
|
||
step, simply run
|
||
|
||
|
||
make
|
||
make install
|
||
|
||
|
||
|
||
And mod_perl will be moved to the appropriate directory and lines
|
||
added to your httpd.conf file.
|
||
|
||
3.7. mod_auth_mysql
|
||
|
||
mod_auth_mysql lets the Apache web-server authorize against a MySQL
|
||
user database. Installation of the module as a DSO isn't exactly
|
||
documented in the README file, but it can be done.
|
||
|
||
First, change to the directory you extracted mod_auth_mysql to. I
|
||
assume that you have MySQL installed somewhere (along with the
|
||
headers, etc). Make sure you know the location of the MySQL libraries
|
||
and header files. If in doubt, check /usr/lib/mysql and
|
||
/usr/include/mysql.
|
||
|
||
In order to compile mod_auth_mysql, we'll first have to rename the
|
||
'config.h' file to 'auth_mysql_config.h'. I'm not sure why this file
|
||
wasn't named correctly, but simply execute the following command:
|
||
|
||
|
||
cp config.h auth_mysql_config.h
|
||
|
||
|
||
|
||
Now for the final step:
|
||
|
||
|
||
/path/to/apache/bin/apxs -i -a -I/usr/include/mysql -L/usr/lib/mysql \
|
||
-lmysqlclient -c mod_auth_mysql.c
|
||
|
||
You may need to run as root if you do not have read/write access to
|
||
the Apache directory.
|
||
|
||
3.8. mod_auth_nds
|
||
|
||
At my school, the Windows network of choice is Netware. It's been in
|
||
place for a long time, and although hopefully someday it will be
|
||
retired, for now it is still the main network on campus for
|
||
filesharing and email. Every student has a Netware account on which
|
||
their personal files--including their webpages are stored. We mount
|
||
these directories on our linux server and it's nice to be able to
|
||
password protect certain ones with the Netware username and password
|
||
information. With this module, Apache can authenticate straight to
|
||
the Netware server itself.
|
||
|
||
3.8.1. ncpfs
|
||
|
||
In order to compile mod_auth_nds, we need to have ncpfs installed
|
||
(along with its headers of course). Before compiling ncpfs, you must
|
||
ensure that your kernel has IPX support compiled in. If this is the
|
||
case, simply running
|
||
|
||
|
||
./configure
|
||
make
|
||
make install (optional)
|
||
|
||
|
||
|
||
will compile (and install) the libraries.
|
||
|
||
3.8.2. Compiling and Installing mod_auth_nds
|
||
|
||
With ncpfs installed, running the following command should compile
|
||
mod_auth_nds as a DSO:
|
||
|
||
|
||
/path/to/apache/bin/apxs -c -lncp -L/usr/lib -I/usr/include mod_auth_nds.c
|
||
/path/to/apache/bin/apxs -i mod_auth_nds.so
|
||
|
||
|
||
|
||
Then add the following lines to your httpd.conf (by hand):
|
||
|
||
|
||
LoadModule nds_auth_module libexec/mod_auth_nds.so
|
||
AddModule mod_auth_nds.c
|
||
|
||
|
||
|
||
Then, restart Apache!
|
||
|
||
3.9. mod_fastcgi
|
||
|
||
Installing mod_fastcgi is necessary if you want to allow access to
|
||
your Zope server through Apache. This might be useful simply because
|
||
Apache is inherently more secure and much more configurable than the
|
||
Zope server itself.
|
||
|
||
The current stable version of mod_fastcgi is 2.2.2, however, this
|
||
version does not work properly with Zope. You must get the SNAP
|
||
release which is dated Oct 06. The link is provided above.
|
||
|
||
Change to the mod_fastcgi directory and run the following commands:
|
||
|
||
|
||
/path/to/apache/bin/apxs -o mod_fastcgi.so -c *.c
|
||
/path/to/apache/bin/apxs -i -a -n fastcgi mod_fastcgi.so
|
||
|
||
|
||
|
||
See the mod_fastcgi documentation for a description of its use.
|
||
|
||
4. Final Words
|
||
|
||
Much of this information can be obtained by reading the README and
|
||
INSTALL files included with the various modules. However, this
|
||
document is useful in the cases which didn't work as expected for me,
|
||
or else for which the installation procedure was not as well defined
|
||
as I would have liked. It also has the added benefit of being one,
|
||
sequential document, which should hopefully be easier to follow and
|
||
understand than a slew of README files.
|
||
|
||
4.1. Credits
|
||
|
||
|
||
Phillip R. Wilson <pwilson@drew.edu>, author of mod_auth_nds, for helping me get
|
||
mod_auth_nds to compile and install with apxs.
|
||
|
||
John Ash <jash@wwc.edu>, my boss, for all sorts of help and of course, a job.
|
||
|
||
Marcus Faure <marcus@faure.de>, author of the Apache SSL PHP/FI frontpage mini-
|
||
HOWTO, whose document this one is loosely based on.
|
||
|
||
|
||
|
||
4.2. Contact Information
|
||
|
||
If you find any blatant errors in this document, spelling,
|
||
grammatical, content or otherwise, please don't hesitate to drop me an
|
||
email. You can get ahold of me via a number of means.
|
||
|
||
|
||
Ray Van Dolson
|
||
Email: <url url="mailto:rayvd@firetail.org" name="rayvd@firetail.org">
|
||
IRC: DALnet, #Bludgeon (nick Variant)
|
||
|
||
|
||
|
||
4.3. Anything Else
|
||
|
||
Everything mentioned in this document will eventually be available for
|
||
ftp from ftp.wwc.edu/pub/apache. I will have everything laid out as
|
||
described above, and hopefully installation scripts to install
|
||
everything from scratch. (A very dumb script mind you).
|
||
|
||
|
||
|