From 61e0ce2ffa2a4fea0fbba5de85ad6226110288c5 Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Sat, 4 Aug 2018 15:58:19 +0100 Subject: [PATCH] Teach mailman cookbook about site aliases --- cookbooks/mailman/recipes/default.rb | 3 +- .../mailman/templates/default/apache.erb | 134 ++++++++++-------- 2 files changed, 80 insertions(+), 57 deletions(-) diff --git a/cookbooks/mailman/recipes/default.rb b/cookbooks/mailman/recipes/default.rb index 04c2281ed..cb7d4c1a9 100644 --- a/cookbooks/mailman/recipes/default.rb +++ b/cookbooks/mailman/recipes/default.rb @@ -42,12 +42,13 @@ apache_module "expires" apache_module "rewrite" ssl_certificate "lists.openstreetmap.org" do - domains "lists.openstreetmap.org" + domains ["lists.openstreetmap.org", "lists.osm.org"] notifies :reload, "service[apache2]" end apache_site "lists.openstreetmap.org" do template "apache.erb" + variables :aliases => ["lists.osm.org"] end template "/etc/cron.daily/lists-backup" do diff --git a/cookbooks/mailman/templates/default/apache.erb b/cookbooks/mailman/templates/default/apache.erb index f5d61b17f..8c22b3f1d 100644 --- a/cookbooks/mailman/templates/default/apache.erb +++ b/cookbooks/mailman/templates/default/apache.erb @@ -1,65 +1,87 @@ # DO NOT EDIT - This file is being maintained by Chef - ServerName <%= @name %> - ServerAdmin postmaster@openstreetmap.org + ServerName <%= @name %> +<% @aliases.each do |alias_name| -%> + ServerAlias <%= alias_name %> +<% end -%> + ServerAdmin postmaster@openstreetmap.org - CustomLog /var/log/apache2/<%= @name %>-access.log combined - ErrorLog /var/log/apache2/<%= @name %>-error.log + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log - RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/ - RedirectPermanent / https://<%= @name %>/ + RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/ + RedirectPermanent / https://<%= @name %>/ +<% unless @aliases.empty? -%> - ServerName <%= @name %> - ServerAdmin postmaster@openstreetmap.org - ServerSignature On - - SSLEngine on - SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem - SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key - - CustomLog /var/log/apache2/<%= @name %>-access.log combined - ErrorLog /var/log/apache2/<%= @name %>-error.log - LogLevel warn - - AddDefaultCharset off - - DocumentRoot <%= @directory %> - - RewriteEngine on - - RewriteCond %{HTTP_REFERER} www\.mailbait\.info - RewriteRule . - [F,L] - - RedirectMatch ^/$ /listinfo - RedirectMatch ^/cgi-bin/mailman/(.*)$ /$1 - - - Options Indexes FollowSymLinks - AllowOverride None - Require all granted - - - Alias /pipermail/ /var/lib/mailman/archives/public/ - Alias /images/ /usr/share/images/mailman/ - - ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin - ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb - ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm - ScriptAlias /create /usr/lib/cgi-bin/mailman/create - ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml - ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo - ScriptAlias /options /usr/lib/cgi-bin/mailman/options - ScriptAlias /private /usr/lib/cgi-bin/mailman/private - ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist - ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster - ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe - ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ - - - ExpiresActive On - ExpiresDefault "access plus 180 days" - + ServerName <%= @aliases.first %> +<% @aliases.drop(1).each do |alias_name| -%> + ServerAlias <%= alias_name %> +<% end -%> + ServerAdmin webmaster@openstreetmap.org + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem + SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key + + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log + + RedirectPermanent / https://<%= @name %>/ + +<% end -%> + + + ServerName <%= @name %> + ServerAdmin postmaster@openstreetmap.org + ServerSignature On + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem + SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key + + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log + LogLevel warn + + AddDefaultCharset off + + DocumentRoot <%= @directory %> + + RewriteEngine on + + RewriteCond %{HTTP_REFERER} www\.mailbait\.info + RewriteRule . - [F,L] + + RedirectMatch ^/$ /listinfo + RedirectMatch ^/cgi-bin/mailman/(.*)$ /$1 + + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + + + Alias /pipermail/ /var/lib/mailman/archives/public/ + Alias /images/ /usr/share/images/mailman/ + + ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin + ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb + ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm + ScriptAlias /create /usr/lib/cgi-bin/mailman/create + ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml + ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo + ScriptAlias /options /usr/lib/cgi-bin/mailman/options + ScriptAlias /private /usr/lib/cgi-bin/mailman/private + ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist + ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster + ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe + ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ + + + ExpiresActive On + ExpiresDefault "access plus 180 days" + -- 2.39.5