##
## loncapa_apache.conf -- Apache HTTP LON-CAPA configuration file
##
## $Id: loncapa_apache.conf,v 1.46 2003/04/18 20:44:07 www 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
AddModule mod_perl.c
# =============================================================== 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
#PerlWarn On
<LocationMatch "^/+res.*">
PerlAccessHandler Apache::lonacc
PerlHeaderParserHandler Apache::lonrep
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/+userfiles.*">
PerlAccessHandler Apache::lontokacc
</LocationMatch>
<LocationMatch "^/+uploaded.*">
PerlAccessHandler Apache::lonuploadedacc
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/+public/.*/syllabus$">
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsyllabus
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/.*/aboutme$">
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonaboutme
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/.*/smppg$">
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsimplepage
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/adm/.*/bulletinboard$">
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonbulletin
ErrorDocument 404 /adm/notfound.html
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
<LocationMatch "^/+priv.*">
PerlAccessHandler 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 "^/+\~.*">
PerlAccessHandler Apache::loncacc
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/unauthorized
ErrorDocument 500 /adm/errorhandler
AllowOverride None
</LocationMatch>
<LocationMatch "^/adm/helper/.*\.helper$">
PerlAccessHandler 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">
PerlAccessHandler Apache::lonacc
ErrorDocument 403 /adm/login
ErrorDocument 404 /adm/notfound.html
ErrorDocument 406 /adm/roles
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>
<Location /adm/ratparms>
PerlAccessHandler 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
</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|adm).*\.meta$>
SetHandler perl-script
PerlHandler Apache::lonmeta
</LocationMatch>
<LocationMatch "^/(res|\~).*\.rights$>
SetHandler perl-script
PerlHandler Apache::lonrights
</LocationMatch>
<LocationMatch "^/(res|\~).*\.(xml|html|htm|xhtml|xhtm)$">
SetHandler perl-script
PerlHandler Apache::lonxml
</LocationMatch>
<LocationMatch "^/(res|\~).*\.(problem|exam|quiz|assess|survey|form|library)$">
SetHandler perl-script
PerlHandler Apache::lonhomework
</LocationMatch>
<LocationMatch "^/adm/wrapper/">
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwrapper
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</LocationMatch>
# -------------------------------------------------------------- Admin Programs
<Location /adm/randomlabel.png>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::randomlylabel
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/statistics>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonstatistics
ErrorDocument 403 /adm/login
ErrorDocument 413 /adm/overloaded.txt
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/roles>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonroles
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/menu>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmenu
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/remote>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonremote
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/pickstudent>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickstudent
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/pickcourse>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpickcourse
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/login>
SetHandler perl-script
PerlHandler Apache::lonlogin
</Location>
<Location /adm/logout>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonlogout
ErrorDocument 403 /adm/login
</Location>
<Location /adm/authenticate>
SetHandler perl-script
PerlHandler Apache::lonauth
</Location>
<Location /adm/annotations>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::admannotations
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/bookmarks>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::admbookmarks
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/flip>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpageflip
PerlCleanupHandler Apache::lonpageflip::cleanup
ErrorDocument 406 /adm/roles
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/ambiguous>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonambiguous
PerlCleanupHandler Apache::lonambiguous::cleanup
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/email>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmsg
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/parmset>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonparmset
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/wizard>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonwizard
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/grades>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::grades
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/createcourse>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncreatecourse
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/createuser>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncreateuser
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/publish>
PerlAccessHandler 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 "^/\~.*/$">
PerlAccessHandler 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>
PerlAccessHandler 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>
PerlAccessHandler 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>
PerlAccessHandler 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/cfile>
PerlAccessHandler 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>
PerlAccessHandler 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>
PerlAccessHandler 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/assesscalc>
PerlAccessHandler 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>
PerlAccessHandler 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>
PerlAccessHandler 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>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::londropadd
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/managekeys>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonmanagekeys
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/printout>
PerlAccessHandler 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>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonfeedback
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/coursedocs>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlCleanupHandler Apache::coursedocs::untiehash
PerlHandler Apache::londocs
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/announcements>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonannounce
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/chat>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonchat
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/chatfetch>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonchatfetch
ErrorDocument 413 /adm/overloaded.txt
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/evaluate>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonevaluate
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/preferences>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonpreferences
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/assignments>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonassignments
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/communicate>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::loncommunicate
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/searchcat>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonsearchcat
PerlCleanupHandler Apache::lonsearchcat::cleanup
ErrorDocument 403 /adm/login
ErrorDocument 413 /adm/overloaded.txt
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/navmaps>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonnavmaps
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/quickgrades>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::lonquickgrades
ErrorDocument 403 /adm/login
ErrorDocument 406 /adm/roles
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/groupsort>
PerlAccessHandler Apache::lonacc
SetHandler perl-script
PerlHandler Apache::groupsort
PerlCleanupHandler Apache::groupsort::cleanup
ErrorDocument 403 /adm/login
ErrorDocument 500 /adm/errorhandler
</Location>
<Location /adm/errorhandler>
SetHandler perl-script
PerlHandler Apache::lonerrorhandler
</Location>
<LocationMatch "^/adm/help/.*\.hlp$">
SetHandler perl-script
PerlHandler Apache::lonhelp
</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 /adm/test>
AuthName "LON-CAPA Network Administration"
AuthType Basic
AuthUserFile /home/httpd/lonTabs/htpasswd
require user lonadm
SetHandler perl-script
PerlAccessHandler Apache::lonacc
PerlHandler Apache::lontest
</Location>
# ------------------------------------------------------- Shutting down a child
PerlChildExitHandler Apache::lonnet::goodbye
#
# LON-CAPA Section (extensions to access.conf permission configuration)
#
# =========================================================== Directory Options
# Start out with "no"
<Directory />
Options None
AllowOverride None
</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
</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 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 lonIncludes /home/httpd/html/res/adm/includes
PerlSetVar lonBrowsDet netscape:mozilla:msie:mozilla\/(\d+\.\d+)\s:9999:9999&explorer:msie:netscape:msie\s(\d+\.\d+)\;:9999:9999&mozilla:mozilla\/[5-9]:msie:mozilla\/(\d+\.\d+)\s:9999:1&amaya:amaya:mozilla:V(\d+\.\d+)\s:1:1
PerlSetVar lonTextBrowsers opera:windows\s+ce:lynx
PerlSetVar lonScansDir /home/httpd/scantron
PerlSetVar lonScriptTimeout 10
# -----------------------------------------------------------------------------
# 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
# ====================================== Include machine-specific configuration
Include conf/loncapa.conf
# ================================================== Initiate mod_perl starting
PerlRequire conf/startup.pl
PerlFreshRestart On
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>