29.6. Apply mod_perl to Apache source tree

You need to build/install the Perl-side of mod_perl, if you want to use and include Perl programming language support in your Apache web server. Move into the new mod_perl source directory cd ../mod_perl-1.24/ and type the following commands on your terminal:

  1. 
          perl Makefile.PL \
              EVERYTHING=1 \
              APACHE_SRC=../apache_1.3.12/src \
              USE_APACI=1 \
              PREP_HTTPD=1 \
              DO_HTTPD=1
            

  2. 
          [root@deep ]/mod_perl-1.24# make 
              [root@deep ]/mod_perl-1.24# make install 
            

  3. Once you have included in your Apache source the third party modules that you want to support and use, it is time to compile and install it into your Linux system. The last step is to move into the new Apache source directory cd ../apache_1.3.12/ and type the following commands on your terminal depending on what you want to install with Apache for example it could you want to Build/Install Apache with/without mod_ssl +- PHP4 and/or mod_perl etc.

    
          SSL_BASE=SYSTEM \                                             (1)
              EAPI_MM=SYSTEM \                                              (2)
              CC="egcs" \
              OPTIM="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions" \
              CFLAGS="-DDYNAMIC_MODULE_LIMIT=0" \
              ./configure \
              --prefix=/home/httpd \
              --bindir=/usr/bin \
              --sbindir=/usr/sbin \
              --libexecdir=/usr/lib/apache \
              --includedir=/usr/include/apache \
              --sysconfdir=/etc/httpd/conf \
              --localstatedir=/var \
              --runtimedir=/var/run \
              --logfiledir=/var/log/httpd \
              --datadir=/home/httpd \
              --proxycachedir=/var/cache/httpd \
              --mandir=/usr/man \
              --add-module=src/modules/experimental/mod_mmap_static.c \        (3)
              --add-module=src/modules/standard/mod_auth_db.c \                (4)
              --enable-module=ssl \                                            (5)
              --enable-rule=SSL_SDBM \                                         (6)
              --disable-rule=SSL_COMPAT \                                      (7)
              --activate-module=src/modules/php4/libphp4.a \                   (8)
              --enable-module=php4 \                                           (9)
              --activate-module=src/modules/perl/libperl.a \                   (10)
              --enable-module=perl \                                           (11)
              --disable-module=status \
              --disable-module=userdir \
              --disable-module=negotiation \
              --disable-module=autoindex \
              --disable-module=asis \
              --disable-module=imap \
              --disable-module=env \
              --disable-module=actions
            
    (1)
    require only if you have included support for mod_ssl to your Apache source.
    (2)
    require only if you use the mm Shared Memory Library for Apache.
    (3)
    required only if you have the intention to use mod_mmap, see the section Optimizing Apache in this chapter for more information.
    (4)
    required only if you have the intention to use mod_auth_db, see the section Securing Apache in this chapter for more information.
    (5)
    required only if you have included support for mod_ssl data encryption to your Apache source.
    (6)(7)
    require only if you have included support for mod_ssl data encryption to your Apache source.
    (8)(9)
    require only if you have included support for PHP4 server-side scripting language to your Apache source.
    (10)(11)
    require only if you have included support for mod_perl programming language to your Apache source.

This tells Apache to set itself up for this particular hardware setup with:

Important: It's important to note that removing all unrequired modules during the configure time will improve the performance of your Apache Web Server. In our configuration above, we've removed the most unused modules both to lower the load operation, and limit the security risks in our Apache web server. See your Apache documentation for information on each one.