##
## loncapa_apache.conf -- Apache HTTP LON-CAPA configuration file
##
# $Id: loncapa_apache.conf,v 1.279 2022/12/31 14:09:01 raeburn Exp $
#
# LON-CAPA Section (extensions to httpd.conf daemon configuration)
#
# ================================================================ DocumentRoot
DocumentRoot "/home/httpd/html"
# ======================================================================== User
User www
Group www
# ======================================================= Shared Object Modules
<IfModule !perl_module>
LoadModule perl_module modules/libperl.so
</IfModule>
<IfDefine !MODPERL2>
AddModule mod_perl.c
</IfDefine>
<IfDefine MODPERL2>
PerlSetVar MODPERL2 1
</IfDefine>
# =============================================================== Miscellaneous
ServerAdmin consortium@loncapa.org
ExtendedStatus On
#
# LON-CAPA Section (extensions to srm.conf name space servicing)
#
# ===================================================================== Aliases
Alias /zipspool/ /home/httpd/zipspool/
Alias /prtspool/ /home/httpd/prtspool/
Alias /captchaspool/ /home/httpd/captchaspool/
Alias /webdav/ /home/httpd/html/priv/
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
<IfModule mod_dav_fs.c>
DAVLockDB /home/httpd/webdav/DAVLock
</IfModule>
# ================================================================= Directories
# ------------------------------------------------------------- Access Handlers
PerlTransHandler Apache::lontrans
PerlCleanupHandler Apache::lonacc::cleanup
PerlAuthenHandler Apache::checkauthen
PerlSetVar lonOtherAuthen no
<IfModule mod_shib>
PerlAuthenHandler Apache::lonshibauth
PerlSetVar lonOtherAuthen yes
PerlSetVar lonOtherAuthenType Shibboleth
</IfModule>
#PerlWarn On
<LocationMatch "^/+res/adm/pages/[^/]+\.(gif|png)$">
PerlAuthzHandler 'sub { return OK }'
</LocationMatch>
# Send proper expires header to avoid unnecessary HTTP request for static content
<LocationMatch "^(/adm/lonIcons|/adm/jQuery|/res/adm/pages|/ckeditor|/adm/jpicker|/adm/countdown|/adm/spellchecker|/adm/nicescroll|/adm/MathJax|/adm/daxe)">
ExpiresActive On
ExpiresDefault "access plus 12 hours"
Header set Cache-Control "public, no-transform"
</LocationMatch>
<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>
<Location /adm/pdfupload>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpdfupload
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<LocationMatch "^/+userfiles.*">
Options +FollowSymLinks -Includes
PerlAccessHandler Apache::lontokacc
PerlCleanupHandler Apache::lontokacc::removefile
PerlCleanupHandler Apache::lonacc::cleanup
</LocationMatch>
<LocationMatch "^/+uploaded.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
PerlHandler Apache::londatecheck
PerlHandler Apache::lonipcheck
PerlHeaderParserHandler Apache::lonuploadrep
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/+uploaded/.+/.+/(portfolio|feedback|docs|groups|supplemental)/.+">
Options +FollowSymLinks -Includes
</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::londatecheck
PerlHandler Apache::lonipcheck
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::lonipcheck
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 "^/adm/.*/ext\.tool$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londatecheck
PerlHandler Apache::lonipcheck
PerlHandler Apache::lonexttool
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/notinit.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/placement$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonplacementtest
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/notinit.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<Location /adm/exturlcheck>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonexturlcheck
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/unauthorized
ErrorDocument 500 /adm/errorhandler
</Location>
<LocationMatch "^/+priv/.*">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::loncacc
SetHandler perl-script
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/unauthorized
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/+webdav/[\w\-.]+/\w[\w.\-\@]+/">
<IfModule mod_dav.c>
<IfModule mod_ssl.c>
AuthType Basic
AuthName "LONCAPA username,domain"
Require valid-user
SSLRequireSSL
PerlAuthenHandler Apache::lonwebdavauth
PerlAuthzHandler Apache::lonwebdavacc
Dav On
DirectoryIndex index.missing
Options Indexes FollowSymLinks
ErrorDocument 403 /adm/nowebdav.html
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/unauthorized
ErrorDocument 500 /adm/errorhandler
</IfModule>
<IfModule !mod_ssl.c>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* http://%{HTTP_HOST}/adm/nowebdav.html [L]
</IfModule>
</IfModule>
</IfModule>
<IfModule !mod_dav.c>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* http://%{HTTP_HOST}/adm/nowebdav.html [L]
</IfModule>
</IfModule>
</LocationMatch>
<LocationMatch "^/+raw.*">
PerlAccessHandler Apache::lonracc
</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>
<LocationMatch "/zipspool">
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 "^/+priv/.*\.sequence$">
SetHandler perl-script
PerlHandler Apache::lonratedt
</LocationMatch>
<LocationMatch "^/+priv/.*\.page$">
SetHandler perl-script
PerlHandler Apache::lonratedt
</LocationMatch>
<LocationMatch "^/+priv/.*\/ratserver$">
SetHandler perl-script
PerlHandler Apache::lonratsrv
</LocationMatch>
<LocationMatch "^/+priv/.*\/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|priv|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
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmeta
</LocationMatch>
<LocationMatch "^/+(res|priv)/.*\.rights$">
SetHandler perl-script
PerlHandler Apache::lonrights
</LocationMatch>
<LocationMatch "^/+(uploaded|res|priv)/.*\.(xml|html|htm|xhtml|xhtm|sty)$">
SetHandler perl-script
PerlHandler Apache::londatecheck
PerlHandler Apache::lonipcheck
PerlHandler Apache::lonxml
</LocationMatch>
<LocationMatch "^/+(res|priv).*\.(task|problem|exam|quiz|assess|survey|form|library)$">
SetHandler perl-script
PerlHandler Apache::lonhomework
</LocationMatch>
<LocationMatch "^/+priv/.*\.(js|css|txt|tex)$">
SetHandler perl-script
PerlHandler Apache::lonxml
</LocationMatch>
<LocationMatch "^/daxepage/priv/">
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 "^/daxeopen/">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
</LocationMatch>
<LocationMatch "^/daxe(page|open)/uploaded/">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/unauthorized
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/daxepage/priv/.*\.(task|problem|exam|quiz|assess|survey|library|xml|html|htm|xhtml|xhtm)$">
SetHandler perl-script
PerlHandler Apache::daxepage
</LocationMatch>
<LocationMatch "^/daxepage/uploaded/[^/]+/[^/]+/.*html?$">
SetHandler perl-script
PerlHandler Apache::daxepage
</LocationMatch>
<LocationMatch "^/daxeopen/priv/.*\.(task|problem|exam|quiz|assess|survey|library|xml|html|htm|xhtml|xhtm)$">
SetHandler perl-script
PerlHandler Apache::daxeopen
</LocationMatch>
<LocationMatch "^/daxeopen/$">
SetHandler perl-script
PerlHandler Apache::daxeopen
</LocationMatch>
<LocationMatch "^/daxeopen/(res|priv)/(.+/)?$">
SetHandler perl-script
PerlHandler Apache::daxeopen
</LocationMatch>
<LocationMatch "^/daxeopen/uploaded/[^/]+/[^/]+/.*html?$">
SetHandler perl-script
PerlHandler Apache::daxeopen
</LocationMatch>
<LocationMatch "(?i)^/daxeopen/priv/.+\.(?!task$|problem$|exam$|quiz$|assess$|survey$|library$|xml$|html$|htm$|xhtml$|xhtm$)[^.]*$">
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule /daxeopen/(.*) /$1
</IfModule>
</LocationMatch>
<LocationMatch "(?i)^/daxeopen/(res/.*\.(jpg|jpeg|gif|png|svg))$">
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule /daxeopen/(.*) /$1
</IfModule>
</LocationMatch>
<LocationMatch "^/daxesave$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::daxesave
</LocationMatch>
<Location /adm/coursepub>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncoursepub
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</Location>
<LocationMatch "^/adm/wrapper/">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
PerlHandler Apache::londatecheck
PerlHandler Apache::lonipcheck
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/searchcourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsearchcourse
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/indexcourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonindexcourse
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 409 /adm/preferences?action=lockwarning
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/pickresource>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickresource
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/pickauthor>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickauthor
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/pickuser>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickuser
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
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/dependencies>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londependencies
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/courseauthor>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncourseauthor
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/login>
SetHandler perl-script
PerlHandler Apache::lonlogin
</Location>
<LocationMatch "^/+adm/launch/tiny/[\w.-]+/\w+">
SetHandler perl-script
PerlHandler Apache::ltiauth
</LocationMatch>
<Location /adm/relaunch>
SetHandler perl-script
PerlHandler Apache::lonrelaunch
</Location>
<LocationMatch "^/+adm/lti($|/)">
SetHandler perl-script
PerlHandler Apache::ltiauth
</LocationMatch>
<Location /adm/service/passback>
SetHandler perl-script
PerlHandler Apache::ltipassback
</Location>
<Location /adm/service/roster>
SetHandler perl-script
PerlHandler Apache::ltiroster
</Location>
<LocationMatch "^/adm/service/logout/\w+$">
SetHandler perl-script
PerlHandler Apache::ltilogout
</LocationMatch>
<Location /adm/restrictedaccess>
PerlAccessHandler Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::restrictedaccess
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/blockedaccess>
PerlAccessHandler Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::blockedaccess
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/protected>
PerlAccessHandler Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonprotected
ErrorDocument 403 /adm/login
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 409 /adm/preferences?action=lockwarning
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/sso>
Header set Cache-Control "private,no-store,no-cache,max-age=0"
<IfModule mod_shib>
AuthType shibboleth
ShibUseEnvironment On
ShibRequestSetting requireSession 1
ShibRequestSetting redirectToSSL 443
require valid-user
PerlAuthzHandler Apache::lonshibacc
PerlAuthzHandler Apache::lonacc
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</IfModule>
<IfModule !mod_shib>
PerlTypeHandler Apache::lonnoshib
</IfModule>
</Location>
<Location /adm/linkexit>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonlinkexit
ErrorDocument 403 /adm/login
ErrorDocument 409 /adm/preferences?action=lockwarning
ErrorDocument 500 /adm/errorhandler
</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/annotation>
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/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/courseprefs>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::courseprefs
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/requestcourse>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonrequestcourse
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/domainprefs>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::domainprefs
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/domainstatus>
PerlAccessHandler Apache::lonstatusacc
SetHandler perl-script
PerlHandler Apache::domainstatus
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 "^/+priv/.*/$">
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/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/supplemental>
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>
<Location /adm/extresedit>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonextresedit
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 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/wishlist>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwishlistdisplay
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/setblock>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonblockingmenu
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/blockingstatus>
PerlAccessHandler Apache::publiccheck
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonblockingstatus
</Location>
<Location /adm/accesstimes>
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonaccesstimes
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
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/.*\.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>
<LocationMatch "^/adm/selfenroll">
SetHandler perl-script
PerlHandler Apache::selfenroll
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/createaccount">
SetHandler perl-script
PerlHandler Apache::createaccount
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/dns">
SetHandler perl-script
PerlHandler Apache::londns
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/ajax/spellcheck">
SetHandler perl-script
PerlHandler Apache::spellcheck
</LocationMatch>
<LocationMatch "^/tiny/[\w.-]+/\w+$">
AuthType LONCAPA
Require valid-user
PerlAuthzHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lontiny
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
# ------------------------------------------------- Backdoor Adm Tests/Programs
<Location /adm/test>
PerlAccessHandler Apache::lonstatusacc
SetHandler perl-script
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
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
order deny,allow
deny from all
</IfModule>
</Directory>
# Allow uploaded files to be served
<Directory "/home/httpd/lonUsers">
Options FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</Directory>
# Yes to symbolic links and server-side includes
<Directory /home/httpd/html>
Options FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</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
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</Directory>
# Allow serving of files in prtspool
<Directory "/home/httpd/prtspool/">
Options FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</Directory>
# Allow serving of files in zipspool
<Directory "/home/httpd/zipspool/">
Options FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</Directory>
# Allow serving of files in captchaspool
<Directory "/home/httpd/captchaspool/">
Options FollowSymLinks
AllowOverride None
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
order allow,deny
allow from all
</IfModule>
</Directory>
<DirectoryMatch "^/home/httpd/html/priv/.+/">
DirectoryIndex disabled
</DirectoryMatch>
<DirectoryMatch "^/home/httpd/html/res/.+/">
DirectoryIndex disabled
</DirectoryMatch>
# ============================================================= Access Handlers
# ------------------------------------------------- Allow server-status reports
<Location /server-status>
PerlAccessHandler Apache::lonstatusacc
SetHandler server-status
</Location>
# ------------------------ Allow LON-CAPA "low-level" connection status reports
<LocationMatch "^/+lon-status/.*">
PerlAccessHandler Apache::lonstatusacc
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
# ------------------- Allow access to local system documentation from localhost
Alias /doc /usr/doc
<Directory /usr/doc>
Options Indexes FollowSymLinks
<IfModule mod_authz_host.c>
Require local
</IfModule>
<IfModule !mod_authz_host.c>
order deny,allow
deny from all
allow from localhost
</IfModule>
</Directory>
# ******** THESE "SHOULD" NEVER BE ALTERED BY THE USER ************************
# ====================================== Internal Settings / Perl Configuration
PerlSetVar lonVersion '<!-- VERSION -->'
PerlSetVar lonIDsDir /home/httpd/lonIDs
PerlSetVar lonBalanceDir /home/httpd/balanceIDs
PerlSetVar lonDAVsessDir /home/httpd/webdav/sessionIDs
PerlSetVar lonTabDir /home/httpd/lonTabs
PerlSetVar lonUsersDir /home/httpd/lonUsers
PerlSetVar lonIconsURL /adm/lonIcons
PerlSetVar londPort 5663
PerlSetVar lonSysEMail techsupport@loncapa.org
PerlSetVar lonDaemons /home/httpd/perl
PerlSetVar lonLib /home/httpd/lib
PerlSetVar lonSockDir /home/httpd/sockets
PerlSetVar lonSockCreate /home/httpd/sockets/common
PerlSetVar lonDocRoot /home/httpd/html
PerlSetVar lonPrtDir /home/httpd/prtspool
PerlSetVar lonIncludes /home/httpd/html/res/adm/includes
PerlSetVar lonZipDir /home/httpd/zipspool
PerlSetVar lonCaptchaDir /home/httpd/captchaspool
PerlSetVar lonCaptchaDb /home/httpd/captchadb
PerlSetVar lonLTIDir /home/httpd/lonLTItmp
PerlSetVar ltiIDsDir /home/httpd/ltiIDs
PerlSetVar lonFontsDir /home/httpd/html/adm/fonts
# & separated list of % separated fields in order 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%5&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&chrome%chrome%chromeframe%\s+chrome\/(\d+\.\d+)%9999%1&explorer%\s+rv\:\d+\.\d+%firefox%\s+rv\:(\d+\.\d+)%9999%5&opera%\sOPR\/\d+\.\d+%shouldnotmatch%\sOPR\/(\d+\.\d+)%9999%6&opera%^Opera\/9.80\s.+Version\/\d+\.\d+$%shouldnotmatch%Version\/(\d+\.\d+)$%9999%6&opera%^Opera\/\d+\.\d+\s%Version\/\d+\.\d+$%^Opera\/(\d+\.\d+)\s%9999%6
PerlSetVar lonTextBrowsers windows\s+ce:lynx
PerlSetVar lonScansDir /home/httpd/scantron
PerlSetVar lonScriptTimeout 10
PerlSetVar BugzillaHost https://bugs.loncapa.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
#----------------------------------------------------------------------------
#
# 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
PerlSetVar lonnetHostnameCertificate lonhostnamecert.pem
PerlSetVar lonnetCertRevocationList loncapaCAcrl.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 support for SSL rewrites
Include conf/loncapa_rewrite.conf
# ====================================== 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>