Amazon Linux 2 に Matomo をインストールする

アクセス解析をしたいならGoogleAnalyticsを入れるのが手軽ですが、
諸事情(Googleにデータを渡せない)で入れられないので、
オープンソースMatomoを使います。

今回は検証目的でAmazon Linux 2にインストールしてみます。

必要なミドルウェア

https://matomo.org/docs/requirements/

インストール手順

Apache

インストール

$ sudo yum install httpd -y

起動

$ sudo systemctl start httpd

起動したらブラウザから表示されることを確認する
一応自動起動するようにしておく

$ sudo systemctl enable httpd.service

PHP

yum install php だと古いバージョンのphpがインストールされてしまうので、
remiリポジトリからphp7.4をインストールします。

インストール

$ sudo wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo rpm -ivh epel-release-latest-7.noarch.rpm
$ sudo yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ sudo yum-config-manager --enable remi-php74
$ sudo yum install -y php74 php74-php php74-php-fpm
$ sudo ln -s /usr/bin/php74 /usr/bin/php

必要なモジュールもインストール

$ sudo yum install --enablerepo remi -y php74-php-mbstring
$ sudo yum install --enablerepo remi -y php74-php-mysqli

Apache再起動

$ systemctl restart httpd.service

MySQL

デフォルトでMariaDBがインストールされているので、
MariaDBをアンインストールしたあと、MySQLをインストールします。

MariaDBアンインストール

$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql

リポジトリ追加

$ rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

MySQLインストール

$ yum install mysql-community-server

起動

$ sudo systemctl start mysqld

初期パスワードを確認

$ cat /var/log/mysqld.log | grep root
$ mysql -u root -p
Enter password:  // 確認したパスワードを入れる

パスワードを変える
8文字以上かつ英大文字・小文字・数字・記号を含める

set password for root@localhost=password('xxxxx');

Matome用のDBを作成する

create database matomo;
exit

Matomo

$ cd /usr/local/src/
$ sudo wget https://builds.matomo.org/matomo.zip && unzip
$ mv matomo /var/www/html/

$ chown -R apache:apache /var/www/html/matomo
$ chmod -R 0755 /var/www/html/matomo/tmp

以降はブラウザから進めていきます。
以下をブラウザで表示して、手順通り進めてください。
http://xxxxx/matomo

mbstringでエラーになっている場合、
指示通りphp.iniextention=mbstring.so を追記します。

データベースはさきほど作成したDBを指定します。

参考