Parent Directory
|
Revision Log
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 |