README
1
2 Apache HTTP Server
3
4 What is it?
5 -----------
6
7 The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant
8 web server. Originally designed as a replacement for the NCSA HTTP
9 Server, it has grown to be the most popular web server on the
10 Internet. As a project of the Apache Software Foundation, the
11 developers aim to collaboratively develop and maintain a robust,
12 commercial-grade, standards-based server with freely available
13 source code.
14
15 The Latest Version
16 ------------------
17
18 Details of the latest version can be found on the Apache HTTP
19 server project page under <http://httpd.apache.org/>.
20
21 Documentation
22 -------------
23
24 The documentation available as of the date of this release is
25 included in HTML format in the docs/manual/ directory. The most
26 up-to-date documentation for the 2.2.x releases can be found at
27 <http://httpd.apache.org/docs/2.2/>.
28
29 Installation
30 ------------
31
32 Please see the file called INSTALL. Platform specific notes can be
33 found in README.platforms.
34
35 Licensing
36 ---------
37
38 Please see the file called LICENSE.
39
40 Cryptographic Software Notice
41 -----------------------------
42
43 This distribution may include software that has been designed for use
44 with cryptographic software. The country in which you currently reside
45 may have restrictions on the import, possession, use, and/or re-export
46 to another country, of encryption software. BEFORE using any encryption
47 software, please check your country's laws, regulations and policies
48 concerning the import, possession, or use, and re-export of encryption
49 software, to see if this is permitted. See <http://www.wassenaar.org/>
50 for more information.
51
52 The U.S. Government Department of Commerce, Bureau of Industry and
53 Security (BIS), has classified this software as Export Commodity
54 Control Number (ECCN) 5D002.C.1, which includes information security
55 software using or performing cryptographic functions with asymmetric
56 algorithms. The form and manner of this Apache Software Foundation
57 distribution makes it eligible for export under the License Exception
58 ENC Technology Software Unrestricted (TSU) exception (see the BIS
59 Export Administration Regulations, Section 740.13) for both object
60 code and source code.
61
62 The following provides more details on the included files that
63 may be subject to export controls on cryptographic software:
64
65 Apache httpd 2.0 and later versions include the mod_ssl module under
66 modules/ssl/
67 for configuring and listening to connections over SSL encrypted
68 network sockets by performing calls to a general-purpose encryption
69 library, such as OpenSSL or the operating system's platform-specific
70 SSL facilities.
71
72 In addition, some versions of apr-util provide an abstract interface
73 for SSL encrypted network sockets in the files under the directory
74 srclib/apr-util/ssl/
75 that makes use of a general-purpose encryption library, such as
76 OpenSSL or the operating system's platform-specific SSL facilities.
77 Apache httpd currently does not use that apr-util interface.
78
79 Some object code distributions of Apache httpd, indicated with the
80 word "crypto" in the package name, may include object code for the
81 OpenSSL encryption library as distributed in open source form from
82 <http://www.openssl.org/source/>.
83
84 The above files are optional and may be removed if the cryptographic
85 functionality is not desired or needs to be excluded from redistribution.
86 Distribution packages of Apache httpd that include the word "nossl"
87 in the package name have been created without the above files and are
88 therefore not subject to this notice.
89
90 Contacts
91 --------
92
93 o If you want to be informed about new code releases, bug fixes,
94 security fixes, general news and information about the Apache server
95 subscribe to the apache-announce mailing list as described under
96 <http://httpd.apache.org/lists.html#http-announce>
97
98 o If you want freely available support for running Apache please join the
99 Apache user community by subscribing to Users Mailing List at
100 <http://httpd.apache.org/userslist.html> or one of the following
101 USENET newsgroups:
102 comp.infosystems.www.servers.unix
103 comp.infosystems.www.servers.ms-windows
104 Also available at:
105 <http://groups.google.com/groups?group=comp.infosystems.www.servers>
106
107 o If you want commercial support for running Apache please contact
108 one of the companies and contractors which are listed at
109 <http://www.apache.org/info/support.cgi>
110
111 o If you have a concrete bug report for Apache please go to the
112 Apache Group Bug Database and submit your report:
113 <http://httpd.apache.org/bug_report.html>
114
115 o If you want to participate in actively developing Apache please
116 subscribe to the `dev@httpd.apache.org' mailing list as described at
117 <http://httpd.apache.org/lists.html#http-dev>
118
119 Acknowledgments
120 ----------------
121
122 We wish to acknowledge the following copyrighted works that
123 make up portions of the Apache software:
124
125 Portions of this software were developed at the National Center
126 for Supercomputing Applications (NCSA) at the University of
127 Illinois at Urbana-Champaign.
128
129 This software contains code derived from the RSA Data Security
130 Inc. MD5 Message-Digest Algorithm, including various
131 modifications by Spyglass Inc., Carnegie Mellon University, and
132 Bell Communications Research, Inc (Bellcore).
133
134 Regular expression support is provided by the PCRE library package, which
135 is open source software, written by Philip Hazel, and copyright by the
136 University of Cambridge, England. The original software is available from
137 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
138
139 Apache 2 relies heavily on the use of autoconf and libtool to provide
140 a build environment.
141
README-win32.txt
1New version of APR
2------------------
3
4Note that the included APR is now version 1.3, which adds several
5subtle changes in the behavior of file handling, pipes and process
6creation. Most importantly, there is finer control over the handles
7inherited by processes, so the mod_fastcgi or mod_fcgid modules must
8be updated for httpd-2.2.9 to run correctly on Windows.
9
10Most other third party modules are unaffected by this change.
11
12
13Connecting to databases
14-----------------------
15
16Five SQL driver connectors (dbd) are provided in the binary distribution,
17for MySQL, SQLite3, PostgreSQL, Oracle and ODBC. Two keyed database
18connectors are provided, SDBM and Oracle Berkeley DB. All but SDBM will
19require you to install the corresponding client driver libraries.
20
21The sqlitedll.zip binary (containing sqlite3.dll) can be obtained from
22 http://www.sqlite.org/download.html
23note that this binary was built with version 3.6.16 (earlier and later
24version 3.6 driver .dll's may work.) The lib binding is created using
25LIB /DEF:sqlite3.def and using the .h files from the _amalgamation zip.
26
27The Oracle Instant Client - Basic driver can be obtained from
28 http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
29and note that this binary was built against version 11.1.0.6.0,
30other version 11.1 drivers may work.
31
32The PostgreSQL client binaries may be obtained from
33 http://www.postgresql.org/ftp/binary/v8.3.1/win32/
34and note that this binary was built against version 8.3.1-1, and
35again it may work with other 8.1 version .dll's.
36
37The MySQL client binaries ("Essentials" is sufficient) is obtained from
38 http://dev.mysql.com/downloads/mysql/5.1.html#win32
39but note that once using the MySQL database, the applicable exception
40clause demands copy-left terms on the resulting combination.
41
42The Oracle Berkeley DB binaries may be obtained from
43 http://www.oracle.com/technology/software/products/berkeley-db/index.html
44but note that once using the Berkeley DB code, the Oracle license
45demands copy-left terms on the resulting combination.
46
47NOTE: For whichever database backend(s) you configure, the corresponding
48driver .dll's must be in your PATH to test from console mode, and in the
49systemwide path if used for a service such as Apache httpd.
50
51The FreeTDS driver is not built on Windows, since the Microsoft ODBC is
52provided instead. The sqlite2 and ndbm drivers are not used on Windows,
53as there is no point in legacy support of these old versions. The ASF
54does not distribute binary builds of the gdbm binding.
55
56
README.platforms
1
2 Apache HTTP Server
3
4 Platform specific notes:
5 ------------------------
6
7================
8 Darwin (OS X):
9 Apache 2 relies heavily on the use of autoconf and libtool to
10 provide a build environment. Darwin provides these tools as part
11 of the Developers Tools package. Under Darwin, however, GNUlibtool
12 is installed as 'glibtool' to avoid conflicting with the Darwin
13 'libtool' program. Apache 2 knows about this so that's not a
14 problem.
15
16 As of OS X 10.2 (Jaguar), the bundled versions work perfectly. Partly
17 this is due to the fact that /bin/sh is now 'bash' and not 'zsh' as
18 well as the fact that the bundled versions are up-to-date:
19 autoconf 2.52 and (g)libtool 1.4.2.
20
21 Earlier versions of OS X are not so fortunate, and the bundled tools
22 are not only older versions, but also, for the most part, do not work
23 well. If you are interested in developing under Darwin, we
24 recommend that you obtain and install replacement versions of what
25 are normally installed on Darwin (and OS X, as of v10.1.5). If
26 you build your own versions of autoconf 2.52 and libtool 1.4.2, be
27 aware that there are some Darwin specific patches to the official
28 code that still must be applied for them to fully work. A useful
29 page to check out is:
30
31 http://fink.sourceforge.net/doc/porting/libtool.php
32
33 Pier Fumagalli also provides pre-built Darwin packages of the
34 patched autoconf and libtool suites, available at:
35
36 http://www.apache.org/~pier/macosx/
37
38 You will note that GNU libtool should actually be installed as
39 glibtool, to avoid conflict with a Darwin program of the same
40 name. Pier's packages have this change already. All files are
41 installed under /usr/local/ so to use these versions, and be sure
42 that /usr/local/bin is earlier in your PATH.
43
44 There have been some reports that autoconf 2.52 prevents Apache's
45 build system from correctly handling passing multi-value envvars
46 to the build system (eg: CFLAGS="-g -O3" ./configure), causing
47 errors. Use of bash does not seem to help in this situation. If
48 this affects you, downgrading to autoconf 2.13 (which is installed
49 on Darwin) will help.
50
51 With Leopard (at least up to 10.5.2), when running configure
52 you will likely see errors such as:
53
54 rm: conftest.dSYM: is a directory
55
56 This is a known issue and will be fixed in a later version of the
57 autoconf suite. These errors can be safely ignored.
58
59 With Darwin 10, the default C compiler (gcc) will try to build
60 multi-architecture bundles. This causes problems with APR, which
61 needs to know various data-type sizes which it assumes are universal
62 for platforms. Until this is fully fixed, we recommend using the
63 '-arch i386' gcc option when building both Apache and APR.
64
65==========
66 FreeBSD:
67 autoconf 2.52 creates scripts that are incompatible with the Posix
68 shell implementation (/bin/sh) on FreeBSD. Be sure to use v2.13
69 of autoconf.
70
71 Threaded MPMs are not supported on FreeBSD 4.x. Current releases of
72 FreeBSD 5.x (5.2 or later) support threaded MPMs correctly. You must pass
73 '--enable-threads=yes' to APR's configure in order to enable threads.
74 Additionally, you must use libthr or libkse via libmap.conf as the default
75 libc_r is still broken as of this writing. Please consult the man page for
76 libmap.conf for more details about configuring libthr or libkse.
77================
78 HP-UX:
79 The dlopen() system call in HP-UX has problems when loading/unloading
80 C++ modules. The problem can be resolved by using shl_load() instead
81 of dlopen(). This is fixed in the Apache 2.0.44 release.
82 To enable loading of C++ modules, the httpd binary has to be linked with
83 the following libraries :
84
85 HP-UX (11.0 / 11i):
86 When using shl_load : "cpprt0_stub.s -lcl"
87 When using dlopen : "cpprt0_stub.s -lcl -lCsup"
88
89 HP-UX (11i version 1.5 and greater):
90 When using dlopen/shl_load : "cpprt0_stub.s -lcl -lunwind"
91
92 The cpprt0_stub.s can be downloaded from the web site :
93 http://h21007.www2.hp.com/hpux-devtools/CXX/hpux-devtools.0107/0083.html
94
95 Compile cpprt0_stub.s with the PIC option
96 cc -c +z cpprt0_stub.s
97 - OR -
98 gcc -c -fPIC cpprt0_stub.s
99================
100 AIX, using the vendor C compiler with optimization:
101 There is an issue with compiling server/core.c with optimization enabled
102 which has been seen with C for AIX 5.0.2.3 and above. (5.0.2.0, 5.0.2.1,
103 and 5.0.2.2 have an additional problem with Apache 2.0.x, so either upgrade
104 the compiler or don't use optimization in order to avoid it.)
105
106 cc_r works fine with -O2 but xlc_r does not. In order to use xlc_r with
107 -O2, apply the patch at
108
109 http://www.apache.org/dist/httpd/patches/apply_to_2.0.49/aix_xlc_optimization.patch
110
111 (That patch works with many recent levels of Apache 2+.)
112
113================
114 Solaris:
115
116 On Solaris, better performance may be achieved by using the Sun Studio
117 compiler instead of gcc. As of version 11, it is now free (registration
118 required). Download the compiler from:
119
120 http://developers.sun.com/prodtech/cc/downloads/index.jsp
121
122 If you use Sun Studio, the following compiler flags (CFLAGS) are
123 recommended:
124
125 -XO4 -xchip=generic
126
127