ServersGetting Started with mod_perl in 30 Minutes Page 4

Getting Started with mod_perl in 30 Minutes Page 4

ServerWatch content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Configure Apache as you always do. Set Port,
User, Group, ErrorLog and other
directives in the httpd.conf file (remember I’ve asked you to
remember the location of this file at the end of the previous section?). Use
the defaults as suggested, customize only when you have to. Values that you
need to customize are ServerName, Port,
User, Group, ServerAdmin,
DocumentRoot and a few others. You will find helpful hints
preceding each directive. Follow them if in doubt.

When you have edited the configuration file, it’s time to start the server.
One of the ways to start and stop the server is to use the
apachectl utility. You start the server with:

  % /usr/local/apache/bin/apachectl start

And stop it with:

  % /usr/local/apache/bin/apachectl stop

Note that you have to be root when starting the server if the server is
going to listen on port 80 or another privileged port (

After you start the server, check in the error_log file
(/usr/local/apache/logs/error_log is the file's default location)
that the server has indeed started. Don't rely on the status
apachectl reports. You should see something like the following:

  [Thu Jun 22 17:14:07 2000] [notice] Apache/1.3.12 (Unix) 
  mod_perl/1.24 configured -- resuming normal operations

Now point your browser to http://localhost/ or as configured with the
ServerName directive. If you have set a Port
directive with a value different from 80, apply this port number
at the end of the server name. If you have used port 8080, test the server with
http://localhost:8080/ or . You should see the infamous
"It worked" page, which is an index.html file
that make install in the Apache source tree installs for you. If
you don't see this page, something went wrong and you should check the contents
of the error_log file. You will find the path of the error log
file by looking it up in the ErrorLog directive in

If everything works as expected, shut the server down, open
httpd.conf in your favorite editor, and scroll to the end of the
file where we will add the mod_perl configuration directives (of course you can
place them anywhere in the file).

Assuming that you put all scripts that should be executed by the mod_perl
enabled server in the /home/httpd/perl/ directory, add the
following configuration directives:

  Alias /perl/ /home/httpd/perl/
  PerlModule Apache::Registry

    SetHandler perl-script
    PerlHandler Apache::Registry
    Options ExecCGI
    PerlSendHeader On
    allow from all

Save the modified file.

This configuration causes every URI starting with /perl to be
handled by the Apache mod_perl module. It will use the handler from the Perl
module Apache::Registry.

Preparing the Scripts

Now create a /home/httpd/perl/ directory if it doesn't yet
exist. In order for you and Apache to be able to read, write and execute files
we have to set correct permissions. You could get away by simply doing:

  % chmod 0777  /home/httpd/perl

Get the Free Newsletter!

Subscribe to Daily Tech Insider for top news, trends & analysis

Latest Posts

Related Stories