[system] / branches / rel-2-3-dev / webwork-modperl / conf / webwork.apache2-config.dist Repository:
ViewVC logotype

View of /branches/rel-2-3-dev/webwork-modperl/conf/webwork.apache2-config.dist

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4939 - (download) (annotate)
Wed Apr 25 16:40:02 2007 UTC (6 years, 1 month ago) by sh002i
File size: 3747 byte(s)
backport (sh002i): support for Apache::WeBWorK on the server root --
resolves bug #1150.

    1 ################################################################################
    2 # WeBWorK Online Homework Delivery System
    3 # Copyright © 2000-2006 The WeBWorK Project, http://openwebwork.sf.net/
    4 # $CVSHeader$
    5 #
    6 # This program is free software; you can redistribute it and/or modify it under
    7 # the terms of either: (a) the GNU General Public License as published by the
    8 # Free Software Foundation; either version 2, or (at your option) any later
    9 # version, or (b) the "Artistic License" which comes with this package.
   10 #
   11 # This program is distributed in the hope that it will be useful, but WITHOUT
   12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
   13 # FOR A PARTICULAR PURPOSE.  See either the GNU General Public License or the
   14 # Artistic License for more details.
   15 ################################################################################
   16 
   17 # This file configures Apache to handle requests for WeBWorK. To install WeBWorK
   18 # support in your Apache configuration, add the following line to the end of
   19 # your Apache configuration file (usually apache.conf or httpd.conf):
   20 #
   21 #     Include /path/to/webwork.apache-config
   22 #
   23 # Customize the variable $webwork_dir below to match the location of your
   24 # WeBWorK installation.
   25 
   26 PerlModule mod_perl2
   27 
   28 <Perl>
   29 
   30 # Set this variable to the path to your WeBWorK installation.
   31 my $webwork_dir = "/opt/webwork/webwork2";
   32 
   33 # This code reads global.conf and extracts the remaining configuration
   34 # variables. There is no need to modify it.
   35 eval "use lib '$webwork_dir/lib'"; die $@ if $@;
   36 eval "use WeBWorK::CourseEnvironment"; die $@ if $@;
   37 my $ce = new WeBWorK::CourseEnvironment({ webwork_dir => $webwork_dir });
   38 my $webwork_url = $ce->{webwork_url};
   39 my $pg_dir = $ce->{pg_dir};
   40 my $webwork_htdocs_url = $ce->{webwork_htdocs_url};
   41 my $webwork_htdocs_dir = $ce->{webwork_htdocs_dir};
   42 my $webwork_courses_url = $ce->{webwork_courses_url};
   43 my $webwork_courses_dir = $ce->{webwork_courses_dir};
   44 eval "use lib '$pg_dir/lib'"; die $@ if $@;
   45 
   46 $WeBWorK::SeedCE{webwork_dir} = $webwork_dir;
   47 
   48 # At this point, the following configuration variables should be present for use
   49 # in wiring WeBWorK into Apache:
   50 #
   51 #     $webwork_url            The base URL handled by Apache::WeBWorK.
   52 #     $webwork_dir            The path to the base webwork2 directory.
   53 #     $pg_dir                 The path to the base pg directory.
   54 #
   55 #     $webwork_htdocs_url     The base URL of the WeBWorK htdocs directory.
   56 #     $webwork_htdocs_dir     The path to the WeBWorK htdocs directory.
   57 #
   58 #     $webwork_courses_url    The base URL of the WeBWorK courses directory.
   59 #     $webwork_courses_dir    The path to the WeBWorK courses directory.
   60 
   61 # Define the location that is handled by the Apache::WeBWorK module, and tell
   62 # Perl where to find the libraries Apache::WeBWorK needs to run.
   63 #
   64 $Location{$webwork_url} = {
   65   SetHandler => "perl-script",
   66   PerlHandler => "Apache::WeBWorK",
   67 };
   68 
   69 # Provide access to system-wide resources.
   70 #
   71 push @Alias, [ $webwork_htdocs_url => $webwork_htdocs_dir ];
   72 $Directory{$webwork_htdocs_dir} = {
   73   Order => "allow,deny",
   74   Allow => [qw/from all/],
   75   Options => "FollowSymLinks",
   76   AllowOverride => "None",
   77 };
   78 
   79 # Provide access to course-specific resources.
   80 #
   81 push @AliasMatch, [ "$webwork_courses_url/([^/]*)/(.*)", "$webwork_courses_dir/\$1/html/\$2" ];
   82 $Directory{"$webwork_courses_dir/*/html"} = {
   83   Order => "allow,deny",
   84   Allow => [qw/from all/],
   85   Options => "FollowSymLinks",
   86   AllowOverride => "None",
   87 };
   88 
   89 # If WeBWorK is on the root, exempt the static directories from being handled
   90 # by Apache::WeBWorK.
   91 #
   92 if ($webwork_url eq "") {
   93   $Location{$webwork_courses_url} = { SetHandler => "None" };
   94   $Location{$webwork_htdocs_url} = { SetHandler => "None" };
   95 }
   96 
   97 </Perl>

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9