Securing and Optimizing Linux: RedHat Edition -A Hands on Guide | ||
---|---|---|
Prev | Chapter 29. Software -Network Server, web/Apache | Next |
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:
perl Makefile.PL \ EVERYTHING=1 \ APACHE_SRC=../apache_1.3.12/src \ USE_APACI=1 \ PREP_HTTPD=1 \ DO_HTTPD=1 |
[root@deep ]/mod_perl-1.24# make [root@deep ]/mod_perl-1.24# make install |
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 |
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.