Matomo
Matomo,原名 Piwik,是一款在 GNU 通用公共许可证 3 下获得许可的开源网络分析工具。该软件使用 php 编写,并通过网络浏览器访问。该项目的核心思想是隐私,因为当使用第三方网站分析提供商时,网站所有者会将所有用户的数据交给他们出售给广告商。
通过一个运行实例,可以通过在目标网站上加载一些 JavaScript 来分析多个网站。
安装
安装 软件包 matomoAUR 或 matomo-gitAUR。git 软件包已经为您配置了 php-fpm 守护进程。此外,它还会为您下载并安装最新的 GeoIP 数据库。默认情况下,Matomo 通过访问者设置的浏览器语言来猜测访问者的位置,这对于地理位置来说不是可靠的信息。
配置
php 配置
需要正确配置 php 才能使 Matomo 工作。
首先,按照 PHP#MySQL/MariaDB 中的描述启用 MySQL 支持。为此,请编辑 /etc/php/php.ini
。通过删除前面的分号来取消注释 ;extension=pdo_mysql
和 ;extension=mysqli
。
通常,注释用前面的分号表示。
;extension=iconv
需要启用,而 ;extension=gd
对于 Matomo 是可选的。至少取消注释 iconv。
允许 Matomo 访问所需文件
由于自 7.4 版本以来对 php-fpm.service
的新限制,其中 ProtectSystem
设置为阻止 Matomo 正常运行(无法安装插件、更改配置等),因此需要手动设置访问某些文件的能力。
下面的文件 /etc/systemd/system/php-fpm.service.d/override_matomo.conf
修复了此问题,同时不会暴露超过必要的信息,并且仍然允许用户按照安装清单中所述更改 ACL,如果不需要这样做。
[Service] ReadWritePaths = /usr/share/webapps/matomo/config ReadWritePaths = /usr/share/webapps/matomo/matomo.js ReadWritePaths = /usr/share/webapps/matomo/misc/user/ ReadWritePaths = /usr/share/webapps/matomo/plugins/
服务器设置 (nginx)
为了启用 php 网站,请安装 php-fpm 软件包并 启动/启用 php-fpm.service
(请参阅 Nginx#PHP 实现)。通过修改 /etc/nginx/nginx.conf
来创建服务器。将以下模板添加到 “http” 上下文中。或者,查看 matomo 的 GitHub 说明。
include /etc/nginx/mime.types; server { index index.php; listen 443 ssl; listen [::]:443 ssl; root /usr/share/webapps/matomo/; server_name matomo.example.com; location ~ ^/(\.git/|config/|core/|lang/|tmp/) { return 403; } location ~ \.php$ { try_files $uri =404; # FastCGI include fastcgi.conf; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; } location ~ \.(avi|css|eot|gif|htm|html|ico|jpg|js|json|mp3|mp4|ogg|png|svg|ttf|wav|woff|woff2)$ { try_files $uri =404; } location ~ ^/(libs/|misc/|node_modules/|plugins/|vendor/) { return 403; } }
要使用加密,您可以从 letsencrypt 获取免费证书。在请求和安装证书后,通过将以下代码添加到 “http” 或 “server” 上下文来使用它们
include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; ssl_certificate_key /etc/letsencrypt/live/subdomain.domain.me/privkey.pem; ssl_certificate /etc/letsencrypt/live/subdomain.domain.me/fullchain.pem;
通过启动/启用 nginx.service
来运行 nginx 服务器。
mariadb.service
和 php-fpm.service
是必需的。最后步骤
所有主要设置均已完成。在浏览器中调用您的 Matomo 网站,并完成小型安装指南,该指南无非是检查所需的一切是否可用并已设置,以及编写您的配置文件。