File:  [LON-CAPA] / loncom / loncapa_apache.conf
Revision 1.162: download - view: text, annotated - select for diffs
Mon Dec 11 14:06:06 2006 UTC (17 years, 4 months ago) by raeburn
Branches: MAIN
CVS tags: version_2_3_X, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_99_1, version_2_2_99_0, HEAD
Add response code of 'B' to lonnet::allowed() to indicate access to a file is currently subject to a block, because the file owner is part of a course with active communications blocking, and file viewer does not have 'evb' privilege in the course to nullify the block.

Used to block access to portfolio files.  Response of 'B' triggers blockedaccess.pm which displays information about blocking conditions.

##
## loncapa_apache.conf -- Apache HTTP LON-CAPA configuration file
##
## $Id: loncapa_apache.conf,v 1.162 2006/12/11 14:06:06 raeburn Exp $
##

#
# LON-CAPA Section (extensions to httpd.conf daemon configuration)
#
# ================================================================ DocumentRoot

DocumentRoot "/home/httpd/html"

# ======================================================================== User

User www
Group www

# ======================================================= Shared Object Modules

LoadModule perl_module       modules/libperl.so
<IfDefine !MODPERL2>
AddModule mod_perl.c
</IfDefine>

<IfDefine MODPERL2>
PerlSetVar	MODPERL2	1
</IfDefine>
# =============================================================== Miscellaneous

ServerAdmin korte@lite.msu.edu
ExtendedStatus On
#
# LON-CAPA Section (extensions to srm.conf name space servicing)
#
# ===================================================================== Aliases

Alias /prtspool/ /home/httpd/prtspool/
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"

# ================================================================= Directories

# ------------------------------------------------------------- Access Handlers

PerlTransHandler	Apache::lontrans
PerlCleanupHandler	Apache::lonacc::cleanup

PerlAuthenHandler Apache::checkauthen
PerlSetVar lonOtherAuthen no

#PerlWarn On
<LocationMatch "^/+res.*">

AuthType LONCAPA
Require valid-user

PerlAccessHandler      Apache::publiccheck
PerlAuthzHandler       Apache::lonacc
PerlHeaderParserHandler Apache::lonrep
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>


<LocationMatch "/.*">
</LocationMatch>


<LocationMatch "^/+enc.*">
SetHandler perl-script
PerlHandler       Apache::lonencurl
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<Location /adm/portfolio>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::portfolio
</Location>

<Location /adm/coursegrp_portfolio>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::portfolio
</Location>

<LocationMatch "^/+userfiles.*">
PerlAccessHandler       Apache::lontokacc
PerlCleanupHandler	Apache::lontokacc::removefile
PerlCleanupHandler	Apache::lonacc::cleanup
</LocationMatch>

<LocationMatch "^/+uploaded.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
PerlHeaderParserHandler Apache::lonuploadrep
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/+editupload.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/+uploaded/.*/.*/internal/.*">
PerlAuthenHandler	Apache::lonuploadedacc
PerlAuthzHandler	Apache::lonuploadedacc::skip_phase
PerlAccessHandler	Apache::lonuploadedacc::skip_phase
</LocationMatch>

<LocationMatch "^/+uploaded/.*/.*/portfolio/.*">
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
</LocationMatch>

<LocationMatch "^/+uploaded/.*/.*/groups/.*/portfolio/.*">
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
</LocationMatch>

<LocationMatch "^/+uploaded/.*\.page$">
SetHandler perl-script
PerlHandler Apache::lonpage
</LocationMatch>

<LocationMatch "^/+uploaded/.*\.sequence$">
SetHandler perl-script
PerlHandler Apache::lonsequence
</LocationMatch>

<LocationMatch "^/+public/.*/syllabus$">
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonsyllabus
ErrorDocument     404 /adm/notfound.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/+(public|adm)/.*(\.rss|_rss\.html)$">
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonrss
ErrorDocument     404 /adm/notfound.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/.*/aboutme$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonaboutme
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/notinit.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/.*/aboutme/portfolio$">
PerlAccessHandler       Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonaboutme
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/notinit.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/.*/smppg$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonsimplepage
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/notinit.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/.*/bulletinboard$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::londatecheck
PerlHandler             Apache::lonbulletin
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/notinit.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "\.problem/smpedit$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler              perl-script
PerlHandler             Apache::lonsimpleproblemedit
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/notinit.html
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/+priv.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::loncacc
SetHandler        perl-script
PerlHandler       Apache::lonconstruct
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/+raw.*">
PerlAccessHandler Apache::lonracc
</LocationMatch>

<LocationMatch "^/+\~.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::loncacc
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/helper/.*\.helper$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler  Apache::lonacc
SetHandler        perl-script
PerlHandler       Apache::lonhelper
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument     500 /adm/errorhandler
</LocationMatch>

<LocationMatch "/prtspool">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/roles
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>
# ------------------------------------------------------------------------- RAT

<LocationMatch "^/\~.*\.sequence$">
SetHandler perl-script
PerlHandler Apache::lonratedt
</LocationMatch>

<LocationMatch "^/\~.*\.page$">
SetHandler perl-script
PerlHandler Apache::lonratedt
</LocationMatch>

<LocationMatch "^/\~.*\/ratserver$">
SetHandler perl-script
PerlHandler Apache::lonratsrv
</LocationMatch>

<LocationMatch "^/\~.*\/adveditmenu$">
SetHandler perl-script
PerlHandler Apache::lonratmenu
</LocationMatch>

<Location /adm/ratparms>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonratparms
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

# --------------------------------------------- Resource Space Content Handlers

<LocationMatch "^/+res.*/$">
SetHandler perl-script
PerlHandler Apache::lonindexer
PerlCleanupHandler Apache::lonindexer::cleanup
PerlCleanupHandler	Apache::lonacc::cleanup
</LocationMatch>

<LocationMatch "^/+(res|\~).*\.tex$">
SetHandler perl-script
PerlHandler Apache::lontex
</LocationMatch>

<LocationMatch "^/+res/.*\.page$">
SetHandler perl-script
PerlHandler Apache::lonpage
</LocationMatch>

<LocationMatch "^/+res/.*\.sequence$">
SetHandler perl-script
PerlHandler Apache::lonsequence
</LocationMatch>

<LocationMatch "^/+(res|\~|public|uploaded|editupload|adm).*\.meta$">
PerlAccessHandler      Apache::publiccheck
SetHandler perl-script
PerlHandler Apache::lonmeta
ErrorDocument     413 /adm/overloaded.txt
</LocationMatch>

<LocationMatch "^/adm/bombs/">
AuthType LONCAPA
Require valid-user
SetHandler perl-script
PerlAuthzHandler Apache::lonacc
PerlHandler Apache::lonmeta
</LocationMatch>



<LocationMatch "^/+(res|\~).*\.rights$">
SetHandler perl-script
PerlHandler Apache::lonrights
</LocationMatch>

<LocationMatch "^/+(uploaded|res|\~).*\.(xml|html|htm|xhtml|xhtm|sty)$">
SetHandler perl-script
PerlHandler Apache::londatecheck
PerlHandler Apache::lonxml
</LocationMatch>

<LocationMatch "^/+(res|\~).*\.(task|problem|exam|quiz|assess|survey|form|library)$">
SetHandler perl-script
PerlHandler Apache::lonhomework
</LocationMatch>

<LocationMatch "^/adm/wrapper/">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwrapper
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/source">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsource
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>


<LocationMatch "^/adm/localize/">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonlocalize
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

# -------------------------------------------------------------- Admin Programs

<Location /adm/randomlabel.png>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::randomlylabel
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/imagechoice>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::imagechoice
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/statistics>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonstatistics
ErrorDocument     403 /adm/login
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/trackstudent>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lontrackstudent
ErrorDocument     403 /adm/login
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/roles>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonroles
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/menu>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmainmenu
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/remote>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonremote
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/pickstudent>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickstudent
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/pickcourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickcourse
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/pickcode>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickcode
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/login>
SetHandler perl-script
PerlHandler Apache::lonlogin
</Location>

<Location /adm/restrictedaccess>
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
SetHandler perl-script
PerlAuthzHandler       Apache::lonacc
PerlHandler Apache::restrictedaccess
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/blockedaccess>
PerlAccessHandler      Apache::publiccheck
AuthType LONCAPA
Require valid-user
SetHandler perl-script
PerlAuthzHandler       Apache::lonacc
PerlHandler Apache::blockedaccess
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/logout>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonlogout
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/switchserver>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::switchserver
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/authenticate>
SetHandler perl-script
PerlHandler Apache::lonauth
</Location>

<Location /adm/migrateuser>
SetHandler perl-script
PerlHandler Apache::migrateuser
</Location>

<Location /adm/annotations>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::admannotations
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/spellcheck>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonspeller
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/bookmarks>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::admbookmarks
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/flip>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpageflip
PerlCleanupHandler Apache::lonpageflip::cleanup
PerlCleanupHandler	Apache::lonacc::cleanup
ErrorDocument     406 /adm/roles
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/ambiguous>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonambiguous
PerlCleanupHandler Apache::lonambiguous::cleanup
PerlCleanupHandler	Apache::lonacc::cleanup
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/email>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmsgdisplay
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/notify>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonnotify
ErrorDocument     403 /adm/login
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/parmset>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonparmset
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/slotrequest>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::slotrequest
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/wizard>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwizard
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/grades>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::grades
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/createcourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncreatecourse
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/modifycourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmodifycourse
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/createuser>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncreateuser
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/publish>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpublisher
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<LocationMatch "^/+\~.*/$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::loncacc
SetHandler perl-script
PerlHandler Apache::lonpubdir
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<Location /adm/pubdir>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpubdir
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/unauthorized>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonunauthorized
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/retrieve>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonretrieve
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/cleanup>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncleanup
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/cfile>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncfile
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/diff>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londiff
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/upload>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonupload
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/imsimport>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::imsimport
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/testbank>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::testbankimport
ErrorDocument     403 /adm/login
ErrorDocument     404 /adm/notfound.html
ErrorDocument     406 /adm/unauthorized
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/assesscalc>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonspreadsheet
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/studentcalc>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonspreadsheet
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/classcalc>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonspreadsheet
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/dropadd>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londropadd
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/viewclasslist>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonviewclasslist
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/coursegroups>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncoursegroups
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/groupboards>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::groupboards
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/grouproster>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::grouproster
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/whatsnew>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwhatsnew
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/populate>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpopulate
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/managekeys>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmanagekeys
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/printout>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonprintout
ErrorDocument     403 /adm/login
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/feedback>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonfeedback
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/coursedocs>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londocs
PerlCleanupHandler Apache::londocs::untiehash
PerlCleanupHandler	Apache::lonacc::cleanup
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/imsimportdocs>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::imsimportdocs
ErrorDocument     403 /adm/login
ErrorDocument     500 /adm/errorhandler
</Location>

<LocationMatch "^/adm/announcements">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonannounce
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<Location /adm/chat>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonchat
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/chatfetch>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonchatfetch
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/groupchat>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::longroupchat
ErrorDocument     403 /adm/login
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/evaluate>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonevaluate
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/preferences>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpreferences
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/communicate>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncommunicate
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/searchcat>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsearchcat
PerlCleanupHandler Apache::lonsearchcat::cleanup
PerlCleanupHandler	Apache::lonacc::cleanup
ErrorDocument     403 /adm/login
ErrorDocument     413 /adm/overloaded.txt
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/navmaps>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonnavdisplay
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/quickgrades>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonquickgrades
ErrorDocument     403 /adm/login
ErrorDocument     406 /adm/roles
ErrorDocument     500 /adm/errorhandler
</Location>

<Location /adm/groupsort>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler	Apache::lonacc
SetHandler perl-script
PerlHandler Apache::groupsort
PerlCleanupHandler Apache::groupsort::cleanup
PerlCleanupHandler	Apache::lonacc::cleanup
ErrorDocument     403 /adm/login
ErrorDocument	  500 /adm/errorhandler
</Location>

<Location /adm/errorhandler>
SetHandler perl-script
PerlHandler Apache::lonerrorhandler
</Location>

<LocationMatch "^/adm/help/.*\.hlp$">
AuthType LONCAPA
Require valid-user
PerlAccessHandler      Apache::publiccheck
PerlAuthzHandler	Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonhelp
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/helpmenu">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonhelpmenu
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/support">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler       Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsupportreq
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/helpdesk">
SetHandler perl-script
PerlHandler Apache::lonsupportreq
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/css">
SetHandler perl-script
PerlHandler Apache::loncss
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/coursecatalog">
SetHandler perl-script
PerlHandler Apache::coursecatalog
ErrorDocument	  500 /adm/errorhandler
</LocationMatch>

<LocationMatch "^/adm/resetpw">
SetHandler perl-script
PerlHandler Apache::resetpw
ErrorDocument     500 /adm/errorhandler
</LocationMatch>

# ------------------------------------------------- Backdoor Adm Tests/Programs

<Location /cgi-bin/loncron.pl>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

<Location /cgi-bin/userstatus.pl>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

<Location /cgi-bin/lonversions.pl>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

<Location /cgi-bin/clusterstatus.pl>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

<Location /cgi-bin/metadata_keywords.pl>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

<Location /cgi-bin/metadata_harvest.pl>
AuthName "harvest"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user  reaper
</Location>

<Location /cgi-bin/takeoffline.pl>
AuthName "Offline"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user  offline
</Location>

<Location /cgi-bin/takeonline.pl>
AuthName "Offline"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user  offline
</Location>

<Location /adm/test>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
SetHandler perl-script
PerlAuthzHandler Apache::lonacc
PerlHandler Apache::lontest
</Location>

# ------------------------------------------------------- Shutting down a child

PerlChildExitHandler Apache::lonacc::goodbye

#
# LON-CAPA Section (extensions to access.conf permission configuration)
#
# =========================================================== Directory Options

# Start out with "no"

<Directory />
Options None
AllowOverride None
order deny,allow
deny from all
</Directory>

# Allow uploaded files to be served

<Directory "/home/httpd/lonUsers">
Options Includes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
</Directory>
 
# Allow construction space files to be served

<Directory "/home/*/public_html/" >
Options Includes FollowSymLinks
AllowOverride
order allow,deny
allow from all
</Directory>

# Yes to symbolic links and server-side includes

<Directory /home/httpd/html>
Options Includes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
</Directory>

# If it is in cgi-bin, then it can be executed as a CGI script.

<Directory /home/httpd/cgi-bin>
AllowOverride None
Options ExecCGI FollowSymLinks
order allow,deny
allow from all
</Directory>

# Allow serving of files in prtspool

<Directory "/home/httpd/prtspool/">
Options Includes FollowSymLinks
AllowOverride None
order allow,deny
allow from all
</Directory>

# ============================================================= Access Handlers

# ------------------------------------------------- Allow server-status reports
<Location /server-status>
SetHandler server-status
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

# ------------------------ Allow LON-CAPA "low-level" connection status reports
<Location /lon-status>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
</Location>

# ------------------- Allow access to local system documentation from localhost
Alias /doc /usr/doc
<Directory /usr/doc>
order deny,allow
deny from all
allow from localhost
Options Indexes FollowSymLinks
</Directory>

# ******** THESE "SHOULD" NEVER BE ALTERED BY THE USER ************************
# ====================================== Internal Settings / Perl Configuration

PerlSetVar	 lonVersion   '<!-- VERSION -->'
PerlSetVar       lonIDsDir    /home/httpd/lonIDs
PerlSetVar       lonTabDir    /home/httpd/lonTabs
PerlSetVar       lonUsersDir  /home/httpd/lonUsers
PerlSetVar       lonIconsURL  /adm/lonIcons
PerlSetVar       londPort     5663
PerlSetVar       lonSysEMail  korte@lite.msu.edu
PerlSetVar       lonDaemons   /home/httpd/perl
PerlSetVar       lonSockDir   /home/httpd/sockets
PerlSetVar       lonDocRoot   /home/httpd/html
PerlSetVar       lonPrtDir    /home/httpd/prtspool
PerlSetVar       lonIncludes  /home/httpd/html/res/adm/includes
# & sepeareted list of : seperated fileds inorder of
# - internal name to call it, 
# - regexp that it should match (done case-insensitively)
# - regexp that is should not match (done case-insensitively)
# - regexp that will pull out the version number into $1
# - a number that describes the minimum version that has mathml support
# - a number that describes the minimum number version that has unicode support

PerlSetVar       lonBrowsDet  explorer:msie:netscape:msie\s(\d+\.\d+)\;:9999:9999&mozilla:mozilla\/[5-9]:msie:mozilla\/(\d+\.\d+)\s:9999:1&netscape:netscape:msie:netscape\/(\d+\.\d+):9999:7&netscape:netscape\/[7-9]:shouldnotmatch:netscape\/(\d+\.\d+):9999:7&amaya:amaya:mozilla:V(\d+\.\d+)\s:1:1&safari:safari:msie:safari\/([\d\.]+):9999:84

PerlSetVar       lonTextBrowsers windows\s+ce:lynx
PerlSetVar       lonScansDir  /home/httpd/scantron
PerlSetVar       lonScriptTimeout 10
PerlSetVar	 BugzillaHost	http://bugs.lon-capa.org/
PerlSetVar	 FAQHost	http://help.lon-capa.org/
# -----------------------------------------------------------------------------
# NOTE: lonSqlAccess key is the password for the MySQL user
# www@localhost.  This value must always be "localhostkey".
# The only security risk occurs when somebody logs in as 'www' on your system
# (in which case you have much bigger problems than whether or not they
# can access the non-authoritative loncapa database on your machine).

PerlSetVar       lonSqlAccess   localhostkey

# -----------------------------------------------------------------------------
# lonttpdPort is the port used by the lightweight graphics httpd server
# not the main Apache server
PerlSetVar       lonhttpdPort  8080


#----------------------------------------------------------------------------
#
#   Parameters used by secure lond/lonc

#
#   Secure lond/lonc require ssl certificate and private
#   key files to function correctly.  The certificate
#   files need not be terribly secure, but the private key files
#   should be set up so that only www (the lonc/lond effective user)
#   can read them.
# 
#   The definition below is the full path to the directory that
#   contains the certificate and key files:

PerlSetVar lonCertificateDirectory /home/httpd/lonCerts

#
#  Secure lond/lonc require two certificates and a private host key.
#  The certificates required are that of the lonCAPA certificate authority
#  and the certificate that authority issued to this host.
#  lonnetCertificateAuthority is the name of the file that contains the
#                            lonCAPA certificate authority's certificate.
#  lonnetCertificate is the name of the file that contains the certificate
#                    issued to the host by the certificate authority.
#  Both of these variables are names of files assumed to be in 
#  lonCertificateDirectory:

PerlSetVar lonnetCertificateAuthority loncapaCA.pem
PerlSetVar lonnetCertificate          lonhostcert.pem

#
#  To generate the request for a certificate, and to negotiate the
#  initial ssl connection, the host requires a private key.  This key
#  is created at lonCAPA install time.  Did we mention above that it
#  should be set so that only www can read it?  The variale below
#  is the name of the file relative to lonnetCertificateDirectory
#  that has the host's private key.  Did we remember to tell you to
#  keep the permissions on that file set to rw-------  (0600)?
#  

PerlSetVar lonnetPrivateKey         lonKey.pem

# Did we mention that the file described above must have
# permissions really locked down so that it can't be stolen?

#-------------------------------------------------------------------------

#   Parameters that define where all the ssl stuff is that's needed
#   to generate certificate requests and, on a system that's a CA
#   the certificate authority.
#    
#    SSLProgram    -> Path to the openssl command
#    SSLDirectory  -> Directory containing ssl configuration files etc.
#    SSLCAConfig   -> Name of the SSL config file for the certificate 
#                     Authority.
#    SSLCAFile     -> Full path to the Certificate authority file 
#                    (on the cert manager system).
#    SSLEmail      -> E-mail address of loncapa certificate manager.
#    The following are good for the loncapa redhat installs and
#    the loncapa certificate authority system:
#
PerlSetVar SSLProgram	/usr/bin/openssl
PerlSetVar SSLDirectory /usr/share/ssl
PerlSetVar SSLCAConfig  loncapaca
PerlSetVar SSLCAFile    /usr/share/ssl/loncapaca/cacert.pem
PerlSetVar SSLEmail     certificate@lon-capa.org

#-------------------------------------------------------------------------




# ====================================== Include machine-specific configuration

Include conf/loncapa.conf

# ================================================= Include local configuration

Include conf/loncapa_apache_local*.conf

# ================================================== Initiate mod_perl starting

PerlRequire      conf/startup.pl
<IfDefine !MODPERL2>
PerlFreshRestart On
</IfDefine>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>