2022-05-01 10:09:49 +00:00
# The sections of code interacting with the Matomo website are modified from code found at https://git.coop/webarch/matomo/. This code is distributed under
# Version 3 of the GNU General Public License. We modified this code and applied it here in April 2022. The derived sections correspond to the tasks running
# from "HTTP Get Welcome" through "Finish Matomo Setup", lines 29 through 126.
2022-04-30 11:07:09 +00:00
- name : Start MariaDB
action : service name=mysql state=started
- name : Create MariaDB Database for Matomo
community.mysql.mysql_db :
name : "{{ mdb_dbname }}"
state : present
login_unix_socket : /var/run/mysqld/mysqld.sock
- name : Add Admin User to MariaDB Database
community.mysql.mysql_user :
name : "{{ mdb_username }}"
password : "{{ mdb_password }}"
host : localhost
state : present
update_password : on_create
priv : "{{ mdb_dbname }}.*:ALL"
login_unix_socket : /var/run/mysqld/mysqld.sock
- name : Download and Extract Matomo
unarchive :
src : https://builds.matomo.org/matomo.zip
2022-05-04 10:25:16 +00:00
dest : "{{ nginx_loc }}"
2022-04-30 11:07:09 +00:00
remote_src : yes
- name : Set Matomo Directory Permissions
file :
2022-05-04 10:25:16 +00:00
path : "{{ nginx_loc }}/matomo"
2022-04-30 11:07:09 +00:00
recurse : yes
owner : www-data
group : www-data
- name : HTTP Get Welcome
uri :
url : "{{ matomo_url }}index.php?action=welcome"
method : GET
status_code : 200
register : matomo_welcome
2022-05-31 10:51:57 +00:00
- name : debug welcome
debug :
var : matomo_welcome
verbosity : 2
2022-04-30 11:07:09 +00:00
- name : Set a variable for the MATOMO_SESSID cookie
set_fact :
matomo_session_cookie : "MATOMO_SESSID={{ cookie.value }}"
when : cookie.key == "MATOMO_SESSID"
loop : "{{ matomo_welcome.cookies | dict2items }}"
loop_control :
loop_var : cookie
- name : Get Matomo System Check
uri :
url : "{{matomo_url}}index.php?action=systemCheck"
method : GET
headers :
Cookie : "{{ matomo_session_cookie }}"
return_content : true
timeout : 120
status_code : 200
register : matomo_system_check
2022-05-31 10:51:57 +00:00
- name : debug syscheck
debug :
var : matomo_system_check
verbosity : 2
2022-04-30 11:07:09 +00:00
- name : Matomo Database Setup
uri :
url : "{{ matomo_url }}index.php?action=databaseSetup"
method : POST
headers :
Cookie : "{{ matomo_session_cookie }}"
body :
username : "{{ mdb_username }}"
password : "{{ mdb_password }}"
dbname : "{{ mdb_dbname }}"
2022-05-14 18:19:14 +00:00
tables_prefix : "matomo_"
2022-04-30 11:07:09 +00:00
adapter : "PDO\\MYSQL"
body_format : form-urlencoded
status_code : 302
register : matomo_database_setup
- name : Matomo Table Creation
uri :
url : "{{ matomo_url }}index.php?action=tablesCreation&module=Installation"
method : GET
status_code : 200
register : matomo_table_creation
2022-05-31 10:51:57 +00:00
- name : Set a variable for the MATOMO_SESSID cookie
set_fact :
matomo_session_cookie : "MATOMO_SESSID={{ cookie.value }}"
when :
- matomo_table_creation.cookies is defined
- matomo_table_creation.cookies | length > 0
- cookie.key == "MATOMO_SESSID"
loop : "{{ matomo_table_creation.cookies | dict2items }}"
loop_control :
loop_var : cookie
- name : debug tablecreation
debug :
var : matomo_table_creation
verbosity : 2
2022-04-30 11:07:09 +00:00
- name : Matomo User Setup
uri :
url : "{{ matomo_url }}index.php?action=setupSuperUser&module=Installation"
method : POST
headers :
Cookie : "{{ matomo_session_cookie }}"
body :
login : "{{ mdb_username }}"
password : "{{ mdb_password }}"
password_bis : "{{ mdb_password }}"
2022-06-12 10:27:27 +00:00
email : "nobody@dev.null"
2022-04-30 11:07:09 +00:00
subscribe_newsletter_piwikorg : 0
subscribe_newsletter_professionalservices : 0
body_format : form-urlencoded
status_code : 302
register : matomo_setup_superuser
- name : Configure Matomo to track IIAB
uri :
url : "{{ matomo_url }}index.php?action=firstWebsiteSetup&module=Installation"
method : POST
headers :
Cookie : "{{ matomo_session_cookie }}"
body :
2022-06-12 10:27:27 +00:00
siteName : "IIAB"
2022-05-04 10:25:16 +00:00
url : "{{ host_url }}"
2022-04-30 11:07:09 +00:00
timezone : "Europe/London"
ecommerce : 0
body_format : form-urlencoded
status_code : 302
register : matomo_first_website_setup
- name : Matomo Tracking Code
uri :
2022-05-04 10:25:16 +00:00
url : "{{ matomo_url }}index.php?action=trackingCode&module=Installation&site_idSite=1&site_name={{ host_url }}"
2022-04-30 11:07:09 +00:00
method : GET
headers :
Cookie : "{{ matomo_session_cookie }}"
return_content : true
status_code : 200
register : matomo_tracking_code
- name : Finish Matomo Setup
uri :
url : "{{ matomo_url }}index.php?action=finished&module=Installation"
method : POST
headers :
Cookie : "{{ matomo_session_cookie }}"
body :
do_not_track : 1
anonymise_ip : 1
submit : "Continue to Matomo"
body_format : form-urlencoded
status_code : 302
- name : Start Collecting Matomo Data
cron :
name : "MatomoDataIngestionOnReboot"
special_time : reboot
job : "{{ matomo_cronjob }}"
user : root
cron_file : "matomo_reboot"
- name : Run Daily Job Collecting Matomo Data
cron :
name : "DailyMatomoDataIngestion"
minute : "0"
hour : "0"
job : "{{ matomo_cronjob }}"
user : root
cron_file : "matomo_daily"