今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

Matomo(アクセス解析ツール)にログインできない問題を解決した

Matomoというアクセス解析ツールを使ってるんだが、Chromeがパスワードを忘れてしまって、Matomoをアップデートした影響でログインできなくなってしまった。

パスワードをリセットしたのはいいが、「リンクを送信しました」とメッセージが出て、そのリンクをクリックしないとリセットしたパスワードが有効にならないらしい。

しかし、Matomoを設置しているVPSにはメールサーバーを設置してないから、メールを送信できない。

mysqlで直接パスワードを変更しても、そのパスワードが有効になってないらしく、ログインできない。

困った。

何か方法はないかと考えて、要するにメールで送信されているURLを取得すればなんとかなるだろうと思った。

パスワードをリセットしたあとにメールを送信しているところを検索する。

$ grep 'mail->send()' `find . -name '*.php' -print`

PasswordResetter.php というクラスでメールを送信しているらしいので、そこをちょっと変更する。

メールを送信したところで、メール本文をファイルに出力する。

        @$mail->send();
        error_log($bodyText, "3", "/tmp/matomo.log");

これで、パスワードをリセットしたときに送信される本文が保存された。

ファイルを開いて、リンク部分をコピーしてブラウザに貼り付けてアクセスしたら、無事に「パスワードが変更されました。」と表示されて、ログインできるようになった。