Differences between version 3 and predecessor to the previous major change of HowToApachemods.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 5:05:40 pm | by AristotlePagaltzis | Revert |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:06:13 am | by perry | Revert |
@@ -1,1022 +1 @@
-
-
-
-Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi
-
-
-
-----
-
-!!!Apache+DSO+mod_ssl+mod_perl+php+mod_auth_nds+mod_auth_mysql+mod_fastcgi
-
-!!Ray Van Dolson, rayvd@firetail.orgv0.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.''
-----
-
-
-
-
-!!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.3 Apache
-
-*3.4 MySQL
-
-*3.5 PHP 3..15
-
-*3.6 mod_perl
-
-*3.7 mod_auth_mysql
-
-*3.8 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.
-----
-
-!!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:
-
-
-
-
-
-*mod_fastcgi SNAP (also mod_rewrite), for use with Zope.
-*
-
-*Auth-MySQL 2.20
-*
-
-*mod_ssl 2.6.2 (Open-SSL .9.5)
-*
-
-*mod_perl 1.21
-*
-
-*PHP 3..15
-*
-
-*mod_auth_nds .3a
-*
-
-
-!!2.2 History
-
-
-
-v0.91 (April 5, 2000)
-
-
-*Updated mod_fastcgi to correct version.
-*
-
-
-
-v0.9 (April 4, 2000)
-
-
-*Completed first draft
-*
-
-*Spelling/Grammar errors
-*
-
-
-
-v0.1 (March 2000)
-
-
-*Initial draft
-*
-
-----
-
-!!3. Component Installation
-
-!!3.1 Preparations
-
-
-
-You will need the following software:
-
-
-*
-Apache 1.3.12
-*
-
-*
-PHP 3..15
-
-
-**GD 1.3 (to make use of GIF files)
-
-
-***
-Source
-***
-
-***
-RPM
-***
-
-***
-RPM-devel
-***
-
-
-**
-
-**GD 1.8.1 (to make use of PNG files)
-
-
-***
-Source
-***
-
-***
-RPM
-***
-
-***
-RPM-devel
-***
-
-
-**
-
-**IMAP 4.5+
-
-
-***
-Source
-***
-
-***
-RPM
-***
-
-
-**
-
-**OpenLDAP 1.2.9+
-
-
-***
-Source
-***
-
-***
-RPM
-***
-
-***
-RPM-devel
-***
-
-
-**
-
-
-*
-
-*
-mod_perl 1.22+
-
-
-**''Perl5 Modules Required''
-**
-
-**
-MIME::Base64
-**
-
-**
-URI
-**
-
-**
-HTML-Parser
-**
-
-**
-Digest-MD5
-**
-
-**
-libnet
-**
-
-**
-libwww
-**
-
-
-*
-
-*
-mod_ssl 2.6.2+
-
-
-**OpenSSL .9.5
-
-
-***
-Source
-***
-
-***
-RPM
-***
-
-***
-RPM-devel
-***
-
-
-**
-
-**
-RSAREF 2.
-**
-
-**
-MM 1..12
-**
-
-
-*
-
-*
-MySQL 3.22.32
-*
-
-*
-mod_auth_nds .4
-
-
-**
-ncpfs 2.2..17
-Note: the kernel must also be compiled with IPX support.
-**
-
-
-*
-
-*
-mod_auth_mysql 2.20
-*
-
-*
-mod_fastcgi SNAP Oct06
-*
-
-
-
-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-.9.5
-| | |
-| | +- rsaref-2.
-| | |
-| | +- mm-1..12
-| |
-| +-+ mod_fastcgi_SNAP
-| |
-| +-+ php
-| | |
-| | +- php-3..15
-| | |
-| | +-+ depend
-| | |
-| | +- gd-1.3
-| | |
-| | +- imap-4.5
-| | |
-| | +- openldap-1.2.9
-| |
-| +-+ mod_auth_nds
-| | |
-| | +- mod_auth_nds-.4
-| | |
-| | +-+ depend
-| | |
-| | +- ncpfs-2.2..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
-
-
-!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.
-
-!Installing and Compiling RSAREF 2.
-
-
-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.
-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.
-
-!Installing and Compiling MM
-
-
-Extract mm-1..12 (or whichever version is most current) to the depend
-directory of the mod_ssl-blah subdirectory. Perform the following steps:
-
-
-
-
-cd mm-1..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.
-
-!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./local \
---with-mm=../depend/mm-1..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-.9.4 \
---with-rsa=../depend/rsaref-2./local \
---with-mm=../depend/mm-1..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:''
-
-
-
-
-
-*Run the above configure script.
-*
-
-*cd to pkg.sslmod
-*
-
-*Edit the makefile and add -lndbm to LIBS_SHLIB. It should look like:
-*
-
-*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:
-
-
-
-
-
-*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.)
-*
-
-*mod_proxy
-*
-
-*mod_so
-*
-
-*mod_rewrite (For use with Zope)
-*
-
-
-
-Here is the configuration file I used to initially compile Apache:
-
-
-
-
-#!/bin/sh
-SSL_BASE=../depend/openssl-.9.4 \
-RSA_BASE=../depend/rsaref-2./local \
-EAPI_MM=../depend/mm-1..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..15
-
-
-
-We will compile php-3..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).
-
-!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.
-
-!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.
-
-!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)
-
-!Installing and Compiling PHP 3..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..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.
-
-!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:
-
-
-
-
-
-#MIME::Base64
-#
-
-#URI
-#
-
-#HTML::Parser
-#
-
-#Digest-MD5
-#
-
-#libnet
-#
-
-#libwww
-#
-
-
-!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.
-
-!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.
-
-!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)
.
-----
+Describe [HowToApachemods]
here.