The Apache package contains an open-source HTTP server. It is useful for creating local intranet web sites or running huge web serving operations.
Download (HTTP): http://archive.apache.org/dist/httpd//httpd-2.2.4.tar.bz2
Download (FTP): ftp://apache.mirrors.pair.com/httpd/httpd-2.2.4.tar.bz2
Download MD5 sum: 536c86c7041515a25dd8bad3611da9a3
Download size: 4.9 MB
Estimated disk space required: 93 MB
Estimated build time: 2.0 SBU
GDBM-1.8.3, OpenSSL-0.9.8e, OpenLDAP-2.3.34, PostgreSQL-8.2.3, SQLite, PCRE-7.0, pkg-config-0.21, expat-2.0.0, APR, APR-util, and distcache
Though you can install APR and APR-util as separate components, it is recommended to use the bundled versions that come with the Apache HTTPD tarball.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/apache
For security reasons, running the server as an unprivileged user
and group is strongly encouraged. Create the following group and
user using the following commands (as root):
groupadd -g 25 apache &&
useradd -c "Apache Server" -d /dev/null -g apache \
-s /bin/false -u 25 apache
The above command directs the Apache user's home directory to
/dev/null. This may not work for
some add-ons such as ViewVC, a browser interface for CVS
and Subversion version control repositories. See the User Notes
for details for specific applications.
The following patch modifies the layout of destination directories
and among them, the build directory at /usr/lib/apache/build. This will allow the
modules added to Apache to be
configured without errors. Apply the patch:
patch -Np1 -i ../httpd-2.2.4-config-1.patch
You may wish to review the output from ./configure --help and
include whatever parameters are necessary to the configure command below to
build the modules required for your installation. There are as
many as 62 additional parameters you can add to the
configure command
to build additional modules. Some of the extra parameters which
aren't described or mentioned in the --help information are listed in
the “Command
Explanations” section below.
Build and install Apache by running the following commands:
./configure --enable-layout=FHS --enable-mods-shared=all && make
This package does not come with a test suite.
Now, as the root user:
make install &&
chown -v root:root /usr/lib/apache/httpd.exp \
/usr/sbin/{apxs,apachectl,dbmmanage,envvars{,-std}} \
/usr/share/man/man1/{dbmmanage,ht{dbm,digest,passwd}}.1 \
/usr/share/man/man8/{ab,apachectl,apxs,htcacheclean,httpd}.8 \
/usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &&
chown -v -R apache:apache /srv/www
--enable-mods-shared=all:
The modules should be compiled and used as Dynamic Shared Objects
(DSOs) so they can be included and excluded from the server using
the run-time configuration directives.
--enable-ssl: Use this parameter to
create the mod_ssl module and enable
SSL support. This parameter is mentioned as one of many parameters
which can be passed to the configure command to create
additional DSO modules.
--with-pcre: Add this parameter to use
the system installed version of the PCRE library.
--with-z: Add this parameter to use the
system installed version of the Zlib library.
--with-ldap: This parameter is required
if you passed the --enable-authnz-ldap
or --enable-ldap options to
configure and enabled
the OpenLDAP modules.
chown root:root ...:
This command changes the ownership of some installed files, the
result of building the package as a user other than root.
chown -R apache:apache
/srv/www: By default, the installation process
installs files (documentation, error messages, default icons, etc.)
with the ownership of the user that extracted the files from the
tar file. If you want to change the ownership to another user, you
should do so at this point. The only requirement is that the
document directories need to be accessible by the httpd process with (r-x)
permissions and files need to be readable (r--) by the apache user.
The main configuration file is named /etc/apache/httpd.conf. Modify it so that the
HTTP server runs as the dedicated user and group:
sed -i -e "s/User daemon/User apache/" \
-e "s/Group daemon/Group apache/" \
/etc/apache/httpd.conf
See http://httpd.apache.org/docs-2.2/configuring.html for detailed instructions on customizing your Apache HTTP server configuration file.
There's a problem with the ISAPI DSO module caused from compiling with GCC-4.1.2. If you included the parameter to build the module, comment out the module's load command in the configuration file with the following command:
sed -i "s/^LoadModule isapi_module/# &/" \
/etc/apache/httpd.conf
If you want the Apache server to
start automatically when the system is booted, install the
/etc/rc.d/init.d/apache init script
included in the blfs-bootscripts-20060910 package.
make install-apache
Last updated on 2007-04-04 21:42:53 +0200