Apache-2.2.8
      
      
        
          Introduction to Apache
        
        
          The Apache package contains an
          open-source HTTP server. It is useful for creating local intranet
          web sites or running huge web serving operations.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          Apache Dependencies
        
        
          Optional
        
        
          OpenSSL-0.9.8g, OpenLDAP-2.3.39,
          PCRE-7.6, APR, APR-util, and distcache
        
        
          Optional (Only if Using the Bundled APR-util)
        
        
          pkg-config-0.22, expat-2.0.1,
          GDBM-1.8.3, PostgreSQL-8.2.4, and SQLite
        
        
          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
        
       
      
        
          Installation of 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
        
          
          
            Note
          
          
            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.8-config-1.patch
        
          
          
            Note
          
          
            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.
          
          
            If you are using the bundled version of APR-util and you are going to install
            Subversion with Berkeley DB back-end support, ensure you use
            the parameters shown 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
       
      
        
          Command Explanations
        
        
          --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.
        
        
          --with-dbm=db45 --with-berkeley-db: Use
          these parameters if you require Berkeley
          DB support in the bundled version of APR-util (required for Berkeley DB back-end support in Subversion).
        
        
          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.
        
       
      
        
          Configuring Apache
        
        
          
            Config Files
          
          
            /etc/apache/*
          
         
        
          
            Configuration Information
          
          
            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
         
        
          
            Boot Script
          
          
            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-20080816 package.
          
          
make install-apache
         
       
      
        
          Contents
        
        
          
            
              Installed Programs:
              ab, apachectl, apr-config, apu-config,
              apxs, checkgid, dbmmanage, htdbm, htdigest, htpasswd, httpd,
              instdso.sh, logresolve, and rotatelogs
            
            
              Installed Libraries:
              libapr-1.{so,a}, libaprutil-1.{so,a}, and
              /usr/lib/apache/*.so
            
            
              Installed Directories:
              /etc/apache, /srv/www,
              /usr/include/apache, /usr/lib/apache, and
              /var/log/apache
            
           
         
        
          
            Short Descriptions
          
          
            
            
              
                | 
                   
                    ab
                   
                 | 
                
                   
                    is a tool for benchmarking your Apache HTTP server.
                   
                 | 
              
              
                | 
                   
                    apachectl
                   
                 | 
                
                   
                    is a front end to the Apache HTTP server which is designed
                    to help the administrator control the functioning of the
                    Apache httpd daemon.
                   
                 | 
              
              
                | 
                   
                    apxs
                   
                 | 
                
                   
                    is a tool for building and installing extension modules
                    for the Apache HTTP
                    server.
                   
                 | 
              
              
                | 
                   
                    dbmanage
                   
                 | 
                
                   
                    is used to create and update the DBM format files used to
                    store usernames and passwords for basic authentication of
                    HTTP users.
                   
                 | 
              
              
                | 
                   
                    htdigest
                   
                 | 
                
                   
                    is used to create and update the flat-files used to store
                    usernames, realms and passwords for digest authentication
                    of HTTP users.
                   
                 | 
              
              
                | 
                   
                    htpasswd
                   
                 | 
                
                   
                    is used to create and update the flat-files used to store
                    usernames and passwords for basic authentication of HTTP
                    users.
                   
                 | 
              
              
                | 
                   
                    httpd
                   
                 | 
                
                   
                    is the Apache HTTP
                    server program.
                   
                 | 
              
              
                | 
                   
                    instdso.sh
                   
                 | 
                
                   
                    is a script which installs Apache DSO modules.
                   
                 | 
              
              
                | 
                   
                    logresolve
                   
                 | 
                
                   
                    is a post-processing program to resolve IP-addresses in
                    Apache's access log
                    files.
                   
                 | 
              
              
                | 
                   
                    rotatelogs
                   
                 | 
                
                   
                    is a simple program for use in conjunction with
                    Apache's piped log file
                    feature.
                   
                 | 
              
            
          
         
       
      
        Last updated on 2008-03-22 21:40:43 -0500