Created
December 4, 2014 16:39
-
-
Save mishal/1700e875a845817df238 to your computer and use it in GitHub Desktop.
Apache2 virtualhost configuration for WC3 validation service running on separate domain
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -------------------------------------------------------------------------- | |
# Installation: | |
# -------------------------------------------------------------------------- | |
# Disable the default configuration and setup new virtual host | |
# $ sudo a2disconf w3c-markup-validator | |
# $ sudo a2ensite validate.2000cubits.lab | |
# $ sudo service apache2 reload | |
# -------------------------------------------------------------------------- | |
# Taken from original distribution: w3c-markup-validator.conf | |
# -------------------------------------------------------------------------- | |
# -*- apache -*- | |
# Debianized httpd.conf snippet for W3C Markup Validation Service | |
# Note that this is not a complete server configuration file, but contains | |
# only the validator-specific part. | |
# | |
# The w3c-markup-validator postinst script will link | |
# /etc/apache2/conf.available/w3c-markup-validator.conf -> /etc/w3c/httpd.conf | |
# | |
# To run the validator without mod_perl 2.x even if it is loaded, comment | |
# out the "IfDefine MODPERL2" sections below. | |
<VirtualHost *:80> | |
ServerName validate.2000cubits.lab | |
# Referer dependent redirects. | |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
# check/referer is deprecated in favor of check?uri=referer | |
RewriteRule ^(/+check)/+referr?er$ $1?uri=referer [R=301,QSA,L] | |
# If Referer is present, redirect check?uri=referer to check?uri=$Referer | |
RewriteRule . - [E=have_uri_referer:false] | |
RewriteCond %{QUERY_STRING} (^|.*?[;&])ur[il]=referer([;&].*|$) | |
RewriteRule . - [E=qs1:%1,E=qs2:%2,E=have_uri_referer:true] | |
RewriteCond %{ENV:have_uri_referer} =true | |
RewriteCond %{HTTP_REFERER} ^(.+)$ | |
RewriteRule ^/+w3c-validator/+check$ \ | |
/w3c-validator/check?%{ENV:qs1}uri=%1%{ENV:qs2} [R,B,NE,L] | |
</IfModule> | |
# Tell httpd that check and sendfeedback.pl are CGI scripts. | |
Alias /check /usr/lib/cgi-bin/w3c-markup-validator/check | |
AliasMatch ^/+feedback(\.html)?$ \ | |
/usr/lib/cgi-bin/w3c-markup-validator/sendfeedback.pl | |
<IfDefine MODPERL2> | |
# Note: this block affects the whole server, not just the validator. | |
PerlSwitches -T | |
PerlPostConfigRequire /usr/share/w3c-markup-validator/mod_perl/startup.pl | |
</IfDefine> | |
<LocationMatch "^/+(check|feedback(\.html)?)$"> | |
Options +ExecCGI | |
SetHandler cgi-script | |
<IfDefine MODPERL2> | |
SetHandler perl-script | |
PerlResponseHandler ModPerl::Registry | |
PerlOptions +ParseHeaders | |
</IfDefine> | |
Require all granted | |
# Environment settings affecting validator's outside connectivity, see | |
# LWP::UserAgent and Net::FTP documentation for details. | |
#SetEnv http_proxy http://proxy:3128 | |
#SetEnv https_proxy http://proxy:3128 | |
#SetEnv ftp_proxy http://proxy:3128 | |
#SetEnv no_proxy localdomain | |
#SetEnv FTP_PASSIVE 1 | |
</LocationMatch> | |
# This is the directory where you have the validator's *.html, *.css etc files. | |
Alias / /usr/share/w3c-markup-validator/html/ | |
<Directory /usr/share/w3c-markup-validator/html/> | |
Options IncludesNOEXEC Indexes MultiViews | |
AllowOverride None | |
AddHandler server-parsed .html | |
AddCharset utf-8 .html | |
AddEncoding x-gzip .gz | |
<Files *.js.gz> | |
ForceType application/javascript | |
</Files> | |
<Files *.css.gz> | |
ForceType text/css | |
</Files> | |
<IfModule mod_rewrite.c> | |
Options +SymLinksIfOwnerMatch | |
RewriteBase / | |
RewriteRule fragment-upload(\.html)? detailed.html#validate-by-input [R,L,NE] | |
RewriteRule file-upload(\.html)? detailed.html#validate-by-upload [R,L,NE] | |
</IfModule> | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
ExpiresByType image/gif A2592000 | |
ExpiresByType image/png A2592000 | |
ExpiresByType text/html A604800 | |
ExpiresByType text/css A2592000 | |
ExpiresByType text/javascript A2592000 | |
ExpiresByType application/javascript A2592000 | |
ExpiresByType application/ecmascript A2592000 | |
</IfModule> | |
# See bug 608225 | |
# Permission may be denied higher up so override here. | |
Require all granted | |
# That project doesn't use ap_expr yet: Enable legacy mode: | |
SSILegacyExprParser on | |
</Directory> | |
# Atom news feed | |
Redirect /whatsnew.atom \ | |
http://www.w3.org/QA/Tools/validator-whatsnew.atom | |
</VirtualHost> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment