<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
<project version="4"> | <project version="4"> |
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true"> | <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true"> |
<output url="file://$PROJECT_DIR$/out" /> | <output url="file://$PROJECT_DIR$/out" /> |
</component> | </component> |
<component name="RegexUtilComponent" text="1900-01-01 2007/08/13 1900.01.01 1900 01 01 1900-01.01 1900 13 01 1900 02 31" flags="0" regex="(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])" mode="0" /> | |
</project> | </project> |
<VirtualHost 127.0.0.1:8080> | <VirtualHost 127.0.0.1:8080> |
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost |
ServerName data.gov.au | ServerName data.gov.au |
ServerAlias www.data.gov.au, opendata.linkdigital.com.au | ServerAlias www.data.gov.au, opendata.linkdigital.com.au |
#allow access to local static content eg. logos | #allow access to local static content eg. logos |
Alias /index.html /var/www/index.html | Alias /index.html /var/www/index.html |
Alias /logos /var/www/logos | Alias /logos /var/www/logos |
Alias /tools /var/www/tools.shtml | Alias /tools /var/www/tools.shtml |
Alias /opendata /var/www/opendata.shtml | Alias /opendata /var/www/opendata.shtml |
Alias /opengov /var/www/opengov.shtml | Alias /opengov /var/www/opengov.shtml |
DocumentRoot /var/www | DocumentRoot /var/www |
<IfModule mod_expires.c> | <IfModule mod_expires.c> |
<FilesMatch "\.(jpe?g|png|gif|js|css)$"> | <FilesMatch "\.(jpe?g|png|gif|js|css)$"> |
ExpiresActive On | ExpiresActive On |
ExpiresDefault "access plus 1 week" | ExpiresDefault "access plus 1 week" |
</FilesMatch> | </FilesMatch> |
</IfModule> | </IfModule> |
AddType application/octet-stream .woff | |
<FilesMatch "\.(eot|otf|woff|ttf)$"> | |
SetEnvIf Origin "^http(s)?://(.+\.)?(data.gov.au)$" origin_is=$0 | |
Header set Access-Control-Allow-Origin %{origin_is}e env=origin_is | |
</FilesMatch> | |
<Directory /> | <Directory /> |
Options FollowSymLinks | Options FollowSymLinks |
AllowOverride None | AllowOverride None |
</Directory> | </Directory> |
<Directory /var/www/> | <Directory /var/www/> |
Options -Indexes -FollowSymLinks -MultiViews +Includes | Options -Indexes -FollowSymLinks -MultiViews +Includes |
AllowOverride None | AllowOverride None |
Order allow,deny | Order allow,deny |
allow from all | allow from all |
AddType text/html .shtml | AddType text/html .shtml |
AddOutputFilter INCLUDES .shtml | AddOutputFilter INCLUDES .shtml |
</Directory> | </Directory> |
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log |
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg. | # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. |
LogLevel warn | LogLevel warn |
CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined | CustomLog ${APACHE_LOG_DIR}/access.log varnishcombined |
RewriteEngine On | RewriteEngine On |
RewriteMap lc int:tolower | RewriteMap lc int:tolower |
# RewriteRule ^/apps/antenna-mate/?$ http://antennamate.com/ [PT] | # RewriteRule ^/apps/antenna-mate/?$ http://antennamate.com/ [PT] |
# RewriteRule ^/apps/postcode-finder/?$ http://www.aus-emaps.com/postcode_finder.php [PT] | # RewriteRule ^/apps/postcode-finder/?$ http://www.aus-emaps.com/postcode_finder.php [PT] |
# RewriteRule ^/apps/the-australian-cost-of-living-heatmap/?$ http://www.creditcardcompare.com.au/tools/cost-of-living-heatmap/ [PT] | # RewriteRule ^/apps/the-australian-cost-of-living-heatmap/?$ http://www.creditcardcompare.com.au/tools/cost-of-living-heatmap/ [PT] |
RewriteRule ^/catalogues/?$ /organization [PT] | RewriteRule ^/catalogues/?$ /organization [PT] |
RewriteRule ^/dataset/“cycling-in-new-south-wales-what-the-data-tells-us”-and-related-data/? /dataset/2809cycling-in-new-south-wales-what-the-data-tells-us2809-and-related-data [PT] | RewriteRule ^/dataset/“cycling-in-new-south-wales-what-the-data-tells-us”-and-related-data/? /dataset/2809cycling-in-new-south-wales-what-the-data-tells-us2809-and-related-data [PT] |
RewriteRule ^/dataset/apvma-pubcris-dataset-for-registered-agricultural-and-veterinary-chemical-products-and-approved-actives/? /dataset/apvma-pubcris-dataset-for-registered-agricultural-and-veterinary-chemical-products-and-approved-acti [PT] | RewriteRule ^/dataset/apvma-pubcris-dataset-for-registered-agricultural-and-veterinary-chemical-products-and-approved-actives/? /dataset/apvma-pubcris-dataset-for-registered-agricultural-and-veterinary-chemical-products-and-approved-acti [PT] |
RewriteRule ^/dataset_category/business/?$ /group/business [PT] | RewriteRule ^/dataset_category/business/?$ /group/business [PT] |
RewriteRule ^/dataset_category/community/?$ /group/community [PT] | RewriteRule ^/dataset_category/community/?$ /group/community [PT] |
RewriteRule ^/dataset_category/geography/?$ /group/geography [PT] | RewriteRule ^/dataset_category/geography/?$ /group/geography [PT] |
RewriteRule ^/dataset_category/government/?$ /group/government [PT] | RewriteRule ^/dataset_category/government/?$ /group/government [PT] |
RewriteRule ^/dataset_category/health/?$ /group/health [PT] | RewriteRule ^/dataset_category/health/?$ /group/health [PT] |
RewriteRule ^/dataset_category/?$ /group [PT] | RewriteRule ^/dataset_category/?$ /group [PT] |
RewriteRule ^/feed/?$ /feeds/dataset.atom [PT] | RewriteRule ^/feed/?$ /feeds/dataset.atom [PT] |
RewriteRule ^/jurisdiction/australian-capital-territory/?$ /dataset?q=act [PT] | RewriteRule ^/jurisdiction/australian-capital-territory/?$ /dataset?q=act [PT] |
RewriteRule ^/jurisdiction/new-south-wales/?$ /dataset?q=new+south+wales [PT] | RewriteRule ^/jurisdiction/new-south-wales/?$ /dataset?q=new+south+wales [PT] |
RewriteRule ^/jurisdiction/queensland/?$ /dataset?q=queensland [PT] | RewriteRule ^/jurisdiction/queensland/?$ /dataset?q=queensland [PT] |
RewriteRule ^/jurisdiction/south-australia/?$ /dataset?q=south+australia [PT] | RewriteRule ^/jurisdiction/south-australia/?$ /dataset?q=south+australia [PT] |
RewriteRule ^/jurisdiction/victoria/?$ /dataset?q=victoria [PT] | RewriteRule ^/jurisdiction/victoria/?$ /dataset?q=victoria [PT] |
RewriteRule ^/jurisdiction/western-australia/?$ /dataset?q=western+australia [PT] | RewriteRule ^/jurisdiction/western-australia/?$ /dataset?q=western+australia [PT] |
RewriteRule ^/jurisdiction/?$ /dataset [PT] | RewriteRule ^/jurisdiction/?$ /dataset [PT] |
# RewriteCond %{QUERY_STRING} ^category=([a-z]+) | # RewriteCond %{QUERY_STRING} ^category=([a-z]+) |
# RewriteRule ^/data/?$ /group/${lc:%1}? [PT] | # RewriteRule ^/data/?$ /group/${lc:%1}? [PT] |
# RewriteCond %{QUERY_STRING} ^format=Shapefile | # RewriteCond %{QUERY_STRING} ^format=Shapefile |
# RewriteRule ^/data/?$ /dataset?res_format=shp [PT] | # RewriteRule ^/data/?$ /dataset?res_format=shp [PT] |
RewriteRule ^/data/?$ /dataset? [PT] | RewriteRule ^/data/?$ /dataset? [PT] |
RewriteCond %{QUERY_STRING} ^s=(.*) | RewriteCond %{QUERY_STRING} ^s=(.*) |
RewriteRule ^/ /dataset?q=%1 [PT] | RewriteRule ^/ /dataset?q=%1 [PT] |
FilterDeclare OPENDATA | FilterDeclare OPENDATA |
FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $text/ | FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $text/ |
FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/javascript | FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/javascript |
FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/json | FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/json |
FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/xml | FilterProvider OPENDATA SUBSTITUTE resp=Content-Type $/xml |
FilterChain OPENDATA | FilterChain OPENDATA |
Substitute "s#//opendata.linkdigital.com.au#//data.gov.au#" | Substitute "s#//opendata.linkdigital.com.au#//data.gov.au#" |
WSGIScriptAlias / /var/lib/ckan/dga/pyenv/bin/dga.py | WSGIScriptAlias / /var/lib/ckan/dga/pyenv/bin/dga.py |
WSGIPassAuthorization On | WSGIPassAuthorization On |
ErrorLog /var/log/apache2/ckandga.error.log | ErrorLog /var/log/apache2/ckandga.error.log |
CustomLog /var/log/apache2/ckandga.custom.log combined | CustomLog /var/log/apache2/ckandga.custom.log combined |
</VirtualHost> | </VirtualHost> |
# This is a basic VCL configuration file for varnish. See the vcl(7) | # This is a basic VCL configuration file for varnish. See the vcl(7) |
# man page for details on VCL syntax and semantics. | # man page for details on VCL syntax and semantics. |
# | # |
# Default backend definition. Set this to point to your content | # Default backend definition. Set this to point to your content |
# server. | # server. |
# | # |
backend default { | backend default { |
.host = "127.0.0.1"; | .host = "127.0.0.1"; |
.port = "8080"; | .port = "8080"; |
} | } |
sub vcl_fetch { | sub vcl_fetch { |
set beresp.grace = 1h; | set beresp.grace = 1h; |
if (beresp.http.content-type ~ "(text|application)") { | if (beresp.http.content-type ~ "(text|application)") { |
set beresp.do_gzip = true; | set beresp.do_gzip = true; |
} | } |
if (req.url ~ "\.(png|gif|jpg|jpeg|swf|css|js|woff|eot)$") { | if (req.url ~ "\.(png|gif|jpg|jpeg|swf|css|js|woff|eot)$") { |
unset beresp.http.set-cookie; | unset beresp.http.set-cookie; |
} | } |
} | } |
sub vcl_recv { | sub vcl_recv { |
if (req.url ~ "^/_tracking") { | if (req.url ~ "^/_tracking") { |
return (pass); | return (pass); |
} | } |
if (req.url ~ "\.(png|gif|jpg|jpeg|swf|css|js|woff|eot)$") { | if (req.url ~ "\.(png|gif|jpg|jpeg|swf|css|js|woff|eot)$") { |
return(lookup); | return(lookup); |
} | } |
if (req.url ~ "/(..|.._..)/") { | |
set req.url = regsub(req.url, "/((?!js)..|.._..)/", "/"); | |
} | |
if (req.http.Cookie) { | if (req.http.Cookie) { |
set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm.=[^;]+;? *", "\1"); # removes all cookies named __utm? (utma, utmb...) - tracking thing | set req.http.Cookie = regsuball(req.http.Cookie, "(^|; ) *__utm.=[^;]+;? *", "\1"); # removes all cookies named __utm? (utma, utmb...) - tracking thing |
if (req.http.Cookie == "") { | if (req.http.Cookie == "") { |
remove req.http.Cookie; | remove req.http.Cookie; |
} | } |
} | } |
} | } |
sub vcl_hash { | |
# http://serverfault.com/questions/112531/ignoring-get-parameters-in-varnish-vcl | |
set req.url = regsub(req.url, "(?:(.com|.au))/((?!js)..|.._..)/", "/"); | |
hash_data(req.url); | |
if (req.http.host) { | |
hash_data(req.http.host); | |
} else { | |
hash_data(server.ip); | |
} | |
return (hash); | |
} | |
sub vcl_deliver { | sub vcl_deliver { |
if (!resp.http.Vary) { | if (!resp.http.Vary) { |
set resp.http.Vary = "Accept-Encoding"; | set resp.http.Vary = "Accept-Encoding"; |
} else if (resp.http.Vary !~ "(?i)Accept-Encoding") { | } else if (resp.http.Vary !~ "(?i)Accept-Encoding") { |
set resp.http.Vary = resp.http.Vary + ",Accept-Encoding"; | set resp.http.Vary = resp.http.Vary + ",Accept-Encoding"; |
} | } |
if (obj.hits > 0) { | if (obj.hits > 0) { |
set resp.http.X-Cache = "HIT"; | set resp.http.X-Cache = "HIT"; |
} else { | } else { |
set resp.http.X-Cache = "MISS"; | set resp.http.X-Cache = "MISS"; |
} | } |
} | } |
# | # |
# Below is a commented-out copy of the default VCL logic. If you | # Below is a commented-out copy of the default VCL logic. If you |
# redefine any of these subroutines, the built-in logic will be | # redefine any of these subroutines, the built-in logic will be |
# appended to your code. | # appended to your code. |
# sub vcl_recv { | # sub vcl_recv { |
# if (req.restarts == 0) { | # if (req.restarts == 0) { |
# if (req.http.x-forwarded-for) { | # if (req.http.x-forwarded-for) { |
# set req.http.X-Forwarded-For = | # set req.http.X-Forwarded-For = |
# req.http.X-Forwarded-For + ", " + client.ip; | # req.http.X-Forwarded-For + ", " + client.ip; |
# } else { | # } else { |
# set req.http.X-Forwarded-For = client.ip; | # set req.http.X-Forwarded-For = client.ip; |
# } | # } |
# } | # } |
# if (req.request != "GET" && | # if (req.request != "GET" && |
# req.request != "HEAD" && | # req.request != "HEAD" && |
# req.request != "PUT" && | # req.request != "PUT" && |
# req.request != "POST" && | # req.request != "POST" && |
# req.request != "TRACE" && | # req.request != "TRACE" && |
# req.request != "OPTIONS" && | # req.request != "OPTIONS" && |
# req.request != "DELETE") { | # req.request != "DELETE") { |
# /* Non-RFC2616 or CONNECT which is weird. */ | # /* Non-RFC2616 or CONNECT which is weird. */ |
# return (pipe); | # return (pipe); |
# } | # } |
# if (req.request != "GET" && req.request != "HEAD") { | # if (req.request != "GET" && req.request != "HEAD") { |
# /* We only deal with GET and HEAD by default */ | # /* We only deal with GET and HEAD by default */ |
# return (pass); | # return (pass); |
# } | # } |
# if (req.http.Authorization || req.http.Cookie) { | # if (req.http.Authorization || req.http.Cookie) { |
# /* Not cacheable by default */ | # /* Not cacheable by default */ |
# return (pass); | # return (pass); |
# } | # } |
# return (lookup); | # return (lookup); |
# } | # } |
# | # |
# sub vcl_pipe { | # sub vcl_pipe { |
# # Note that only the first request to the backend will have | # # Note that only the first request to the backend will have |
# # X-Forwarded-For set. If you use X-Forwarded-For and want to | # # X-Forwarded-For set. If you use X-Forwarded-For and want to |
# # have it set for all requests, make sure to have: | # # have it set for all requests, make sure to have: |
# # set bereq.http.connection = "close"; | # # set bereq.http.connection = "close"; |
# # here. It is not set by default as it might break some broken web | # # here. It is not set by default as it might break some broken web |
# # applications, like IIS with NTLM authentication. | # # applications, like IIS with NTLM authentication. |
# return (pipe); | # return (pipe); |
# } | # } |
# | # |
# sub vcl_pass { | # sub vcl_pass { |
# return (pass); | # return (pass); |
# } | # } |
# | # |
# sub vcl_hash { | # sub vcl_hash { |
# hash_data(req.url); | # hash_data(req.url); |
# if (req.http.host) { | # if (req.http.host) { |
# hash_data(req.http.host); | # hash_data(req.http.host); |
# } else { | # } else { |
# hash_data(server.ip); | # hash_data(server.ip); |
# } | # } |
# return (hash); | # return (hash); |
# } | # } |
# | # |
# sub vcl_hit { | # sub vcl_hit { |
# return (deliver); | # return (deliver); |
# } | # } |
# | # |
# sub vcl_miss { | # sub vcl_miss { |
# return (fetch); | # return (fetch); |
# } | # } |
# | # |
# sub vcl_fetch { | # sub vcl_fetch { |
# if (beresp.ttl <= 0s || | # if (beresp.ttl <= 0s || |
# beresp.http.Set-Cookie || | # beresp.http.Set-Cookie || |
# beresp.http.Vary == "*") { | # beresp.http.Vary == "*") { |
# /* | # /* |
# * Mark as "Hit-For-Pass" for the next 2 minutes | # * Mark as "Hit-For-Pass" for the next 2 minutes |
# */ | # */ |
# set beresp.ttl = 120 s; | # set beresp.ttl = 120 s; |
# return (hit_for_pass); | # return (hit_for_pass); |
# } | # } |
# return (deliver); | # return (deliver); |
# } | # } |
# | # |
# sub vcl_deliver { | # sub vcl_deliver { |
# return (deliver); | # return (deliver); |
# } | # } |
# | # |
# sub vcl_error { | # sub vcl_error { |
# set obj.http.Content-Type = "text/html; charset=utf-8"; | # set obj.http.Content-Type = "text/html; charset=utf-8"; |
# set obj.http.Retry-After = "5"; | # set obj.http.Retry-After = "5"; |
# synthetic {" | # synthetic {" |
# <?xml version="1.0" encoding="utf-8"?> | # <?xml version="1.0" encoding="utf-8"?> |
# <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
# "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | # "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
# <html> | # <html> |
# <head> | # <head> |
# <title>"} + obj.status + " " + obj.response + {"</title> | # <title>"} + obj.status + " " + obj.response + {"</title> |
# </head> | # </head> |
# <body> | # <body> |
# <h1>Error "} + obj.status + " " + obj.response + {"</h1> | # <h1>Error "} + obj.status + " " + obj.response + {"</h1> |
# <p>"} + obj.response + {"</p> | # <p>"} + obj.response + {"</p> |
# <h3>Guru Meditation:</h3> | # <h3>Guru Meditation:</h3> |
# <p>XID: "} + req.xid + {"</p> | # <p>XID: "} + req.xid + {"</p> |
# <hr> | # <hr> |
# <p>Varnish cache server</p> | # <p>Varnish cache server</p> |
# </body> | # </body> |
# </html> | # </html> |
# "}; | # "}; |
# return (deliver); | # return (deliver); |
# } | # } |
# | # |
# sub vcl_init { | # sub vcl_init { |
# return (ok); | # return (ok); |
# } | # } |
# | # |
# sub vcl_fini { | # sub vcl_fini { |
# return (ok); | # return (ok); |
# } | # } |
# | |
# ckan - Pylons configuration | |
# | |
# The %(here)s variable will be replaced with the parent directory of this file | |
# | |
[DEFAULT] | |
# Change debug to true when doing CKAN development, it enables Pylons' | |
# interactive debugging tool, makes Fanstatic serve unminified JS and CSS | |
# files, and enables CKAN templates' debugging features. | |
# | |
# WARNING: *THIS SETTING MUST BE SET TO FALSE ON A PRODUCTION ENVIRONMENT* | |
# Debug mode will enable the interactive debugging tool, allowing ANYONE to | |
# execute malicious code after an exception is raised. | |
debug = False | |
email_to = ddg@alert.links.com.au | |
error_email_from = data.gov@finance.gov.au | |
# The SMTP server to connect to when sending emails to users, with optional | |
# port (default: 25). For example: lavabit.com, or smtp.gmail.com:587. To | |
# connect to a local sendmail process enter 'localhost'. | |
#smtp.server = localhost | |
smtp.server = smtp.gmail.com:587 | |
# Whether or not to use STARTTLS when connecting to the SMTP server. | |
#smtp.starttls = False | |
smtp.starttls = True | |
# The username and password to use to authenticate with the SMTP server. | |
# Optional, if these are left commented-out then CKAN will try to send email | |
# to the SMTP server without logging in first. | |
#smtp.user = your_username@gmail.com | |
#smtp.password = your_password | |
smtp.user = datagovau@gmail.com | |
smtp.password = *** | |
googleanalytics.id = *** | |
# The email address that emails sent by CKAN to users should appear to come | |
# from. Optional (default: None, note that the SMTP server may insert its own | |
# from address). | |
smtp.mail_from = data.gov@finance.gov.au | |
[server:main] | |
use = egg:Paste#http | |
host = 0.0.0.0 | |
port = 5000 | |
[app:main] | |
use = egg:ckan | |
ckan.tracking_enabled = true | |
full_stack = true | |
cache_dir = %(here)s/data | |
beaker.session.key = ckan | |
beaker.session.secret = *** | |
app_instance_uuid = *** | |
# Auth | |
ckan.auth.anon_create_dataset = false | |
ckan.auth.create_unowned_dataset = false | |
ckan.auth.create_dataset_if_not_in_organization = false | |
ckan.auth.user_create_organizations = false | |
ckan.auth.user_delete_organizations = true | |
ckan.auth.user_create_groups = false | |
ckan.auth.user_delete_groups = true | |
ckan.auth.create_user_via_api = true | |