README.md (1773B)
1 # goaccess_dashboard
2
3 Please send patches or remarks to
4 [jayvii+goaccess_dashboard[AT]posteo[DOT]de](mailto:jayvii+goaccess_dashboard[AT]posteo[DOT]de)
5
6 A tiny tool based on [goaccess](https://goaccess.io/) which creates a summary of
7 aggregated privacy preserving website traffic analytics.
8
9 This tool tracks traffic, not people. It is unnecessary to insert tracking
10 code in websites. No micro-level information need to be stored whatsoever. This
11 tool works with purely technically necessary and minimal information that users
12 send to the webserver.
13
14 The goal is to create an easy to use dashboard and web-frontend for different
15 weblog analytics created with goaccess.
16
17 This tool creates analytics for all time, by year, by month, by week (and
18 optionally daily).
19
20 ## Setup
21
22 - Go and get [goaccess](https://goaccess.io)
23 - Adjust the log-output of your webserver according to the goaccess manuals. By
24 default, the script assumes the logs to be stored under
25 `/var/log/apache/www.example.com_access.log`
26 - Insert the index.html in a designated webroot. This is where your
27 traffic-dahsboard lives (e.g. traffic.www.example.com)
28 - Setup a cron-job to run create_logs-report.sh periodically
29
30 ## Apache2 Configuration
31
32 Snippet for the log-definition in your apache configuration:
33
34 ```apache
35 ErrorLog ${APACHE_LOG_DIR}/www.example.com_error.log
36 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" custom
37 CustomLog ${APACHE_LOG_DIR}/www.example.com_access.log custom
38 ```
39
40 Cronjob:
41
42 ```cron
43 # |----------- minutes
44 # |
45 # | |--------- hours
46 # | |
47 # | | |------- day of month
48 # | | |
49 # | | | |----- month
50 # | | | |
51 # | | | | |--- day of week
52 # | | | | |
53 # | | | | | |- command
54 # | | | | | |
55 0 * * * * ~/goaccess/create_logs_report.sh "www.example.com"
56 ```