Unpack the file, run "perl Makefile.PL", "make" and then "make install". "make test" does nothing useful at the moment.
Next you need to edit your httpd.conf. Here is a sample configuration where the database user and password is provided.
<Location /dir/> can be anything you want, but it will be used as the schema when executing your pl/sql. Example:
<Location /scott/ > SetHandler perl-script PerlHandler Apache::OWA PerlSetVar DAD oracle_sid:scott:tiger </Location>
This means that calling "http://server/scott/print_cgi_env" executes the pl/sql procedure "scott.print_cgi_env". If you write:
<Location /scott/ > SetHandler perl-script PerlHandler Apache::OWA PerlSetVar DAD oracle_sid:scott:tiger PerlSetVar SCHEMA oas_public </Location>
the same url would now execute "oas_public.cgi_print_env".
Next, a configuration where all users have to log in using HTTP authentication to their Oracle user-id and password, and applications are executed under their user-id in the database, but the schema works the same as above. This means that they need execute permissions on the application, proper synonyms set up and "create session" priveliges.
<Location /ows_db_auth/ > AuthName ows_db_auth AuthType Basic PerlAuthenHandler Apache::OWA Require valid-user PerlSetVar DB oracle1 # defaults to $ORACLE_SID PerlSetVar SCHEMA oas_public PerlSetVar DB_AUTH true </Location>
The final method is HTTP authentication using a custom database function that takes the username and password as arguments and then returns zero for success and non-zero for failure. The format of the DB_PROC_AUTH variable is: schema.function. Remember that the user in the DAD-string needs permission to execute this function.
<Location /ows_db_proc_auth/*> AuthName db_proc_auth AuthType Basic PerlAuthenHandler Apache::OWA Require valid-user PerlSetVar DAD oracle_sid:user:password PerlSetVar DB_PROC_AUTH user.authen </Location>
To get verbose errors sent to the browser, use "PerlSetVar DEBUG 1" in your <Location ...>. To debug Apache::OWA itself set DEBUG to 2.
If you're having trouble, you may want to try posting your question to Apache::OWA Support.