]> git.openstreetmap.org Git - chef.git/blob - cookbooks/wordpress/templates/default/apache.erb
chef: on Debian ARM use Ubuntu deb
[chef.git] / cookbooks / wordpress / templates / default / apache.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 <VirtualHost *:80>
4   ServerName <%= @name %>
5 <% @aliases.each do |alias_name| -%>
6   ServerAlias <%= alias_name %>
7 <% end -%>
8
9   ServerAdmin webmaster@openstreetmap.org
10
11   CustomLog /var/log/apache2/<%= @name %>-access.log combined
12   ErrorLog /var/log/apache2/<%= @name %>-error.log
13
14   RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
15   RedirectPermanent / https://<%= @name %>/
16 </VirtualHost>
17 <% unless @aliases.empty? -%>
18
19 <VirtualHost *:443>
20   ServerName <%= @aliases.first %>
21 <% @aliases.drop(1).each do |alias_name| -%>
22   ServerAlias <%= alias_name %>
23 <% end -%>
24
25   ServerAdmin webmaster@openstreetmap.org
26
27   SSLEngine on
28   SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
29   SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
30
31   CustomLog /var/log/apache2/<%= @name %>-access.log combined
32   ErrorLog /var/log/apache2/<%= @name %>-error.log
33
34   RedirectPermanent / https://<%= @name %>/
35 </VirtualHost>
36 <% end -%>
37
38 <VirtualHost *:443>
39   ServerName <%= @name %>
40
41   ServerAdmin webmaster@openstreetmap.org
42
43   SSLEngine on
44   SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
45   SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
46
47   CustomLog /var/log/apache2/<%= @name %>-access.log combined
48   ErrorLog /var/log/apache2/<%= @name %>-error.log
49
50   DocumentRoot <%= @directory %>
51 <% @urls.each do |url,directory| -%>
52   Alias <%= url %> <%= directory %>
53   <Directory <%= directory %>>
54     AllowOverride None
55     Require all granted
56     <FilesMatch ".+\.ph(ar|p|tml)$">
57       SetHandler None
58     </FilesMatch>
59   </Directory>
60 <% end -%>
61
62   <Directory <%= @directory %>>
63     RewriteEngine on
64
65     RewriteRule ^wp-admin/includes/ - [F,L]
66     RewriteRule !^wp-includes/ - [S=3]
67     RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
68     RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
69     RewriteRule ^wp-includes/theme-compat/ - [F,L]
70     RewriteRule ^readme\.html$ [F,L]
71     RewriteRule ^index\.php$ - [L]
72     RewriteCond %{REQUEST_FILENAME} !-f
73     RewriteCond %{REQUEST_FILENAME} !-d
74     RewriteRule . /index.php [L]
75
76     Options -Indexes
77     AllowOverride AuthConfig
78
79     Require all granted
80
81     # https://www.wp-pay.org/http-authorization-header-missing/
82     CGIPassAuth on
83
84     <FilesMatch ".+\.ph(ar|p|tml)$">
85       SetHandler "proxy:unix:/run/php/php-<%= @name %>-fpm.sock|fcgi://127.0.0.1"
86     </FilesMatch>
87   </Directory>
88
89   <Files <%= @directory %>/wp-config.php>
90     Require all denied
91   </Files>
92
93   <Directory <%= @directory %>/uploads>
94     AllowOverride None
95     AddType text/plain .html .htm .shtml
96     <FilesMatch ".+\.ph(ar|p|tml)$">
97       SetHandler None
98     </FilesMatch>
99   </Directory>
100
101   <Directory ~ "\.svn">
102     Require all denied
103   </Directory>
104
105   <Directory ~ "\.git">
106     Require all denied
107   </Directory>
108
109   <Files ~ "(?<!robots|ads|security|humans)\.(txt|md)$">
110     Require all denied
111   </Files>
112
113   <Files ~ "~$">
114     Require all denied
115   </Files>
116
117   <Files "xmlrpc.php">
118     Require all denied
119   </Files>
120 </VirtualHost>