Ubuntu12.04VPSでPiwikを使用してGeoIP(PECL)を構成する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。
代わりに参照してください:
このガイドは参考として役立つかもしれませんが、他のUbuntuリリースでは機能しない可能性があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
Piwik は常に、ユーザーが使用している言語に基づいてユーザーの国を検出する方法を提供していました。 ユーザーの出身地を特定するのに、これが信頼できる満足のいく方法ではないことは間違いありません。 スペインにいる誰かが、デフォルト言語が英語 EN-US であるコンピューターを使用してあなたのウェブサイトにアクセスしていると想像してください。Piwik は使用する言語に基づいて訪問者の国を推測するため、この訪問は米国訪問として検出されます。
GeoIPデータベースを使用すると、訪問者のIPアドレスに基づいて訪問者の場所を正確に特定できます。 PECL (PHP Extension Community Library) 拡張機能は、要求ごとにデータベースをロードする必要がある MaxMind の PHP API と比較して、非常に高速なソリューションを提供します。
仮定
このチュートリアルの手順では、ユーザーがroot権限を持っている必要があります。 これを設定する方法は、サーバーの初期設定チュートリアルで確認できます。
さらに、この記事では、Piwikがインストールされており、Apacheのデフォルトのルートディレクトリ / var / www /piwikで構成されていることを前提としています。 Piwikインストールチュートリアルはここにあります。
ステップ1:前提条件
build-essentialをインストールする必要があります。このパッケージには、Debianパッケージのビルドに不可欠と見なされるパッケージの情報リストが含まれています。
sudo apt-get install build-essential
PEARとPECLの両方が使用する必要なパッケージと配布システムを入手するには、apt-getを介してPEARをインストールする必要があります。
sudo apt-get install php-pear
追加のモジュールをコンパイルするために必要なPHP5ソースファイルを取得するには、php5-devパッケージをインストールする必要があります。
sudo apt-get install php5-dev
ステップ2:GeoIpをインストールする
次のコマンドを実行します。
sudo apt-get install php5-geoip php5-dev libgeoip-dev
次に、次のコマンドを実行します。
sudo pecl install geoip
ステップ3:PHPの構成
インストールが完了すると、php.iniファイルにextension=行が見つからないことが通知される可能性があります。 php.ini ファイルを見つけて、必要な行を追加しましょう。
sudo nano /etc/php5/apache2/php.ini
これによりphp.iniが開きます。[PHP]セクションに「extension=geoip.so」を追加する必要があります。
[PHP] ;AFTER THE PHP SECTION NOT BEFORE extension=geoip.so
次に、[gd]セクションに「geoip.custom_directory = / path /
[gd] ;AFTER THE gd SECTION NOT BEFORE geoip.custom_directory=/var/www/piwik/misc
ステップ4:GeoIPデータベースのインストールと名前の変更
GeoIPデータベースをダウンロードして抽出します。
cd /var/www/piwik/misc sudo wget http://geolite.maxmind.com/download/geoip/database/ sudo gunzip GeoLiteCity.dat.gzGeoLiteCity.dat.gz
データベースの名前が GeoLiteCity.dat の場合、PECL 拡張機能はデータベースを認識しないため、名前が GeoIPCity.dat であることを確認してください。
sudo mv GeoLiteCity.dat GeoIPCity.dat
ApacheWebサーバーを再起動します。
sudo service apache2 restart
ステップ5-GeoIPPECLを使用するようにPiwikを構成する
ブラウザを開いてPiwikページにログインし、[設定]、[Geolocation]に移動して、ロケーションプロバイダーとしてGeoIP(PECL)を選択します。
ステップ6オプション-以前の訪問の更新とGeoIPデータベースの更新
以前に追跡されたすべての訪問を現在のGeoIPデータベースで再評価するには、次のように入力します。
cd /var/www/piwik/misc/others sudo php geoipUpdateRows.php
処理する訪問が多い場合、このプロセスには長い時間がかかる可能性があります。
1 rows to process in piwik_log_visit and piwik_log_conversion... 0% done... 100% done!
GeoLiteデータベースは毎月第1火曜日に更新されることに注意してください。プロバイダーは、IPアドレス範囲を頻繁に再割り当てするため、GeoIPデータベースを定期的に更新する必要があります。
以上です-おめでとうございます!