Documente Academic
Documente Profesional
Documente Cultură
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
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.
Requirements
Disk Space:
Make sure you have approximately 12 MB of temporary free disk space available. After
installation Apache occupies approximately 3 MB of disk space (the actual required disk space
depends on the amount of compiled in third party modules, etc).
ANSI-C Compiler:
Make sure you have an ANSI-C compiler installed. The GNU C compiler (GCC) from the Free
Software Foundation (FSF) is recommended (version 2.7.2 is fine). If you don't have GCC then at
least make sure your vendors compiler is ANSI compliant. You can find the homepage of GNU at
http://www.gnu.org/ and the GCC distribution under http://www.gnu.org/order/ftp.html .
Perl 5 Interpreter [OPTIONAL]:
For some of the support scripts like `apxs' or `dbmmanage' (which are written in Perl) the Perl 5
interpreter is required (versions 5.003 and 5.004 are fine). If no such interpreter is found by
APACI's `configure' script this is no harm. Of course, you still can build and install Apache 1.3.
Only those support scripts cannot be used. If you have multiple Perl interpreters installed (perhaps a
Perl 4 from the vendor and a Perl 5 from your own), then it is recommended to use the --with-perl
option (see below) to make sure the correct one is selected by APACI.
Dynamic Shared Object (DSO) support [OPTIONAL]:
To provide maximum flexibility Apache now is able to load modules under runtime via the DSO
mechanism by using the pragmatic dlopen()/dlsym() system calls. These system calls are not
available under all operating systems therefore you cannot use the DSO mechanism on all
platforms. And Apache currently has only limited built-in knowledge on how to compile shared
objects because this is heavily platform-dependent. The current state is this:
Ultrix
If your system is not on these lists but has the dlopen-style interface, you either have to provide
the appropriate compiler and linker flags (see CFLAGS_SHLIB, LDFLAGS_SHLIB and
LDFLAGS_SHLIB_EXPORT below) manually or at least make sure a Perl 5 interpreter is installed
from which Apache can guess the options.
For more in-depth information about DSO support in Apache 1.3 please read the document
htdocs/manual/dso.html carefully. Especially the section entitled "Advantages & Disadvantages"
because using the DSO mechanism can have strange side-effects if you are not careful. BE
WARNED!
The next step is to configure the Apache source tree for your particular platform and personal
requirements. The most important setup here is the location prefix where Apache is to be installed
later, because Apache has to be configured for this location to work correctly. But there are a lot of
other options available for your pleasure.
For a short impression of what possibilities you have, here is a typical example which compiles
Apache for the installation tree /sw/pkg/apache with a particular compiler and flags plus the two
additional modules mod_rewrite and mod_proxy for later loading through the DSO mechanism:
$ CC="pgcc" OPTIM="-O2" \
./configure --prefix=/usr/local/apache \
--enable-module=rewrite --enable-shared=rewrite \
--enable-module=proxy --enable-shared=proxy
For a complete list of the available options, type the following command:
./configure --help
$ make
Please be patient here, this takes approximately 2 minutes to complete under a Pentium-
166/FreeBSD-2.2 system, dependent on the amount of modules you have enabled.
Installing the package
Now its time to install the package under the configured installation PREFIX (see the --prefix
option above):
$ make install
In the following examples, PREFIX is not the literal string "PREFIX", but whatever argument you
provided to the--prefix option.
Building and installing Apache in the traditional way
Before the advent of APACI, there was just one way to build and install Apache. While APACI gave
a configuration interface which is more familiar to some people, the older method gives a way to
configure the installation without typing a large number of command-line options.
Configuring the installation
Compiling Apache consists of three steps: First select which Apache modules you want to include
into the server. Second create a configuration for your operating system. Third compile the
executable.
All configuration of Apache is performed in the src directory of the Apache distribution. Change
into this directory.
You should also read the instructions in the Configuration file to see if you need to set any of the
Rule lines.
2. Configure Apache for your operating system. Normally you can just run the Configure script as
given below. However if this fails or you have any special requirements (e.g., to include an
additional library required by an optional module) you might need to edit one or more of the
following options in the Configuration file: EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES.
% Configure
Using 'Configuration' as config file
+ configured for <whatever> platform
+ setting C compiler to <whatever> *
+ setting C compiler optimization-level to <whatever> *
+ Adding selected modules
+ doing sanity check on compiler and options
Creating Makefile in support
Creating Makefile in main
Creating Makefile in os/unix
Creating Makefile in modules/standard
(*: Depending on Configuration and your system, Configure might not print these lines. That's
OK).
This generates a Makefile for use in stage 3. It also creates a Makefile in the support directory,
for compilation of the optional support programs.
(If you want to maintain multiple configurations, you can give an option to Configure to tell it
to read an alternative Configuration file, such as Configure -file Configuration.ai).
Compiling Apache
3. Type make.
The modules we place in the Apache distribution are the ones we have tested and are used regularly
by various members of the Apache development group. Additional modules contributed by
members or third parties with specific needs or functions are available at
<http://www.apache.org/dist/httpd/contrib/modules/>. There are instructions on that page for
linking these modules into the core Apache code.
Installing Apache
You will have a binary file called httpd in the src directory. A binary distribution of Apache will
supply this file.
The next step is to install the program and configure it. Apache is designed to be configured and run
from the same set of directories where it is compiled. If you want to run it from somewhere else,
make a directory and copy the conf, logs and icons directories into it. In either case you should read
the security tips describing how to set the permissions on the server root directory.
The next step is to edit the configuration files for the server. This consists of setting up various
directives in up to three central configuration files. By default, these files are located in the conf
directory and are called srm.conf, access.conf and httpd.conf. To help you get started there are same
files in the conf directory of the distribution, called srm.conf-dist, access.conf-dist and httpd.conf-
dist. Copy or rename these files to the names without the -dist. Then edit each of the files. Read the
comments in each file carefully. Failure to setup these files correctly could lead to your server not
working or being insecure. You should also have an additional file in the conf directory called
mime.types. This file usually does not need editing.
First edit httpd.conf. This sets up general attributes about the server: the port number, the user it
runs as, etc. Next edit the srm.conf file; this sets up the root of the document tree, special functions
like server-parsed HTML or internal imagemap parsing, etc. Finally, edit the access.conf file to at
least set the base cases of access.
In addition to these three files, the server behavior can be configured on a directory-by-directory
basis by using .htaccess files in directories accessed by the server.
Compiling Support Programs
In addition to the main httpd server which is compiled and configured as above, Apache includes a
number of support programs. These are not compiled by default. The support programs are in the
support directory of the distribution. To compile the support programs, change into this directory
and type
make
Now you can fire up your Apache HTTP server by immediately running
$ PREFIX/bin/apachectl start
and then you should be able to request your first document via URL http://localhost/ (when you
built and installed Apache as root or at least used the --without-confadjust option) or
http://localhost:8080/ (when you built and installed Apache as a regular user). Then stop the server
again by running:
$ PREFIX/bin/apachectl stop