matomoのサーバ移動・新規インストール

matomo

一台のサーバに集中している機能を複数のサーバに分散することにした。その手始めとしてmatomo(piwik)を別サーバに移したので、その時の手順とその時出たエラーと対処方法を記載しておく。

また、cron(当サイトではsystemd-timer)で起動するアーカイブ機能で最近障害が出ているがmatomo5で修正されるとのことで、リリース候補版(matomo 5.0.0 rc1)であるが新規にインストールしてみることにした。

移行方法概要

移行先サーバにapacheとmariadbをインストールしておく。apacheおよびmariadb関連の定義体を移行しておく。なお移行先サーバとしてPVE上のfedora38を用意した。

移行元サーバのmatomoのディレクトリをtarでまとめ移行先サーバで展開する。

移行元サーバのmariadbのmatomo関連のデータをexportし移行先にimportする。この時、データベース名などは移行元と移行先とで同じにしておく。

移行元サーバのapache関連の定義を移行先サーバへコピーし、必要であれば修正をしておく。

さらにtimer設定を移行しておく。

移行後の不具合とその対処

移行後、Webブラウザでサイトを開くと複数のエラーメッセージが表示された。そのメッセージと対処内容は以下のとおり。

The directory “/var/www/html/piwik/tmp/cache/tracker/” is not writable.

表示されたディレクトリアクセス権を実際にみても特に問題ない。ググってみると、SELinux関連の設定が必要なようで、以下のコマンドを実行することによって、このエラーは出力されなくなった。

# setsebool -P httpd_unified 1

The mysql driver is not currently installed

つづいて、表題のエラーがブラウザに出力された。以下のパッケージをインストール。

# dnf -y install php-mysqlnd

Could not connect to the database:

Could not connect to the database:
SQLSTATE[HY000] [2002] Permission denied

上記のエラーはやはりSELinux関連で、以下のコマンドで対処。

# getsebool httpd_can_network_connect
# setsebool -P httpd_can_network_connect 1
# getsebool httpd_can_network_connect

Matomo は以下のアドレスで実行するように設定されています。

このメッセージは、matomoの設定ファイルに定義を追加することで対処する。テストフェーズなどで運用しようとしているものとは別のFQDNなどでアクセスするときやIPアドレスでアクセスする場合に設定が必要である。インストールディレクトリのconfig/config.ini.phpに以下の行を追加する。

trusted_hosts[] = "新しいFQDN"

テストが終了した場合は削除しておく。

GD > 2.x + Freetype (graphics)

以下のパッケージを入れて対処。

# dnf -y install php-gd

Matomo 5.0.0-rc1のインストール

やはりtimer設定したスクリプトがエラーとなるので、正式版ではないがmatomo-5.0.0-RC1をインストールしてみる。今までのデータはバックアップしておき、データベースから新規に作成することにした。設定自体は公式ページのとおりに行えばよい。特に問題なく設定できる。

注意点

ソースを展開した時の最上位のディレクトリ名がpiwikからmatomoへ変更となっている。以下の修正を行った。

  • WebサーバのDocumentRootの変更を行う。
  • timerで利用するconsoleコマンドがフルパス指定なので変更しておく。

コメント

タイトルとURLをコピーしました