diff options
Diffstat (limited to 'APACHE_1_3_42/README.configure')
-rw-r--r-- | APACHE_1_3_42/README.configure | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/APACHE_1_3_42/README.configure b/APACHE_1_3_42/README.configure new file mode 100644 index 0000000000..3b512554c7 --- /dev/null +++ b/APACHE_1_3_42/README.configure @@ -0,0 +1,288 @@ + + APACHE CONFIGURATION + + Apache 1.3 Autoconf-style Interface (APACI) + =========================================== + + APACI is an Autoconf-style interface for the Unix side of the Apache 1.3 + HTTP server source distribution. It is actually not GNU Autoconf-based, i.e. + the GNU Autoconf package itself is not used. Instead APACI just provides a + similar batch configuration interface and a corresponding out-of-the-box + build and installation procedure. + + The basic goal is to provide the following commonly known and expected + procedure for out-of-the-box building and installing a package like Apache: + + $ gunzip <apache_1.3.X.tar.gz | tar xvf - + $ ./configure --prefix=PREFIX [...] + $ make + $ make install + + NOTE: PREFIX is not the string "PREFIX". Instead use the Unix + filesystem path under which Apache should be installed. For + instance use "/usr/local/apache" for PREFIX above. + + After these steps Apache 1.3 is completely installed under PREFIX and + already initially configured, so you can immediately fire it up the first + time via + + $ PREFIX/sbin/apachectl start + + to get your first success event with the Apache HTTP server without having + to fiddle around with various options for a long time. On the other hand + APACI provides a lot of options to adjust the build and installation process + for flexibly customizing your Apache installation. So, APACI provides both: + Out-of-the-box building and installation for the impatient and powerful + custom configuration for the experts. + + Detailed Description + ==================== + + For a detailed description of all available APACI options please read the + file INSTALL or at least run the command + + $ ./configure --help + + for a compact one-page summary of the possibilities you have. + Alternatively, you can start from the following examples. + + Examples + ======== + + In the following typical or even interesting variants of the available + configuration steps are shown to give you an impression what APACI is good + for and what APACI can do for you to be able to install Apache without much + pain. + + Standard installation + --------------------- + + The standard installation is done via + + $ ./configure --prefix=/path/to/apache + $ make + $ make install + + This builds Apache 1.3 with the standard set of enabled modules + (automatically determined from src/Configuration.tmpl) with an Apache 1.2 + conforming subdirectory layout under /path/to/apache. For using the GNU + style subdirectory layout additionally use the --with-layout=GNU option: + + $ ./configure --with-layout=GNU --prefix=/path/to/apache + $ make + $ make install + + If you are not sure which directory layout you want, you can use the + --show-layout option. It displays the directory layout which would be used + but immediately exits without configuring anything. Examples: + + $ ./configure --show-layout + $ ./configure --prefix=/path/to/apache --show-layout + $ ./configure --with-layout=GNU --prefix=/path/to/apache --show-layout + + Additionally if some of the shown paths still don't fit for your particular + situation, you can use the --bindir, --sbindir, --libexecdir, --mandir, + --sysconfdir, --datadir, --localstatedir, --runtimedir, --logfiledir and + --proxycachedir options to adjust the layout as required. Always check with + --show-layout the resulting directory layout which would be used for + installation. + + suEXEC support + -------------- + + The suEXEC feature of Apache provides a mechanism to run CGI and SSI + programs under the user and group id of the owner of the program. It is + neither installed nor configured per default for Apache 1.3, but APACI + supports it with additional options: + + $ ./configure --prefix=/path/to/apache \ + --enable-suexec \ + --suexec-caller=www \ + --suexec-userdir=.www \ + --suexec-docroot=/path/to/root/dir \ + --suexec-logfile=/path/to/logdir/suexec_log \ + --suexec-uidmin=1000 \ + --suexec-gidmin=1000 \ + --suexec-safepath="/bin:/usr/bin" + $ make + $ make install + + This automatically builds and installs Apache 1.3 with suEXEC support for + the caller uid "www" and the user's homedir subdirs ".www". The default + paths for --suexec-docroot is the value from the --datadir option with + the suffix "/htdocs" and the --logfiledir value with the suffix + "/suexec_log" for the --suexec-logfile option. The access paths for the + suexec program are automatically adjusted and the suexec program is + installed, so Apache can find it on startup. + + Building multiple platforms in parallel + --------------------------------------- + + When you want to compile Apache for multiple platforms in parallel it is + useful to share the source tree (usually via NFS, AFS or DFS) but build the + object files in separated subtrees. This can be accomplished by letting + APACI create a source shadow tree and build there: + + $ ./configure --shadow --prefix=/path/to/apache + $ make + $ make install + + Then APACI first determines the GNU platform triple, creates a shadow tree + in src.<gnu-triple> plus corresponding Makefile.<gnu-triple> and then + performs the complete build process inside this shadow tree. + + Dynamic Shared Object (DSO) support + ----------------------------------- + + Apache 1.3 supports building modules as shared objects on all major Unix + platforms (see section "Supported Platforms" in document + htdocs/manual/dso.html for details). APACI has a nice way of enabling the + building of DSO-based modules and automatically installing them: + + $ ./configure --prefix=/path/to/apache \ + --enable-module=rewrite \ + --enable-shared=rewrite + $ make + $ make install + + This builds and installs Apache with the default configuration except that + it adds the mod_rewrite module and automatically builds and installs it as a + DSO, so it is optionally available for loading under runtime. To make your + life even more easy APACI additionally inserts a corresponding `LoadModule' + line into the httpd.conf file in the installation phase. + + APACI also supports a variant of the --enable-shared option: + + $ ./configure --prefix=/path/to/apache \ + --enable-shared=max + $ make + $ make install + + This enables shared object building for the maximum of modules, i.e. all + enabled modules (--enable-module or the default set) except for mod_so + itself (the bootstrapping module for DSO support). So, to build a + full-powered Apache with maximum flexibility by building and installing most + of the modules, you can use: + + $ ./configure --prefix=/path/to/apache \ + --enable-module=most \ + --enable-shared=max + $ make + $ make install + + This first enables most of the modules (all modules except some problematic + ones like mod_auth_db which needs third party libraries not available on + every platform or mod_log_agent and mod_log_referer which are deprecated) + and then enables DSO support for all of them. This way you get all these + modules installed and you then can decide under runtime (via the + `LoadModule') directives which ones are actually used. This is especially + useful for vendor package maintainers to provide a flexible Apache package. + + On-the-fly added additional/private module + ------------------------------------------ + + For Apache there are a lot of modules flying around on the net which solve + particular problems. For a good reference see the Apache Module Registory at + http://modules.apache.org/ and the Apache Group's contribution directory at + http://www.apache.org/dist/contrib/modules/. These modules usually come in a + file named mod_foo.c. APACI supports adding these sources on-the-fly to the + build process: + + $ ./configure --prefix=/path/to/apache \ + --add-module=/path/to/mod_foo.c + $ make + $ make install + + This automatically copies mod_foo.c to src/modules/extra/, activates it in + the configuration and builds Apache with it. A very useful way is to combine + this with the DSO support: + + $ ./configure --prefix=/path/to/apache \ + --add-module=/path/to/mod_foo.c \ + --enable-shared=foo + $ make + $ make install + + This builds and installs Apache with the default set of modules, but + additionally builds mod_foo as a DSO and adds a `LoadModule' line to the + httpd.conf file to activate it for loading under runtime. + + Apache and mod_perl + ------------------- + + The Apache/Perl integration project (http://perl.apache.org/) from Doug + MacEachern <dougm@perl.apache.org> is a very powerful approach to integrate + a Perl 5 interpreter into the Apache HTTP server both for running Perl + programs and for programming Apache modules in Perl. The distribution + mod_perl-1.XX.tar.gz can be found on http://perl.apache.org/src/. Here is + how you can build and install Apache with mod_perl: + + $ gunzip <apache_1.3.X.tar.gz | tar xvf - + $ gunzip <mod_perl-1.XX.tar.gz | tar xvf - + $ cd mod_perl-1.XX + $ perl Makefile.PL APACHE_SRC=../apache_1.3.X/src \ + DO_HTTPD=1 USE_APACI=1 \ + [EVERYTHING=1 ...] + $ make + $ make install + + [optionally you now have the chance to prepare or add more + third-party modules to the Apache source tree] + + $ cd ../apache_1.3.X + $ ./configure --prefix=/path/to/apache \ + --activate-module=src/modules/perl/libperl.a \ + [--enable-shared=perl] + $ make + $ make install + + Apache and PHP + -------------- + + The PHP language (http://www.php.net) is an HTML-embedded scripting language + which can be directly integrated into the Apache HTTP server for powerful HTML + scripting. The package can be found at http://www.php.net/downloads.php + + 1. How you can install Apache with a statically linked PHP: + + $ gunzip <apache_1.3.X.tar.gz | tar xvf - + $ gunzip <php-3.0.tar.gz | tar xvf - + $ cd apache_1.3.X + $ ./configure --prefix=/path/to/apache + $ cd ../php-3.0 + $ ./configure --with-apache=../apache_1.3.X + $ make + $ make install + + [optionally you now have the chance to prepare or add more + third-party modules to the Apache source tree] + + $ cd ../apache_1.3.X + $ ./configure --prefix=/path/to/apache \ + --activate-module=src/modules/php3/libphp3.a + $ make + $ make install + + 2. You can also use APXS: + + $ cd apache-1.3.X + $ ./configure --prefix=/path/to/apache --enable-shared=max + $ make + $ make install + + $ cd php-3.0.X + $ ./configure --with-apxs=/path/to/apache/bin/apxs \ + --with-config-file-path=/path/to/apache + $ make + $ make install + + At this point don't forget to edit your conf/httpd.conf file and + make sure the file contains the line for PHP 3: + + AddType application/x-httpd-php3 .php3 + + Or this line for PHP 4: + + AddType application/x-httpd-php .php + + Then restart your server. |