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");
これで、パスワードをリセットしたときに送信される本文が保存された。
ファイルを開いて、リンク部分をコピーしてブラウザに貼り付けてアクセスしたら、無事に「パスワードが変更されました。」と表示されて、ログインできるようになった。