Assignment 3

 

INSTALLATION OF APACHE 1.3.4 & MOD-PERL

(Travis Angle, Adam Fuller, Roger Smith, Rajiv Zutshi)

Introduction & Summary: (Travis Angle)

We installed Perl 5.005_02 in our last exercise.  In this assignment we focused on installing the latest Apache 1.3.4 web server.  A web server is essentially a piece of software that can deliver HTML pages to a client upon request by the client.  The client communicates its request to the web server using the HTTP protocol over the Internet.  Web Servers are extremely essential in today's Information Age.  As it turned out, the installation and configuration of the web server was quite a trivial task.

Here is some background on Apache and Mod Perl that was adapted from the O'Reilly book on Apache as well as the README files created during the installation. Apache Web Server gets its name from the fact that it is some existing source code plus some patches. Though of as a joke by some the name is also believed to be appropriate because of the resourcefulness and adaptability of the American Indian tribe. Apache's predecessor was developed by CERN, European Centre for Nuclear Research, in Geneva, Switzerland. Today Apache is being continually developed by a group of programmers who were invited to participate in the program. These programmers contribute their time and effort free of charge. The installation of Apache requires 12 MB of temporary free disk space of which only 3 MB of disk space will be required to run the Web Server depending on the number of modules installed with Apache. The Apache Server will also require an ANSI-C Compiler. The compiler installed is the GNU C compiler from the Free Software Foundation. A third requirement for installation, which was optional, was Perl 5. In the case of our install we needed Perl 5 in order to run mod_perl. This installation was done for our assignment last week. This completed the necessary requirements for installing the Apache Web Server. The mod_perl module seamlessly glues together Apache and Perl making the possibility of writing Apache modules entirely in Perl a reality. The mod_perl also has an interpreter embedded in the server which avoids the overhead of starting an external interpreter program and the additional Perl compile time.   Mod_perl will also give an extra speed boost and allows Perl code to be directly inside SSI files.

Narrative: (we ftp all tar.gz files into /usr/local/src) (Roger Smith & Rajiv Zutshi)

We ftp'd Apache 1.3.4 http://www.apache.org into /usr/local/src.  After gunzipping the *.tar.gz file we read the INSTALL documentation.  It showed us to "./configure" then "make install","make test", then "make install", then make clean to clean out all of the .o files.

Upon Adam's recommedation, we chose to install Mod-Perl and compile it in with the Apache Web Server.  We therefore deleted the prior installation of the web server (actually 4 prior install's as each member of the group had a crack at installing and configuring Apache) as mod-perl had to be compiled with the Apache.  We were ready to proceed with the assignment from scratch.  The installation required us to first ftp mod-perl from http://perl.apache.org/apache/perl/dist/.   This was quite a challenging installation as it required us to install certain packages with mod-perl.  When we tried to install mod-perl it stated we needed the libwww-perl-5.41 package (available from www.perl.org).   When we read the README file in the libwww-perl-5.41 there it stated we needed the following other  packages:

URI
MIME-Base64
HTML-Parser
libnet
Digest::MD5

These packages were ftp'd from CPAN (www.perl.org).   After installing all these packages first we then finally installed the libwww-perl-5.41 and then installed the mod-perl.  Apache had already been gunziped at this stage so mod perl could be integrated with Apache.  At the ./configure stage of Apache we identified where mod-perl was and proceeded to compile Apache.  Everything went smoothly.  We started our script file a little late but most of the installation has been recorded.

Now that mod perl had been complied in with Apache, we edited the configuration files for Apache.  We set the web server's document root to be /home/html and left the default port at 80 for webservers.  We finally started the web server by typing "apachectl start"

The hardest part of the whole installation is remebering to start the script.   Another complicating task was finding all the required packages on the web to compile in with mod-perl.  I has been the most challenging installation to date for most members of our team.

Apache Script file         Mod Perl Script file

 

Functionality: (Adam Fuller)

Mod_Perl is basically a fusion of the Apache web server and the perl interpreter. Since Perl is the mother of all scripting languages, it can only make Apache, the mother of all web servers, even more powerful. It's first benefit is the acceleration of CGI scripts. Since Apache has a perl interpreter built in, it doesn't waste time and increase load by cranking up the external perl interpreter to run the script. But it doesn't stop there. With the Apache/Mod_Perl combo, CGI can be replaced all-together by embedding Perl into the HTML file itself! This is where the real power lies. And since everything is server-side, the browser doesn't even know!