]> git.openstreetmap.org Git - chef.git/blob - cookbooks/dev/templates/default/apache.user.erb
foundation: use default mediawiki version
[chef.git] / cookbooks / dev / templates / default / apache.user.erb
1 # DO NOT EDIT - This file is being maintained by Chef
2
3 WSGIDaemonProcess <%= @user %>.dev.openstreetmap.org user=<%= @user %> processes=2 threads=8 restart-interval=3600 inactivity-timeout=600 graceful-timeout=60 maximum-requests=2000
4
5 <VirtualHost *:443>
6         ServerName <%= @user %>.dev.openstreetmap.org
7         ServerAlias <%= @user %>.dev.osm.org
8
9         ServerAdmin webmaster@openstreetmap.org
10
11         SSLEngine on
12         SSLCertificateFile /etc/ssl/certs/<%= @user %>.dev.openstreetmap.org.pem
13         SSLCertificateKeyFile /etc/ssl/private/<%= @user %>.dev.openstreetmap.org.key
14
15         # Set the proxy timeout to 90 seconds to allow long-running requests
16         ProxyTimeout 90
17
18         # Remove Proxy request header to mitigate https://httpoxy.org/
19         RequestHeader unset Proxy early
20
21         UseCanonicalName Off
22         DocumentRoot <%= @directory %>
23         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
24
25         WSGIProcessGroup <%= @user %>.dev.openstreetmap.org
26
27         RewriteEngine on
28         #LogLevel rewrite:trace2
29
30         CustomLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-access.log combined_extended
31         ErrorLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-error.log
32
33         # Prevent abuse by an anonymous AI bot
34         RewriteCond %{REQUEST_METHOD} ^(GET|HEAD)$
35         RewriteCond %{HTTP_REFERER} ^-?$
36         RewriteCond %{HTTP_USER_AGENT} ((CriOS|Chrome)/[1-9][0-9]?\.0\.|Chrome/1[0-4][0-9]\.0\.|(Firefox|FxiOS)/[1-6]?[0-9]\.|MSIE\ [5-9]\.0|Opera/[8-9]\.|Windows\ NT\ [3-5]\.|Version/[3-5]\.[0-1]) [NC]
37         RewriteRule ^ - [R=429,L]
38
39         RewriteCond <%= @directory %>%{REQUEST_FILENAME} -f
40         RewriteRule ^/cgi-bin/(.*)$ /~<%= @user %>/cgi-bin/$1 [PT,L]
41
42         <FilesMatch ".+\.ph(p|ps|p3|tml)$">
43                 SetHandler "proxy:unix:/run/php/php-<%= @user %>-fpm.sock|fcgi://127.0.0.1"
44         </FilesMatch>
45 </VirtualHost>
46
47 <VirtualHost *:80>
48         ServerName <%= @user %>.dev.openstreetmap.org
49         ServerAlias <%= @user %>.dev.osm.org
50
51         ServerAdmin webmaster@openstreetmap.org
52
53         CustomLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-access.log combined_extended
54         ErrorLog /var/log/apache2/<%= @user %>.dev.openstreetmap.org-error.log
55
56         RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
57         RedirectPermanent / https://<%= @user %>.dev.openstreetmap.org/
58 </VirtualHost>
59
60 <Directory <%= @directory %>>
61         AllowOverride AuthConfig FileInfo Indexes
62         Options SymLinksIfOwnerMatch Indexes Includes
63         Require all granted
64 </Directory>
65
66 <Directory <%= @directory %>/cgi-bin>
67         SetHandler cgi-script
68         Options ExecCGI SymLinksIfOwnerMatch
69         Require all granted
70 </Directory>
71
72 <Directory <%= @directory %>/wsgi-bin>
73         SetHandler wsgi-script
74         Options ExecCGI SymLinksIfOwnerMatch
75         Require all granted
76 </Directory>