Starting a fedora-web/main role.
This commit is contained in:
parent
8738f5b4cd
commit
b98f37f7e8
9 changed files with 209 additions and 0 deletions
29
roles/fedora-web/main/files/deflate.conf
Normal file
29
roles/fedora-web/main/files/deflate.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
LoadModule deflate_module modules/mod_deflate.so
|
||||
SetOutputFilter DEFLATE
|
||||
|
||||
<Location />
|
||||
# Insert filter
|
||||
SetOutputFilter DEFLATE
|
||||
|
||||
# Netscape 4.x has some problems...
|
||||
BrowserMatch ^Mozilla/4 gzip-only-text/html
|
||||
|
||||
# Netscape 4.06-4.08 have some more problems
|
||||
BrowserMatch ^Mozilla/4\.0[678] no-gzip
|
||||
|
||||
# MSIE masquerades as Netscape, but it is fine
|
||||
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
|
||||
|
||||
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
|
||||
# the above regex won't work. You can use the following
|
||||
# workaround to get the desired effect:
|
||||
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
|
||||
|
||||
# Don't compress images
|
||||
SetEnvIfNoCase Request_URI \
|
||||
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
|
||||
|
||||
# Make sure proxies don't deliver the wrong content
|
||||
Header append Vary User-Agent env=!dont-vary
|
||||
</Location>
|
||||
|
17
roles/fedora-web/main/files/expires.conf
Normal file
17
roles/fedora-web/main/files/expires.conf
Normal file
|
@ -0,0 +1,17 @@
|
|||
ExpiresActive On
|
||||
ExpiresByType image/png "access plus 1 week"
|
||||
ExpiresByType image/gif "access plus 1 week"
|
||||
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
|
||||
<Location /static/>
|
||||
ExpiresDefault "access plus 1 week"
|
||||
</Location>
|
||||
FileETag none
|
||||
#
|
||||
# We want this file to never cache, it's used to determine if a client is
|
||||
# behind a caching proxy of some kind.
|
||||
#
|
||||
<LocationMatch "/static/hotspot.txt$">
|
||||
Header set Cache-Control "must-revalidate"
|
||||
ExpiresActive On
|
||||
ExpiresDefault "now"
|
||||
</LocationMatch>
|
24
roles/fedora-web/main/files/fedora-web.conf
Normal file
24
roles/fedora-web/main/files/fedora-web.conf
Normal file
|
@ -0,0 +1,24 @@
|
|||
Alias /favicon.ico /srv/web/fedoraproject.org/static/images/favicon.ico
|
||||
DocumentRoot /srv/web/fedoraproject.org/
|
||||
|
||||
ErrorDocument 404 /e/404
|
||||
|
||||
FileETag MTime Size
|
||||
|
||||
AddType image/svg+xml .svg
|
||||
AddType image/svg+xml .svgz
|
||||
AddEncoding gzip .svgz
|
||||
<FilesMatch \.svgz$>
|
||||
<IfModule mod_gzip.c>
|
||||
mod_gzip_on No
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
<FilesMatch \-webfont>
|
||||
SetEnvIfNoCase Origin "https?://.*\.fedora(project|people|hosted)\.org" ACAO=$0
|
||||
Header set Access-Control-Allow-Origin %{ACAO}e env=ACAO
|
||||
</FilesMatch>
|
||||
|
||||
<Location /static/checksums/>
|
||||
Options Indexes
|
||||
</Location>
|
5
roles/fedora-web/main/files/persona.conf
Normal file
5
roles/fedora-web/main/files/persona.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
Alias /.well-known/browserid /srv/web/browserid.fedoraproject.org
|
||||
|
||||
<Location /.well-known/browserid>
|
||||
ForceType application/json
|
||||
</Location>
|
35
roles/fedora-web/main/files/redirects.conf.prod
Normal file
35
roles/fedora-web/main/files/redirects.conf.prod
Normal file
|
@ -0,0 +1,35 @@
|
|||
RewriteEngine On
|
||||
|
||||
# TODO: Are these still necessary?
|
||||
RewriteRule ^/CodecBuddy http://fedoraproject.org/wiki/CodecBuddy [NC]
|
||||
RewriteRule ^/soc.*$ http://fedoraproject.org/wiki/SummerOfCode [R=301,L]
|
||||
|
||||
# Legal redirects
|
||||
RewriteRule ^/([^/]+/)?legal/licenses/export https://fedoraproject.org/wiki/Legal:Export [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal/licenses https://fedoraproject.org/wiki/Legal:Licenses/LicenseAgreement [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal/trademarks http://fedoraproject.org/wiki/Legal:Trademark_guidelines [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal https://fedoraproject.org/wiki/Legal:Main [R=301,L]
|
||||
|
||||
# Drop distributed web referrer hits
|
||||
RewriteCond %{HTTP_REFERER} ^http://.*/feed/index\.php\?pid2=.*&sid2=.*&mb2=.*&partnerid2=.*&redir=.*&multi=.*&aff_id=.*$
|
||||
RewriteCond %{HTTP_REFERER} ^http://playdot.net/.*$
|
||||
RewriteRule .* - [F]
|
||||
|
||||
# Drop connections from .ru site thats spawning thousands of connections at a time.
|
||||
RewriteCond %{REMOTE_ADDR} ^95\.24\.237\.122$
|
||||
RewriteRule .* - [F]
|
||||
|
||||
# With f20 we dropped this options link
|
||||
RewriteRule ^(/.*)?/get-fedora-options.*$ $1/get-fedora [R=302]
|
||||
|
||||
# Comment this when there is a prerelease available
|
||||
#RewriteRule ^(/.*)?/get-prerelease.*$ $1/get-fedora [R=302]
|
||||
#RewriteRule ^(/.*)?/get-spin-prerelease.*$ $1/get-fedora [R=302]
|
||||
|
||||
RewriteEngine On
|
||||
RewriteCond %{HTTPS} off
|
||||
RewriteRule ^/([^/]+/)?(keys|verify)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||
|
||||
|
||||
RewriteCond %{HTTP_REFERER} .*fedorproject.*
|
||||
RewriteRule .* http://mmcgrath.fedorapeople.org/spam.html [R=301,L]
|
22
roles/fedora-web/main/files/redirects.conf.stg
Normal file
22
roles/fedora-web/main/files/redirects.conf.stg
Normal file
|
@ -0,0 +1,22 @@
|
|||
RewriteEngine On
|
||||
|
||||
# TODO: Are these still necessary?
|
||||
RewriteRule ^/CodecBuddy http://fedoraproject.org/wiki/CodecBuddy [NC]
|
||||
RewriteRule ^/soc.*$ http://fedoraproject.org/wiki/SummerOfCode [R=301,L]
|
||||
|
||||
# Legal redirects
|
||||
RewriteRule ^/([^/]+/)?legal/licenses/export https://fedoraproject.org/wiki/Legal:Export [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal/licenses https://fedoraproject.org/wiki/Legal:Licenses/LicenseAgreement [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal/trademarks http://fedoraproject.org/wiki/Legal:Trademark_guidelines [R=301,L]
|
||||
RewriteRule ^/([^/]+/)?legal https://fedoraproject.org/wiki/Legal:Main [R=301,L]
|
||||
|
||||
# Comment this when there is a prerelease available
|
||||
#RewriteRule ^(/.*)?/get-prerelease$ $1/get-fedora [R=302]
|
||||
|
||||
RewriteEngine On
|
||||
RewriteCond %{HTTPS} off
|
||||
RewriteRule ^/([^/]+/)?(keys|verify)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
||||
|
||||
|
||||
RewriteCond %{HTTP_REFERER} .*fedorproject.*
|
||||
RewriteRule .* http://mmcgrath.fedorapeople.org/spam.html [R=301,L]
|
71
roles/fedora-web/main/tasks/main.yml
Normal file
71
roles/fedora-web/main/tasks/main.yml
Normal file
|
@ -0,0 +1,71 @@
|
|||
|
||||
# TODO -- still port this cronjob
|
||||
# cron { "sync-fedora-web":
|
||||
# # TODO: Make add some locking to this.
|
||||
# command => "/usr/bin/rsync --delete -a --no-owner --no-group bapp02::fedoraproject.org/ /srv/web/fedoraproject.org/",
|
||||
# user => "root",
|
||||
# minute => 25,
|
||||
# }
|
||||
|
||||
- name: Copy some config files for {{website}}
|
||||
copy: >
|
||||
src={{item}} dest=/etc/httpd/conf.d/{{website}}/{{item}}
|
||||
owner=root group=root mode=0644
|
||||
with_items:
|
||||
- fedora-web.conf
|
||||
- languages.conf
|
||||
- cache.conf
|
||||
- persona.conf
|
||||
- expires.conf
|
||||
- deflate.conf
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- fedora-web
|
||||
- fedora-web/main
|
||||
|
||||
- name: And one template (for {{website}})
|
||||
template: >
|
||||
src={{item}} dest=/etc/httpd/conf.d/{{website}}/{{item}}
|
||||
owner=root group=root mode=0644
|
||||
with_items:
|
||||
- sponsors.conf
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- fedora-web
|
||||
- fedora-web/main
|
||||
|
||||
- name: And, copy over a template for browserid
|
||||
template: >
|
||||
src=browserid.fedoraproject.org dest=/srv/web/browserid.fedoraproject.org
|
||||
owner=root group=root mode=0644
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- fedora-web
|
||||
- fedora-web/main
|
||||
|
||||
# TODO -- turn these into redirects in playbooks/groups/proxies-redirect.yml
|
||||
- name: Copy over some miscellaneous redirects (for stg)
|
||||
copy: >
|
||||
src=redirects.conf.stg dest=/etc/httpd/conf.d/{{website}}/redirects.conf
|
||||
owner=root group=root mode=0644
|
||||
when: env == "staging"
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- fedora-web
|
||||
- fedora-web/main
|
||||
|
||||
# TODO -- turn these into redirects in playbooks/groups/proxies-redirect.yml
|
||||
- name: Copy over some miscellaneous redirects (for prod)
|
||||
copy: >
|
||||
src=redirects.conf.prod dest=/etc/httpd/conf.d/{{website}}/redirects.conf
|
||||
owner=root group=root mode=0644
|
||||
when: env != "staging"
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- fedora-web
|
||||
- fedora-web/main
|
|
@ -0,0 +1,5 @@
|
|||
{% if env == "staging" %}
|
||||
"authority": "id.stg.fedoraproject.org"
|
||||
{% else %}
|
||||
"authority": "id.fedoraproject.org"
|
||||
{% end %}
|
1
roles/fedora-web/main/templates/sponsor.conf
Normal file
1
roles/fedora-web/main/templates/sponsor.conf
Normal file
|
@ -0,0 +1 @@
|
|||
Alias /static/js/sponsor.js /srv/web/<%= website %>/static/js/sponsors/<%= sponsor %>.js
|
Loading…
Add table
Add a link
Reference in a new issue