### Combo test configuration # This file sets up a testing environment for Combo. It assumes that # the server root is /var/www (as it is in, e.g., RedHat 7.x) and that # $SERVER_ROOT/Ccgi is a symlink to the Combo/cgi subdirectory of the # working tree. It can either be "Include"d in httpd.conf or symlinked # from srm.conf (which is really cheating). # === Eventually this should end up in a config file generated by a script # === from a global configuration file that says where ServerRoot, # === DocumentRoot, /site, and Combo are. ### There may be two virtual hosts: the normal one and the edit/upload one. ### The document root and Ccgi directory are shared. # Map the CGI directory into URL space. It doesn't have to be browsable, # but there's no real reason for it not to be. Since this is a test # configuration, we go ahead. Use ScriptAlias to make it invisible. Alias /Ccgi /var/www/Ccgi AllowOverride None Options ExecCGI Indexes MultiViews Includes FollowSymLinks AddType text/html .cgi AddHandler cgi-script .cgi #AddHandler perl-script .cgi #PerlHandler Apache::Registry Order allow,deny Allow from all #DAV on #DAV on #DAV on # The DAV lock database has to be in a directory writable by the server. # it is usually DOC_ROOT/var DAVLockDB /var/www/var/DAVLock ### This stanza describes the normal host. ### Rewrite Rules: # Minor magic to turn, e.g., /c//Steve into /c/S/St/Steve # # Expand the // etc. internally, but make sure we redirect to the # cannonical form externally. # # NOTE: These rules have to be inside a VirtualHost in order to work. # That means we need to put them into an include file. RewriteEngine on # make net.html the top-level home page #RewriteRule ^/$ /net.html RewriteMap uc int:toupper RewriteMap lc int:tolower # redirect index entries back to cannonical 2-slash form: # === Might want to also handle ...//...; this only does ...// RewriteRule ^/([^/]+)/[a-zA-Z0-9]/[a-zA-Z0-9][a-zA-Z0-9]/([a-zA-Z0-9]+)/$ \ /$1//$2/ [R] # === Should probably extend this to one-level indices everyplace except # === immediately under a single-character top-level directory. # Quietly rewrite // -> 2-level index. # Note that we uc the first character and lc the second # === why do we accept digits here??? === Calendars? ...//20020313/... # === better to simply rewrite 2002-03-13 as 2002/03/13 === RewriteRule ^/([^/]+)//([a-zA-Z])([a-zA-Z])(.*)$ \ /$1/${uc:$2}/${uc:$2}${lc:$3}/$2$3$4 #RewriteRule ^/([^/]+)//([a-zA-Z])([a-zA-Z])(.*)$ /$1/$2/$2$3/$2$3$4 DirectoryIndex index.html index.ht /Ccgi/dir-index.cgi # This stuff makes view.cgi the handler for .ht and .wt files Action processHT /Ccgi/view.cgi AddHandler processHT .ht AddHandler processHT .wt AddType text/html .ht AddType text/html .wt Script PROPFIND /Ccgi/file.cgi SetEnv COMBO_EDIT_URL http://moseisley.thestarport.org:8080 Order allow,deny Allow from all ### This stanza describes the edit host Listen *:8080 SetEnv COMBO_EDIT_HOST # All file-handling is done using DAV; just need indices for navigation # dir-index needs to detect when it's being run on the edit site. # maybe we don't need it; just go to controls. #DirectoryIndex /Ccgi/dir-index.cgi #Action fileHT /Ccgi/file.cgi #AddHandler processHT .ht #AddHandler processHT .wt #AddType text/plain .ht #AddType text/plain .wt # === text/sgml ??? SetEnv COMBO_VIEW_URL http://moseisley.thestarport.org # Note that this needs to redirect the opposite way from the regular # server: it recognizes // but treats .../X/Xy/... as cannonical RewriteRule ^/([^/]+)//([a-zA-Z])([a-zA-Z])(.*)$ \ /$1/${uc:$2}/${uc:$2}${lc:$3}/$2$3$4 [R] Order allow,deny Allow from all # === goes into .htaccess files in individual directories! # # Order allow,deny # Allow from all (?) # Require [user] #