Apply mod_perl to Apache source tree

Securing and Optimizing Linux: RedHat Edition -A Hands on Guide
Prev | Chapter 29. Software -Network Server, web/Apache | Next

# 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 \
                 EAPI_MM=SYSTEM \
                 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 \
                 --add-module=src/modules/standard/mod_auth_db.c \
                 --enable-module=ssl \
                 --enable-rule=SSL_SDBM \
                 --disable-rule=SSL_COMPAT \
                 --activate-module=src/modules/php4/libphp4.a \
                 --enable-module=php4 \
                 --activate-module=src/modules/perl/libperl.a \
                 --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

     require only if you have included support for mod_ssl to your Apache source.
     require only if you use the mm Shared Memory Library for Apache.
     required only if you have the intention to use mod_mmap, see the section Optimizing Apache in this chapter for more information.
     required only if you have the intention to use mod_auth_db, see the section Securing Apache in this chapter for more information.
     required only if you have included support for mod_ssl data encryption to your Apache source.
     require only if you have included support for mod_ssl data encryption to your Apache source.
     require only if you have included support for PHP4 server-side scripting language to your Apache source.
   (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:

- module mod_mmap to improve performance.

- module mod_auth_db for users password authentication security.

- module mod_ssl for data encryptions and secure communication.

- module mod_php4 for php server-side scripting language and improve the load of web pages build in PHP.

- module mod_perl for better security and performance than the default cgi scripts.

- disable module status

- disable module userdir

- disable module negotiation

- disable module autoindex

- disable module asis

- disable module imap

- disable module env

- disable module actions

> : 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.

Prev | Home | Next
Configure and apply PHP4 to Apache source | Up | Install Apache