]> git.openstreetmap.org Git - chef.git/blob - cookbooks/wordpress/templates/default/apache.erb
Issue letsencrypt certificates for wordpress sites
[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 <% if @ssl_enabled -%>
15   RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
16   RedirectPermanent / https://<%= @name %>/
17 </VirtualHost>
18
19 <VirtualHost *:443>
20   ServerName <%= @name %>
21 <% @aliases.each do |alias_name| -%>
22   ServerAlias <%= alias_name %>
23 <% end -%>
24
25   ServerAdmin webmaster@openstreetmap.org
26
27   #
28   # Enable SSL
29   #
30   SSLEngine on
31 <% if @ssl_certificate -%>
32   SSLCertificateFile /etc/ssl/certs/<%= @ssl_certificate %>.pem
33   SSLCertificateKeyFile /etc/ssl/private/<%= @ssl_certificate %>.key
34 <% end -%>
35 <% if @ssl_certificate -%>
36   SSLCertificateChainFile /etc/ssl/certs/<%= @ssl_certificate_chain %>.pem
37 <% end -%>
38
39   CustomLog /var/log/apache2/<%= @name %>-access.log combined
40   ErrorLog /var/log/apache2/<%= @name %>-error.log
41 <% end -%>
42
43   DocumentRoot <%= @directory %>
44 <% @urls.each do |url,directory| -%>
45   Alias <%= url %> <%= directory %>
46 <% end -%>
47
48   php_admin_value open_basedir <%= @directory %>/:/usr/share/php/:/tmp/
49   php_admin_value disable_functions "exec,shell_exec,system,passthru,popen,proc_open"
50   php_value upload_max_filesize 70M
51   php_value post_max_size 100M
52
53   <Directory <%= @directory %>>
54     RewriteEngine on
55
56     RewriteRule ^wp-admin/includes/ - [F,L]
57     RewriteRule !^wp-includes/ - [S=3]
58     RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
59     RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
60     RewriteRule ^wp-includes/theme-compat/ - [F,L]
61     RewriteRule ^readme\.html$ [F,L]
62     RewriteCond %{REQUEST_FILENAME} !-f
63     RewriteCond %{REQUEST_FILENAME} !-d
64     RewriteRule . /index.php [L]
65
66     Options -Indexes
67     AllowOverride AuthConfig
68
69     Require all granted
70   </Directory>
71
72   <Files <%= @directory %>/wp-config.php>
73     Require all denied
74   </Files>
75
76   <Directory <%= @directory %>/uploads>
77     AllowOverride None
78     AddType text/plain .html .htm .shtml
79     php_admin_flag engine off
80   </Directory>
81
82   <Directory ~ "\.svn">
83     Require all denied
84   </Directory>
85
86   <Directory ~ "\.git">
87     Require all denied
88   </Directory>
89
90   <Files ~ "\.(txt|md)$">
91     Require all denied
92   </Files>
93
94   <Files ~ "~$">
95     Require all denied
96   </Files>
97 </VirtualHost>