diff options
author | Bob Beck <beck@cvs.openbsd.org> | 1998-10-01 17:29:05 +0000 |
---|---|---|
committer | Bob Beck <beck@cvs.openbsd.org> | 1998-10-01 17:29:05 +0000 |
commit | 5a9b340756970ac8e113d5392049187d2a149fd0 (patch) | |
tree | 462af496540ddee8c4ea2050f18a981a32e57e96 /usr.sbin/httpd | |
parent | 97cde54c34273f70c523c810b3cb750e8da457a7 (diff) |
Config and wrapper for 1.3.2.
Diffstat (limited to 'usr.sbin/httpd')
-rw-r--r-- | usr.sbin/httpd/src/Configuration | 258 | ||||
-rw-r--r-- | usr.sbin/httpd/src/Makefile.bsd-wrapper | 4 |
2 files changed, 179 insertions, 83 deletions
diff --git a/usr.sbin/httpd/src/Configuration b/usr.sbin/httpd/src/Configuration index 27baba12831..48a8dd2bc50 100644 --- a/usr.sbin/httpd/src/Configuration +++ b/usr.sbin/httpd/src/Configuration @@ -14,12 +14,12 @@ # # Makefile options, such as CC=gcc, etc... # -# Rules, distinquished by having "Rule" at the front. These are used to +# Rules, distinguished by having "Rule" at the front. These are used to # control Configure's behavior as far as how to create Makefile. # -# Module selection lines, distinguished by having 'Module' at the front. -# These list the configured modules, in reverse priority order (lowest -# priority first). They're down at the bottom. +# Module selection lines, distinguished by having 'AddModule' at the front. +# These list the configured modules, in priority order (highest priority +# last). They're down at the bottom. # # Optional module selection lines, distinguished by having `%Module' # at the front. These specify a module that is to be compiled in (but @@ -37,30 +37,89 @@ # will be added to whatever flags Configure determines as appropriate # and needed for your platform. # -# You can also set the compiler and Optimization used here as well. -# Settings here have priority; If not set, Configure will attempt to guess -# the C compiler, and set OPTIM to '-O2' +# You can also set the compiler (CC) and optimization (OPTIM) used here as +# well. Settings here have priority; If not set, Configure will attempt to +# guess the C compiler, looking for gcc first, then cc. # -# REDHAT LINUX 5.0 USERS PLEASE NOTE! You have to add -lcrypt to -# EXTRA_LIBS. This is fixed in 1.3 but will not be fixed in 1.2. +# Optimization note: +# Be careful when adding optimization flags (like -O3 or -O6) on the OPTIM +# entry, especially when using some GCC variants. Experience showed that using +# these for compiling Apache is risky. If you don't want to see Apache dumping +# core regularly then at most use -O or -O2. +# +# The EXTRA_DEPS can be used to add extra Makefile dependencies to external +# files (for instance third-party libraries) for the httpd target. The effect +# is that httpd is relinked when those files are changed. # EXTRA_CFLAGS= -EXTRA_LFLAGS= +EXTRA_LDFLAGS= EXTRA_LIBS= EXTRA_INCLUDES= +EXTRA_DEPS= #CC= -#OPTIM=-O2 +#CPP= +#OPTIM= #RANLIB= ################################################################ +# Dynamic Shared Object (DSO) support +# +# There is experimental support for compiling the Apache core and +# the Apache modules into dynamic shared object (DSO) files for +# maximum runtime flexibility. +# +# The Configure script currently has only limited built-in +# knowledge on how to compile these DSO files because this is +# heavily platform-dependent. The current state of supported and +# explicitly unsupported platforms can be found in the file +# "htdocs/manual/dso.html", under "Supported Platforms". +# +# For other platforms where you want to use the DSO mechanism you +# first have to make sure it supports the pragmatic dlopen() +# system call and then you have to provide the appropriate +# compiler and linker flags below to create the DSO files on your +# particular platform. +# +# The placement of the Apache core into a DSO file is triggered +# by the SHARED_CORE rule below while support for building +# individual Apache Modules as DSO files and loading them under +# runtime without recompilation is triggered by `SharedModule' +# commands. To be able to use the latter one first enable the +# module mod_so (see corresponding `AddModule' command below). +# Then enable the DSO feature for particular modules individually +# by replacing their `AddModule' command with `SharedModule' and +# change the filename extension from `.o' to `.so'. +# +# Sometimes the DSO files need to be linked against other shared +# libraries to explicitly resolve symbols from them when the +# httpd program not already contains references to them. For +# instance when buidling mod_auth_db as a DSO you need to link +# the DSO against the libdb explicity because the Apache kernel +# has no references for this library. But the problem is that +# this "chaining" is not supported on all platforms. Although one +# usually can link a DSO against another DSO without linker +# complains the linkage is not really done on these platforms. +# So, when you receive "unresolved symbol" errors under runtime +# when using the LoadModule directive for a particular module try +# to enable the SHARED_CHAIN rule below. + +#CFLAGS_SHLIB= +#LD_SHLIB= +#LDFLAGS_SHLIB= +#LDFLAGS_SHLIB_EXPORT= + +Rule SHARED_CORE=default +Rule SHARED_CHAIN=default + +################################################################ # Rules configuration # # These are used to let Configure know that we want certain # functions. The format is: Rule RULE=value # # At present, only the following RULES are known: WANTHSREGEX, SOCKS4, -# STATUS, and IRIXNIS. +# SOCKS5, IRIXNIS, IRIXN32 and PARANOID. # # For all Rules, if set to "yes", then Configure knows we want that # capability and does what is required to add it in. If set to "default" @@ -68,43 +127,58 @@ EXTRA_INCLUDES= # present, then nothing is done. # # SOCKS4: -# If SOCKS4 is set to 'yes', be sure that you add the sock library +# If SOCKS4 is set to 'yes', be sure that you add the socks library # location to EXTRA_LIBS, otherwise Configure will assume # "-L/usr/local/lib -lsocks" # -# STATUS: -# If Configure determines that you are using the status_module, -# it will automatically enable full status information if set -# to 'yes'. If the status module is not included, having STATUS -# set to 'yes' has no impact. +# SOCKS5: +# If SOCKS5 is set to 'yes', be sure that you add the socks5 library +# location to EXTRA_LIBS, otherwise Configure will assume +# "-L/usr/local/lib -lsocks5" # # IRIXNIS: # Only takes effect if Configure determines that you are running -# SGI IRIX. If you are, and you are using NIS, you should set this -# to 'yes' +# SGI IRIX. If you are using a (ancient) 4.x version of IRIX, you +# need this if you are using NIS and Apache needs access to it for +# things like mod_userdir. This is not required on 5.x and later +# and you should not enable it on such systems. +# +# IRIXN32: +# If you are running a version of IRIX and Configure detects +# n32 libraries, it will use those instead of the o32 ones. +# +# PARANOID: +# New with version 1.3, during Configure modules can run +# pre-programmed shell commands in the same environment that +# Configure runs in. This allows modules to control how Configure +# works. Normally, Configure will simply note that a module +# is performing this function. If PARANOID is set to yes, it will +# actually print-out the code that the modules execute # -Rule STATUS=yes Rule SOCKS4=no +Rule SOCKS5=no Rule IRIXNIS=no +Rule IRIXN32=no +Rule PARANOID=no # The following rules should be set automatically by Configure. However, if # they are not set by Configure (because we don't know the correct value for # your platform), or are set incorrectly, you may override them here. # If you have to do this, please let us know what you set and what your # platform is, by filling out a problem report form at the Apache web site: -# <http://www.apache.org/bugdb.cgi>. If your browser is forms-incapable, -# you can get the information to us by sending mail to apache-bugs@apache.org. +# <http://bugs.apache.org/>. If your browser is forms-incapable, you +# can get the information to us by sending mail to apache-bugs@apache.org. # # WANTHSREGEX: # Apache requires a POSIX regex implementation. Henry Spencer's # excellent regex package is included with Apache and can be used # if desired. If your OS has a decent regex, you can elect to # not use this one by setting WANTHSREGEX to 'no' or commenting -# out the Rule. The "default" action is "no" unless overruled +# out the Rule. The "default" action is "yes" unless overruled # by OS specifics -Rule WANTHSREGEX=default +Rule WANTHSREGEX=no ################################################################ # Module configuration @@ -121,6 +195,13 @@ Rule WANTHSREGEX=default # is and the more memory it will take, so if you are unlikely to use the # functionality of a particular module you might wish to leave it out. +## mod_mmap_static is an experimental module, you almost certainly +## don't need it. It can make some webservers faster. No further +## documentation is provided here because you'd be foolish +## to use mod_mmap_static without reading the full documentation. + +# AddModule modules/experimental/mod_mmap_static.o + ## ## Config manipulation modules ## @@ -128,147 +209,148 @@ Rule WANTHSREGEX=default ## passed to CGI/SSI scripts. It is listed first (lowest priority) since ## it does not do per-request stuff. -Module env_module mod_env.o - -## mod_dld defines commands that allow other modules to be loaded -## dynamically (at runtime). This module is for experimental use only. - -# Module dld_module mod_dld.o +AddModule modules/standard/mod_env.o ## ## Request logging modules ## -Module config_log_module mod_log_config.o +AddModule modules/standard/mod_log_config.o ## Optional modules for NCSA user-agent/referer logging compatibility ## We recommend, however, that you just use the configurable access_log. -# Module agent_log_module mod_log_agent.o -# Module referer_log_module mod_log_referer.o +# AddModule modules/standard/mod_log_agent.o +# AddModule modules/standard/mod_log_referer.o ## ## Type checking modules ## +## mod_mime_magic determines the type of a file by examining a few bytes +## of it and testing against a database of filetype signatures. It is +## based on the unix file(1) command. ## mod_mime maps filename extensions to content types, encodings, and -## magic type handlers (the latter is obsoleted by mod_actions). +## "magic" type handlers (the latter is obsoleted by mod_actions, and +## don't confuse it with the previous module). ## mod_negotiation allows content selection based on the Accept* headers. -Module mime_module mod_mime.o -Module negotiation_module mod_negotiation.o +# AddModule modules/standard/mod_mime_magic.o +AddModule modules/standard/mod_mime.o +AddModule modules/standard/mod_negotiation.o ## ## Content delivery modules ## ## The status module allows the server to display current details about ## how well it is performing and what it is doing. Consider also enabling -## STATUS=yes (see the Rules section near the start of this file) to allow -## full status information. Check conf/access.conf on how to enable this. +## the 'ExtendedStatus On' directive to allow full status information. +## Please note that doing so can result in a palpable performance hit. -# Module status_module mod_status.o +AddModule modules/standard/mod_status.o ## The Info module displays configuration information for the server and ## all included modules. It's very useful for debugging. -# Module info_module mod_info.o +# AddModule modules/standard/mod_info.o ## mod_include translates server-side include (SSI) statements in text files. -## mod_dir handles requests on directories and directory indexes. +## mod_autoindex handles requests for directories which have no index file +## mod_dir handles requests on directories and directory index files. ## mod_cgi handles CGI scripts. -Module includes_module mod_include.o -Module dir_module mod_dir.o -Module cgi_module mod_cgi.o +AddModule modules/standard/mod_include.o +AddModule modules/standard/mod_autoindex.o +AddModule modules/standard/mod_dir.o +AddModule modules/standard/mod_cgi.o -## The asis module implemented ".asis" file types, which allow the embedding +## The asis module implements ".asis" file types, which allow the embedding ## of HTTP headers at the beginning of the document. mod_imap handles internal ## imagemaps (no more cgi-bin/imagemap/!). mod_actions is used to specify ## CGI scripts which act as "handlers" for particular files, for example to ## automatically convert every GIF to another file type. -Module asis_module mod_asis.o -Module imap_module mod_imap.o -Module action_module mod_actions.o +AddModule modules/standard/mod_asis.o +AddModule modules/standard/mod_imap.o +AddModule modules/standard/mod_actions.o ## ## URL translation modules. ## + +## The Speling module attempts to correct misspellings of URLs that +## users might have entered, namely by checking capitalizations +## or by allowing up to one misspelling (character insertion / omission / +## transposition/typo). This catches the majority of misspelled requests. +## If it finds a match, a "spelling corrected" redirection is returned. + +# AddModule modules/standard/mod_speling.o + ## The UserDir module for selecting resource directories by user name ## and a common prefix, e.g., /~<user> , /usr/web/<user> , etc. -Module userdir_module mod_userdir.o +# AddModule modules/standard/mod_userdir.o ## The proxy module enables the server to act as a proxy for outside ## http and ftp services. It's not as complete as it could be yet. ## NOTE: You do not want this module UNLESS you are running a proxy; ## it is not needed for normal (origin server) operation. -#Module proxy_module modules/proxy/libproxy.a +# AddModule modules/proxy/libproxy.a ## The Alias module provides simple URL translation and redirection. -Module alias_module mod_alias.o +AddModule modules/standard/mod_alias.o -## mod_rewrite allows for powerful URI-to-URI and URI-to-filename mapping, -## using regular expressions. +## The URL rewriting module allows for powerful URI-to-URI and +## URI-to-filename mapping using a regular expression based +## rule-controlled rewriting engine. -# Module rewrite_module mod_rewrite.o +# AddModule modules/standard/mod_rewrite.o ## ## Access control and authentication modules. ## -Module access_module mod_access.o -Module auth_module mod_auth.o +AddModule modules/standard/mod_access.o +AddModule modules/standard/mod_auth.o ## The anon_auth module allows for anonymous-FTP-style username/ ## password authentication. -# Module anon_auth_module mod_auth_anon.o +# AddModule modules/standard/mod_auth_anon.o ## db_auth and dbm_auth work with Berkeley DB files - make sure there ## is support for DBM files on your system. You may need to grab the GNU ## "gdbm" package if not and possibly adjust EXTRA_LIBS. (This may be ## done by Configure at a later date) -Module db_auth_module mod_auth_db.o -Module dbm_auth_module mod_auth_dbm.o - -## msql_auth checks against an mSQL database. You must have mSQL installed -## and an "msql.h" available for this to even compile. Additionally, -## you may need to add a couple entries to the EXTRA_LIBS line, like -## -## -lmsql -L/usr/local/lib -L/usr/local/Minerva/lib -## -## This depends on your installation of mSQL. (This may be done by Configure -## at a later date) - -# Module msql_auth_module mod_auth_msql.o +AddModule modules/standard/mod_auth_dbm.o +AddModule modules/standard/mod_auth_db.o ## "digest" implements HTTP Digest Authentication rather than the less ## secure Basic Auth used by the other modules. -# Module digest_module mod_digest.o +# AddModule modules/standard/mod_digest.o ## Optional response header manipulation modules. ## ## cern_meta mimics the behavior of the CERN web server with regards to ## metainformation files. -# Module cern_meta_module mod_cern_meta.o +# AddModule modules/standard/mod_cern_meta.o ## The expires module can apply Expires: headers to resources, ## as a function of access time or modification time. -# Module expires_module mod_expires.o +# AddModule modules/standard/mod_expires.o ## The headers module can set arbitrary HTTP response headers, ## as configured in server, vhost, access.conf or .htaccess configs -# Module headers_module mod_headers.o +# AddModule modules/standard/mod_headers.o ## Miscellaneous modules ## -## mod_usertrack.c is the new name for mod_cookies.c. This module +## mod_usertrack is the new name for mod_cookies. This module ## uses Netscape cookies to automatically construct and log ## click-trails from Netscape cookies, or compatible clients who ## aren't coming in via proxy. @@ -276,17 +358,31 @@ Module dbm_auth_module mod_auth_dbm.o ## You do not need this, or any other module to allow your site ## to use Cookies. This module is for user tracking only -# Module usertrack_module mod_usertrack.o +# AddModule modules/standard/mod_usertrack.o ## The example module, which demonstrates the use of the API. See ## the file modules/example/README for details. This module should ## only be used for testing -- DO NOT ENABLE IT on a production server. -# Module example_module modules/example/mod_example.o +# AddModule modules/example/mod_example.o + +## mod_unique_id generates unique identifiers for each hit, which are +## available in the environment variable UNIQUE_ID. It may not work on all +## systems, hence it is not included by default. + +# AddModule modules/standard/mod_unique_id.o -## mod_browser lets you set environment variables based on the User-Agent -## string in the request; this is useful for conditional HTML, for example. +## mod_so lets you add modules to Apache without recompiling. +## This is an experimental feature at this stage and only supported +## on a subset of the platforms we generally support. +## Don't change this entry to a 'SharedModule' variant (Bootstrapping!) + +# AddModule modules/standard/mod_so.o + +## mod_setenvif lets you set environment variables based on the HTTP header +## fields in the request; this is useful for conditional HTML, for example. ## Since it is also used to detect buggy browsers for workarounds, it ## should be the last (highest priority) module. -Module browser_module mod_browser.o +AddModule modules/standard/mod_setenvif.o + diff --git a/usr.sbin/httpd/src/Makefile.bsd-wrapper b/usr.sbin/httpd/src/Makefile.bsd-wrapper index d49a5fc72e1..3dd71d4f802 100644 --- a/usr.sbin/httpd/src/Makefile.bsd-wrapper +++ b/usr.sbin/httpd/src/Makefile.bsd-wrapper @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.bsd-wrapper,v 1.4 1998/03/26 18:10:43 deraadt Exp $ +# $OpenBSD: Makefile.bsd-wrapper,v 1.5 1998/10/01 17:29:04 beck Exp $ .include <bsd.own.mk> PROG=httpd BINDIR=/usr/sbin @@ -12,7 +12,7 @@ all: Makefile .FORCE: .IGNORE helpers/GuessOS: - lndir -e Makefile.bsd-wrapper -e obj ${.CURDIR} ${.OBJDIR} + lndir -e Makefile.bsd-wrapper -e obj ${.CURDIR} ${.OBJDIR}; touch ${.OBJDIR}/Configuration config: .FORCE sh ${.CURDIR}/Configure -file ${.CURDIR}/Configuration -make ${.CURDIR}/Makefile.tmpl |