Google Analyticsの代わりにmatomoを使うためVPSサーバーにインストールをしてみました。
ウェブアクセス解析ツールです。オープンソースとして公開されているため、無料で利用が可能です。同じものは他にowa(open web analytics)があります。
ユニバーサルアナリティクス(UA)が終了しGA4を使おうとしていましたが結構複雑で、stream設定、タグ付け等があり、よくわからない、設定できてもいざ使おうとしたら、見づらいという問題がありました。
そしてウェブの表示速度パフォーマンスをLighthouseで確認したところ、結構影響があることが判明しました。
正直あまり違いはありません。
matomoはよく作られていて、google analyticsと同じような事が実現できます。 逆に言うとgoogleとの違いはあまりありません。
違いと言えばデータを無期限で保持することができるところだとおもう。GA4でも最大14ヶ月できるようなので、それ以上保存する必要性はあまりない気がするので微妙なところ
他にはヒートマップ 検索キーワードの取得ができるらしいこれはかなりいい機能だが無料では使用できない。
matomoを利用する為には、ウェブサーバーとphpとデータベースが必要になります。
また、sslでの接続が必要なため、証明書も必要になります。
選択肢があるものは以下の二つです
matomoはphpを必要とするのでnginxでphpを利用できるようにします。また、mariadbを使用するので操作用のライブラリもインストールします。
dnf install php php-curl php-gd php-cli php-xml php-mbstring php-pdo php-mysqlnd -y
vi /etc/php-fpm.d/www.conf
#line 24あたり
user = nginx
group = nginx
#line 49あたり
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
#line 56あたり
;acl_users = nginx
;acl_groups = nginx
#line 39あたり
listen = /run/php-fpm/www.sock
再起動させてwww.sockが正常にnginx:nginxと変更されているか確認します。
# 再起動
systemctl restart php-fpm
# 確認
ls -l /run/php-fpm/www.sock
#結果
srw-rw-rw- 1 nginx nginx 0 Oct 17 14:14 /run/php-fpm/www.sock
上記のようになっていれば正常に反映されています。
matomoはphpのメモリーを512Mを推奨しているため、phpの修正はメモリーを512Mに変更し、ついでにタイムゾーンをAsia/Tokyoに変更します。
vi /etc/php.ini
memory_limit = 512M
data.timezone = "Asia/Tokyo"
nginxに新しくバーチャルホスト設定を行いテストします。
テストなので一旦nginx.confを直接編集します。編集前に必ずバックアップを取っておいてください。
今回の追加場所はhttp内になります。
http {
#追記
server {
server_name subdomain.name.com;
listen 80;
root /var/www/phptest;
index index.php;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
#省略.........
}
上で修正するヶ所はserver_nameとrootの部分ですね、その他あるとすればfastcgi_passです。 fastcgi_passは先ほどwww.confのlistenと同じパスです。
rootをphptestと設定したのでphptestのフォルダーの中にindex.phpを追加します。
phpの中身は一行だけです。
<?php phpinfo(); ?>
最後にnginxの再起動をかけ、ドメインにアクセスすると、phpの情報が表示されます。
これでnginxでPHPが使えることを確認することができました。先ほどnginxの設定は不要なのでnginx.confを元に戻しておきます。
matomoがアクセスできる必要なデータベース、ユーザーを作成します。
データベースの設定に関しては、そこまで難しくありません。
以下コマンドでmariadbをインストールし、起動、自動起動させます。
dnf install mariadb-server
systemctl enable --now mariadb
systemctl status mariadb
mariadbの初期設定を行います。初期設定を半自動化してくれるコマンドがあるのでそれを使用します。
色々聞かれると思うのでお好みで設定してください。あまり気にしないのであればとりあえず全てYで大丈夫です。
mysql_secure_installation
matomo用のデータベースとユーザーを作成します。 rootでログインし、matomo用のデータベースとID,PWを設定します。
mysql -u root -p
CREATE DATABASE matomodb;
GRANT ALL ON matomodb.* TO 'matomouser' IDENTIFIED BY 'matomopasswrod';
以上でデータベースの設定が終わりました。
matomoをダウンロードし、初期設定を行います。
直でダウンロードしてもいいですし、ftpで転送しても大丈夫です。
公式で解説されているので分かりやすいです。
今回はwgetで直接ダウンロードします。
nginxのフォルダー管理は/var/www/の中にしているのでディレクトリーを移動しダウンロード、解凍をします。
wgetでダウンロード解凍した場合はmatomoフォルダーが作成され必要なファイルが全て入っています。
cd /var/www
wget https://builds.matomo.org/matomo.zip && unzip matomo.zip
上記と同じ方法でダウンロードした場合/var/www/matomoフォルダがあると思います。このmatomoフォルダのパーティーション、所有者を変更します。
chmod -R 755 /var/www/matomo
chown -R nginx:nginx /var/www/matomo
最後にnginxの設定を変更します。sslの設定は設定済みとします。
server {
server_name subdomain.name.com;
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
ssl_certificate subdomain.name.com.pem;
ssl_certificate_key subdomain.name.com.privkey.pem;
server_name subdomain.name.com;
root /var/www/matomo;
index index.php index.html;
access_log /var/log/nginx/analytics.access.log;
error_log /var/log/nginx/analytics.error.log;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_read_timeout 240;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_split_path_info ^(.+.php)(/.+)$;
}
}
最後に再起動をかけます
systemctl restart nginx php-fpm
これでコマンドラインの複雑な設定が終了しました。 matomoが推奨しているnginxの設定は公式のgithubで配布解説されています適切な変更をお願い致します。
1.指定のドメインにアクセスするとmatomoの画面が表示されます。
2.matomoのインフォメーションが表示されます。
3.データベースの設定をします。
4.matomoの管理者ユーザーを作成します。
5.登録するウェブサイトを追加します。
6.ウェブサイト用のトラッキングコードが表示されるためこれをサイトに追加してください。
7.ダッシュボードの画面が表示されます。
nginxウェブサーバーにmatomoをインストールをしました。phpの設定とmariadbの設定があり、正直とても面倒でした。
nginxとphpがこれで使用できるようになったので他のソフトのwordpressのインストールや、nextcloudのインストールも簡単にできるようになりますが、
matomo単体だけのためにvpsを使うのはあまりおすすめできません。小規模なサイトであればレンタルサーバーにインストールし使用する方がいいと感じます。
質問や、間違いがありましたら、お気軽にどうぞ
※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください