Matomo

出自 Arch Linux 中文维基

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 網站,並完成次要安裝指南——不外乎是檢查所需的一切是否可用,並設置和編寫你的配置文件。