読者です 読者をやめる 読者になる 読者になる

Q068891のメモ帳

気が向いたときにLinuxだったり、プログラムだったり、適当なメモをざっくばらんに書いてます。

piwikをCentOS6にインストール

piwikとは

piwikはオープンソースのWEBサイトアクセス解析ツールです。

http://www.piwikjapan.org/

アクセス解析ツールとしてAwstatsを普段使っているのですが、最近はどんなツールが出てきてるのかと探してみたらpiwikを見つけたので、とりあえずCentOS6にインストールしてみました。

Awstatsはログを直接読み取って解析しますが、piwikはWEBサイトにコードを埋め込んで解析するようです。

インストールは下記公式のインストール導入ガイドを参照して実施しました。

http://www.piwikjapan.org/tech/forpj/695

また、動作条件が下記の通りあるので、適正なバージョンのApache/PHP/MySQLが既にサーバにインストール済みという前提で話を進めます。

piwik動作条件

PHP 5.1.3 が動作するWebサーバ & MySQL version 4.1 以上

インストール事前準備

piwik最新版パッケージダウンロード

# wget http://piwik.org/latest.zip
# unzip latest.zip

piwikというディレクトリが解凍されます。

piwikをサブドメインで設定したかったので、piwik.ドメイン名 でAレコードを登録後、Apacheでバーチャルホスト設定。 ドキュメントルートは/home/piwik.ドメイン名/htdocs としました。

tmp以下にディレクトリを作る必要があるらしいので、作成 & マニュアル通り権限変更します。

 # mkdir ./piwik/tmp/templates_c ./piwik/tmp/cache ./piwik/tmp/assets ./piwik/tmp/tcpdf
 # chmod -R 0777 ./piwik/tmp/templates_c ./piwik/tmp/cache ./piwik/tmp/assets ./piwik/tmp/tcpdf

piwikiディレクトリの所有者変更 & 中身をapacheのドキュメントルートに移動します。

 # chown -R apache:apache ./piwik
 # cp -ipR ./piwik/* /home/piwik.ドメイン名/htdocs

MySQL設定

piwikはデータベース(MySQL)を仕様するので、MySQLでpiwik専用DB(DB名:piwik)作成&ユーザ(ユーザ名:piwik)作成をしておきます。

※DB名、ユーザ名はお好きな名前でどうぞ。

MySQLにログイン後、下記コマンドでDB作成します。

> create database piwik;

作成したデータベースpiwikのみにテーブル作成とか更新とか全ての権限を持つ、ユーザpiwik作成します。このユーザはローカルホストからのみ接続可能なユーザとなっています。

> grant all on piwik.* to 'piwik'@'localhost' identified by 'パスワード';

これでpiwikインストールの準備は完了です。

インストール開始

自分で設定したWEBサーバにブラウザでアクセスすると、事前準備が上手く言っていれば下記画面が表示されるはずなので、次へをクリック。

f:id:Q068891:20161010184433p:plain

動作環境確認

インストールするためのシステム確認が行われれ、piwikを動かすのに足りない設定、パッケージ等出してくれます(すばらしい!)。

f:id:Q068891:20161010184455p:plain

私の場合、phpのmbstringとphp-xmlが足りなく、piwikインストールできるけど動かない機能があるかもよ、といわれたので、足りないやつをインストールしました。

また、mbstring.func_overload = 0も設定してねといわれたので、php.iniをいじって設定しました。

php周りいじったので、Apacheに反映させるためにApache再起動も実施してます。下記実施後、全部問題なしになったので次へをクリック

足りないパッケージインストール
# yum -y install php-mbstring
# yum -y install php-xml
・php.ini設定前後差分
# diff /etc/.backup/php.ini.20161010  /etc/php.ini
1586c1586
< ;mbstring.func_overload = 0
---
> mbstring.func_overload = 0
#

MySQLデータベース接続設定

ここでは、piwikで使用するMySQLの情報を入力します。 事前準備で作成した通りに入力し、次へをクリック。

f:id:Q068891:20161010184828p:plain

無事接続できると、下記画面になります。次へをクリック。 接続できなかった場合はMySQL周り(ユーザ名/DB名/権限とか)を確認してみると良いかもです。 次はpiwikiログインユーザ設定なので、好きなユーザを作って次へをクリックし、解析するウェブサイトを指定します。

f:id:Q068891:20161010184939p:plain

解析するウェブサイト指定

分析したいウェブサイトを設定し次へをクリック。

f:id:Q068891:20161010185001p:plain

WEBサイト解析用JavaScriptラッキングタグの確認

WEBサイト解析用JavaScriptラッキングタグが表示されます。 これをpiwikではこれを自分のWEBサイトのhtmlとかに埋め込む必要があるそうです。 コピーしてどこか別の場所に保存とかしておき、次へをクリック。

f:id:Q068891:20161010185105p:plain

インストール完了

これでインストール完了です。

あとは、WEBサイト解析用JavaScriptラッキングタグをWEBサイトに埋め込んで、設定したログインユーザでpiwikにログインすれば終了です。

f:id:Q068891:20161010185312p:plain

おわりに

普通のWEBサイトの場合、WEBサイト解析用JavaScriptラッキングタグをWEBサイトに単純に埋め込むのですが、 私がアクセス解析したいサイトはWordPress製なので、WordPress側にもプラグインを入れる等設定が必要になってきます。

私は下記をサイト様を参考に実施しました。

www.conoha.jp

全て手順どおり問題無く実施できましたので、WordPressサイトでpiwikによるアクセス解析をしたい方は上記サイト様を参考にすると、わかりやすいかと思います。

少し使ってみた感じ、デフォルトでアクセス数とかの横軸グラフを表示してくれたり、アクセス元の国を世界地図(日本地図にも拡大可能)で表示してくれたり(Cool!)、UIもある程度わかりやすいので、良い感じです。満足です。