Matomo(旧piwik)のインストール on CentOS6


Matomoは、オープンソースの高機能アクセス解析で、元々はpiwikという名前でしたが、2018年1月に名前が変わったようです。

https://matomo.org/blog/2018/01/piwik-is-now-Matomo/

サーバサイドのオープンソースのアクセス解析は、AWStatsやwebalizerが昔から使われてきましたが、Matomoは、JavaScriptのトラッキングにも対応し、GoogleAnalyticsのようなUIを持ったモダンなソフトです。日本語にも対応しています。

<img width="1423" alt="スクリーンショット 2018-01-10 13.53.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/1a75f2f8-fdcf-be16-d0fd-32783c46c6eb.png">


デモサイトは以下です。
https://demo.matomo.org/index.php?

PHP(5.5以上)とMySQLがあれば動作します。ログの取り込みには、Python2.6が必要です。
以下、CentOS6にインストールした時の手順です。

#apacheとmysqlのインストール、初期設定

```
yum insatll httpd mysql-server
/etc/init.d/mysqld start
```

rootパスワードを設定し、Matomo用データベース、ユーザーを作成します。


```
/usr/bin/mysql_secure_installation

mysql -p
create database piwik;
GRANT ALL ON piwik.* TO piwik@localhost IDENTIFIED BY "password";
exit
```

#phpのインストール

最新版（Piwik 3.2.1）ではphp5.5以上が必要なため、remiリポジトリからphpおよび必要なモジュールをインストールします。


epelおよびremiのリポジトリ設定がまだの場合は以下を実行しておいてください。

```
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
```

PHP関連のパッケージをインストールし、設定、設定反映のために、Apacheの再起動を行います。

```
yum install php php-common --enablerepo=epel,remi,remi-php56 php-gd php-mbstring php-mysqlnd php-opcache  php-pdo php-xml

vi /etc/php.ini
------
always_populate_raw_post_data=-1 
date.timezone = "Asia/Tokyo"
------

/etc/init.d/httpd restart
```

#Matomoのインストール

```
cd /usr/local/src/
wget https://builds.piwik.org/piwik.zip
unzip piwik.
mv piwik /var/www/html/

chown -R apache:apache /var/www/html/piwik
chmod -R 0755 /var/www/html/piwik/tmp
```

#Matomoの設定
ブラウザから
http://your.host.name/piwik
でインストール画面へアクセスできます。

<img width="1261" alt="スクリーンショット 2018-01-10 11.25.42.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/127055c1-ffd6-dffc-8e20-88c5a7e934df.png">

あとはブラウザ上から画面に従って設定を行います。

<img width="1319" alt="スクリーンショット 2018-01-10 11.43.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/c4a5f032-5f40-829a-efdb-cd3cf5f984ba.png">

<img width="1292" alt="スクリーンショット 2018-01-10 11.43.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/b12e648f-38ca-71fd-907d-7ea8474db6a0.png">

<img width="1269" alt="スクリーンショット 2018-01-10 11.43.59.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/ce0513a5-fb5a-53cf-5ede-956c22e9cdaf.png">

<img width="1321" alt="スクリーンショット 2018-01-10 11.45.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/42692381-43a1-f6cf-4c72-1fb0c02344cb.png">

<img width="1291" alt="スクリーンショット 2018-01-10 11.45.59.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/58ce12a7-cea4-8b3c-9742-970c5d32672b.png">


トラッキングタグが発行されます。

<img width="1273" alt="スクリーンショット 2018-01-10 11.50.54.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/e294ab32-19ab-6b16-bcff-8062760e9324.png">

<img width="1278" alt="スクリーンショット 2018-01-10 11.51.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/52904/4095e241-7d47-482e-a6a6-ce623e00e38e.png">

これで初期設定は完了です。

#アクセスログの取り込み
pythonスクリプトが用意されているので、以下のようにしてApacheやNginxなどのアクセスログを取り込むことができます。

```
python /var/www/html/piwik/misc/log-analytics/import_logs.py --url=http://your.host.name/piwik/ --idsite=1 /to/your/logs/access.log
```