From: Grant Slater Date: Wed, 27 Nov 2019 22:42:36 +0000 (+0000) Subject: Switch 2 new switch2osm.org site X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/94ac68549660e347fed85e8c65178a88761839f3 Switch 2 new switch2osm.org site --- diff --git a/cookbooks/switch2osm/recipes/default.rb b/cookbooks/switch2osm/recipes/default.rb index 00fcd95fb..366b288d3 100644 --- a/cookbooks/switch2osm/recipes/default.rb +++ b/cookbooks/switch2osm/recipes/default.rb @@ -16,72 +16,65 @@ # See the License for the specific language governing permissions and # limitations under the License. # +include_recipe "apache" +include_recipe "git" -include_recipe "wordpress" +package %w[ + ruby + ruby-dev + zlib1g-dev +] -passwords = data_bag_item("switch2osm", "passwords") - -wordpress_site "switch2osm.org" do - aliases ["www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"] - directory "/srv/switch2osm.org" - database_name "switch2osm-blog" - database_user "switch2osm-user" - database_password passwords["switch2osm-user"] -end - -wordpress_theme "switch2osm.org-picolight" do - theme "picolight" - site "switch2osm.org" - repository "git://github.com/Firefishy/picolight-s2o.git" - revision "master" -end - -wordpress_plugin "switch2osm.org-sitepress-multilingual-cms" do - plugin "sitepress-multilingual-cms" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/sitepress-multilingual-cms.git" +gem_package "bundler" do + version "1.17.3" end -wordpress_plugin "switch2osm.org-wpml-cms-nav" do - plugin "wpml-cms-nav" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-cms-nav.git" +git "/srv/switch2osm.org" do + action :sync + repository "https://github.com/switch2osm/switch2osm.github.io.git" + user "root" + group "root" + notifies :run, "execute[/srv/switch2osm.org/Gemfile]" end -wordpress_plugin "switch2osm.org-wpml-sticky-links" do - plugin "wpml-sticky-links" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-sticky-links.git" +directory "/srv/switch2osm.org/_site" do + mode 0o755 + owner "nobody" + group "nogroup" end -wordpress_plugin "switch2osm.org-wpml-string-translation" do - plugin "wpml-string-translation" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-string-translation.git" +# Workaround https://github.com/jekyll/jekyll/issues/7804 +# by creating a .jekyll-cache folder +directory "/srv/switch2osm.org/.jekyll-cache" do + mode 0o755 + owner "nobody" + group "nogroup" end -wordpress_plugin "switch2osm.org-wpml-translation-analytics" do - plugin "wpml-translation-analytics" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-translation-analytics.git" +execute "/srv/switch2osm.org/Gemfile" do + action :nothing + command "bundle install --deployment" + cwd "/srv/switch2osm.org" + user "root" + group "root" + notifies :run, "execute[/srv/switch2osm.org]" end -wordpress_plugin "switch2osm.org-wpml-translation-management" do - plugin "wpml-translation-management" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-translation-management.git" +execute "/srv/switch2osm.org" do + action :nothing + command "bundle exec jekyll build --trace --baseurl=https://switch2osm.org" + cwd "/srv/switch2osm.org" + user "nobody" + group "nogroup" end -wordpress_plugin "switch2osm.org-wpml-xliff" do - plugin "wpml-xliff" - site "switch2osm.org" - repository "https://git.openstreetmap.org/private/wpml-xliff.git" +ssl_certificate "switch2osm.org" do + domains ["switch2osm.org", + "www.switch2osm.org", "switch2osm.com", "www.switch2osm.com"] + notifies :reload, "service[apache2]" end -template "/etc/cron.daily/switch2osm-backup" do - source "backup.cron.erb" - owner "root" - group "root" - mode 0o750 - variables :passwords => passwords +apache_site "switch2osm.org" do + template "apache.erb" + directory "/srv/switch2osm.org/_site" end diff --git a/cookbooks/switch2osm/templates/default/apache.erb b/cookbooks/switch2osm/templates/default/apache.erb new file mode 100644 index 000000000..2deada15f --- /dev/null +++ b/cookbooks/switch2osm/templates/default/apache.erb @@ -0,0 +1,36 @@ +# DO NOT EDIT - This file is being maintained by Chef + + + ServerName <%= @name %> + ServerAlias www.switch2osm.org + ServerAlias switch2osm.com + ServerAlias www.switch2osm.com + ServerAdmin webmaster@openstreetmap.org + + CustomLog /var/log/apache2/<%= @name %>-access.log combined + ErrorLog /var/log/apache2/<%= @name %>-error.log + + SSLEngine on + SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem + SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key + + DocumentRoot <%= @directory %> + + + + ServerName <%= @name %> + ServerAlias www.switch2osm.org + ServerAlias switch2osm.com + ServerAlias www.switch2osm.com + ServerAdmin webmaster@openstreetmap.org + + 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 %>/ + + +> + Require all granted + diff --git a/cookbooks/switch2osm/templates/default/backup.cron.erb b/cookbooks/switch2osm/templates/default/backup.cron.erb deleted file mode 100644 index 54717f49c..000000000 --- a/cookbooks/switch2osm/templates/default/backup.cron.erb +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -# DO NOT EDIT - This file is being maintained by Chef - -T=$(mktemp -d -t -p /var/tmp switch2osm.XXXXXXXXXX) -D=$(date +%Y-%m-%d) -B=switch2osm-$D.tar.gz - -mkdir $T/switch2osm-$D -echo '[mysqldump]' > $T/mysqldump.opts -echo 'user=switch2osm-user' >> $T/mysqldump.opts -echo 'password=<%= @passwords["switch2osm-user"] %>' >> $T/mysqldump.opts -mysqldump --defaults-file=$T/mysqldump.opts --opt switch2osm-blog > $T/switch2osm-$D/switch2osm-blog.sql -ln -s /srv/switch2osm.org $T/switch2osm-$D/www - -export GZIP="--rsyncable -9" - -nice tar --create --gzip --dereference --directory=$T --file=$T/$B switch2osm-$D -nice rsync --preallocate --fuzzy $T/$B backup::backup - -rm -rf $T