Matomo (简体中文)

From ArchWiki
翻译状态:本文是 Matomo翻译。上次翻译日期:2022-09-03。如果英文版本有所更改,则您可以帮助同步翻译。

Matomo,前身为 Piwik,是一个开源网络分析工具,在 GNU 通用公共许可证 3 下获得许可。该软件是用 php 编写的,可以通过网络浏览器访问。该项目的核心理念是隐私,因为当使用第三方网站分析提供商时,网站所有者会将用户的数据泄露给他们,以便他们将其出售给广告商。

通过在目标网站上加载一些JavaScript,可以用一个运行实例分析多个网站。

安装

安装 matomoAURmatomo-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 访问需要的文件

注意: 此处的更改仅适用于 matomoAUR 包而不是 matomo-gitAUR 包,因为后者已经包含此文件。

由于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 网站,并完成次要安装指南——不外乎是检查所需的一切是否可用,并设置和编写你的配置文件。