X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/ca2d435c2f78c1bdb636d69f92a6d4229386b22f..b8a8aabcb8c98a61b0c712268eb0fc1ef1d56af7:/cookbooks/piwik/recipes/default.rb diff --git a/cookbooks/piwik/recipes/default.rb b/cookbooks/piwik/recipes/default.rb index 1366d72c9..459712a0e 100644 --- a/cookbooks/piwik/recipes/default.rb +++ b/cookbooks/piwik/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: piwik +# Cookbook:: piwik # Recipe:: default # -# Copyright 2011, OpenStreetMap Foundation +# Copyright:: 2011, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,23 +17,24 @@ # limitations under the License. # -include_recipe "apache::ssl" +include_recipe "apache" +include_recipe "geoipupdate" include_recipe "mysql" passwords = data_bag_item("piwik", "passwords") -package "php5" -package "php5-cli" -package "php5-curl" -package "php5-mysql" -package "php5-gd" +package "php" +package "php-cli" +package "php-curl" +package "php-mbstring" +package "php-mysql" +package "php-gd" +package "php-xml" +package "php-apcu" -package "php-apc" - -package "geoip-database-contrib" - -apache_module "php5" -apache_module "geoip" +apache_module "expires" +apache_module "php7.2" +apache_module "rewrite" version = node[:piwik][:version] @@ -43,19 +44,27 @@ directory "/opt/piwik-#{version}" do mode "0755" end -remote_file "/tmp/piwik-#{version}.zip" do - source "http://builds.piwik.org/piwik-#{version}.zip" +remote_file "#{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" do + source "https://builds.matomo.org/piwik-#{version}.zip" not_if { File.exist?("/opt/piwik-#{version}/piwik") } end execute "unzip-piwik-#{version}" do - command "unzip -q /tmp/piwik-#{version}.zip" + command "unzip -q #{Chef::Config[:file_cache_path]}/piwik-#{version}.zip" cwd "/opt/piwik-#{version}" user "root" group "root" not_if { File.exist?("/opt/piwik-#{version}/piwik") } end +execute "/opt/piwik-#{version}/piwik/piwik.js" do + command "gzip -k -9 /opt/piwik-#{version}/piwik/piwik.js" + cwd "/opt/piwik-#{version}" + user "root" + group "root" + not_if { File.exist?("/opt/piwik-#{version}/piwik/piwik.js.gz") } +end + directory "/opt/piwik-#{version}/piwik/config" do owner "www-data" group "www-data" @@ -68,7 +77,7 @@ template "/opt/piwik-#{version}/piwik/config/config.ini.php" do group "root" mode "0644" variables :passwords => passwords, - :directory => "/opt/piwik-#{version}/piwik", + :directory => "/opt/piwik-#{version}/piwik", :plugins => node[:piwik][:plugins] end @@ -78,6 +87,18 @@ directory "/opt/piwik-#{version}/piwik/tmp" do mode "0755" end +link "/opt/piwik-#{version}/piwik/misc/GeoLite2-ASN.mmdb" do + to "/usr/share/GeoIP/GeoLite2-ASN.mmdb" +end + +link "/opt/piwik-#{version}/piwik/misc/GeoLite2-City.mmdb" do + to "/usr/share/GeoIP/GeoLite2-City.mmdb" +end + +link "/opt/piwik-#{version}/piwik/misc/GeoLite2-Country.mmdb" do + to "/usr/share/GeoIP/GeoLite2-Country.mmdb" +end + link "/srv/piwik.openstreetmap.org" do to "/opt/piwik-#{version}/piwik" notifies :restart, "service[apache2]" @@ -91,6 +112,11 @@ mysql_database "piwik" do permissions "piwik@localhost" => :all end +ssl_certificate "piwik.openstreetmap.org" do + domains ["piwik.openstreetmap.org", "piwik.osm.org"] + notifies :reload, "service[apache2]" +end + apache_site "piwik.openstreetmap.org" do template "apache.erb" end