X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/dc5070173ed99b84d8120641a75a07d8a9109c15..20c5d203c6752f9fb6059a8b003c6848d65c0c3a:/cookbooks/piwik/recipes/default.rb diff --git a/cookbooks/piwik/recipes/default.rb b/cookbooks/piwik/recipes/default.rb index 0bd3ede87..483a348cb 100644 --- a/cookbooks/piwik/recipes/default.rb +++ b/cookbooks/piwik/recipes/default.rb @@ -32,7 +32,6 @@ package %w[ php-gd php-xml php-apcu - unzip ] apache_module "expires" @@ -40,6 +39,8 @@ apache_module "rewrite" version = node[:piwik][:version] +geoip_directory = node[:geoipupdate][:directory] + directory "/opt/piwik-#{version}" do owner "root" group "root" @@ -51,14 +52,31 @@ remote_file "#{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" do not_if { ::File.exist?("/opt/piwik-#{version}/piwik") } end -execute "unzip-piwik-#{version}" do - command "unzip -q #{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" - cwd "/opt/piwik-#{version}" - user "root" +archive_file "#{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" do + destination "/opt/piwik-#{version}" + overwrite true + owner "root" group "root" not_if { ::File.exist?("/opt/piwik-#{version}/piwik") } end +node[:piwik][:plugins].each do |plugin_name, plugin_version| + next if plugin_version.nil? + + remote_file "#{Chef::Config[:file_cache_path]}/piwik-#{plugin_name}-#{plugin_version}.zip" do + source "https://plugins.matomo.org/api/2.0/plugins/#{plugin_name}/download/#{plugin_version}" + end + + archive_file "#{Chef::Config[:file_cache_path]}/piwik-#{plugin_name}-#{plugin_version}.zip" do + action :nothing + destination "/opt/piwik-#{version}/piwik/plugins" + overwrite true + owner "root" + group "root" + subscribes :extract, "remote_file[#{Chef::Config[:file_cache_path]}/piwik-#{plugin_name}-#{plugin_version}.zip]", :immediately + end +end + execute "/opt/piwik-#{version}/piwik/piwik.js" do command "gzip -k -9 /opt/piwik-#{version}/piwik/piwik.js" cwd "/opt/piwik-#{version}" @@ -80,7 +98,7 @@ template "/opt/piwik-#{version}/piwik/config/config.ini.php" do mode "0644" variables :passwords => passwords, :directory => "/opt/piwik-#{version}/piwik", - :plugins => node[:piwik][:plugins] + :plugins => node[:piwik][:plugins].keys.sort end directory "/opt/piwik-#{version}/piwik/tmp" do @@ -89,16 +107,22 @@ directory "/opt/piwik-#{version}/piwik/tmp" do mode "0755" end +directory "/opt/piwik-#{version}/piwik/tmp/assets" do + owner "www-data" + group "mysql" + mode "0750" +end + link "/opt/piwik-#{version}/piwik/misc/GeoLite2-ASN.mmdb" do - to "/usr/share/GeoIP/GeoLite2-ASN.mmdb" + to "#{geoip_directory}/GeoLite2-ASN.mmdb" end link "/opt/piwik-#{version}/piwik/misc/GeoLite2-City.mmdb" do - to "/usr/share/GeoIP/GeoLite2-City.mmdb" + to "#{geoip_directory}/GeoLite2-City.mmdb" end link "/opt/piwik-#{version}/piwik/misc/GeoLite2-Country.mmdb" do - to "/usr/share/GeoIP/GeoLite2-Country.mmdb" + to "#{geoip_directory}/GeoLite2-Country.mmdb" end link "/srv/piwik.openstreetmap.org" do