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 stopNote 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 operationsNow point your browser to
http://localhost/
or
http://your.server.name/
as configured with the
ServerName
directive. If you have set aPort
directive with a value different from80
, 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
http://your.server.name:8080/
. You should see the infamous
"It worked" page, which is anindex.html
file
thatmake 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 theerror_log
file. You will find the path of the error log
file by looking it up in theErrorLog
directive in
httpd.conf
.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::RegistrySetHandler perl-script PerlHandler Apache::Registry Options ExecCGI PerlSendHeader On allow from allSave 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
moduleApache::Registry
.Preparing the Scripts
DirectoryNow 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