Matomo
Matomo,前身为 Piwik,是一个开源网络分析工具,在 GNU 通用公共许可证 3 下获得许可。该软件是用 php 编写的,可以通过网络浏览器访问。该项目的核心理念是隐私,因为当使用第三方网站分析提供商时,网站所有者会将用户的数据泄露给他们,以便他们将其出售给广告商。
通过在目标网站上加载一些JavaScript,可以用一个运行实例分析多个网站。
安装[编辑 | 编辑源代码]
安装 matomoAUR 或 matomo-gitAUR 包。git 包已经为你配置了 php-fpm 守护程序。此外,它还为你下载并安装了最新的 GeoIP 数据库。默认情况下,Matomo 通过访客设定的浏览器语言来猜测他们的位置,这不是可靠的地理位置信息。
配置[编辑 | 编辑源代码]
php 配置[编辑 | 编辑源代码]
需要正确配置 php 才能使 Matomo 工作。
首先,启用 MySQL 支持,如 PHP#MySQL/MariaDB 中所述。通过编辑 /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包 包和 start/enable php-fpm.service
(参见 Nginx#PHP implementation)。
通过修改/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 网站,并完成次要安装指南——不外乎是检查所需的一切是否可用,并设置和编写你的配置文件。