今日はWEBサーバとマーケティング関連のネタです。

筆者は本ブログで何度か紹介していますが、OpenLiteSpeedは高速なWEBサーバです。
このOpenLiteSpeedをUbuntuLinux上に環境構築して稼働させています。

このOpenLiteSpeedの設定画面には「MaxMind GeoIPDB」という箇所があります。

はい、こちらです。

何か設定が必要そうですが、何を設定したら良いやら?ですよね。



そもそもMaxMindとは?GeoIPとはなんぞや?

そもそもMaxMindとはなんぞや?という方もいるでしょう。

それとGeoIPとは?

まず、GeoIPはIPアドレスから地域を割り出すこと、
そしてこの地域IPデータベースを扱っているのが「MaxMind」社となります。
とはいえ専用線ではない限り、IPアドレスは固定ではなく一定期間使用しないと切り替わりますね。
そこで、定期的にIPアドレスのデータベースは最新化されています。

というわけでGeoIPについてイメージできたでしょうか。

それでは今回はこちらを設定して、是非ともOpenLiteSpeedを使いこなしていきましょう。

その前に、OpenLiteSpeedに導入するとどんないいことがあるの?

と思う方も多いでしょう。

はい、WEBサーバにアクセスした方のIPアドレスから地域がサーバの環境変数から取得可能になります。

つまり導入するとWEBにアクセスした時点で地域がわかるようになります。

え?なんか怖いなぁ、特定されたらヤダ!!

いえいえ、そんな怖いために使うのではありません。

アクセス元に対する広告やマーケティングが可能に!

これによって、アクセス元の地域別にメッセージや広告等や、オススメページを表示させるという、

アクセス元に対するマーケティングが可能になるのです。

例えば、チェーン店など各地に支店のあるWEBサイトに訪問した場合、
自動的にその地方のお店の紹介をするとかですね。

東北の方がアクセスしたら東北に近い店の情報を表示したり、こんなものが欲しいよね?とか

そういう広告配信の元になる基礎情報となるわけです。

というわけで、GeoIPのメリットがご理解いただけたでしょうか。

それでは、本題に行きましょう!!

まずはMaxMind社のWEBサイトに行きましょう。




上記のようにProductsメニューからGeoIPLiteFreeGeolocationDataを選択します。



そしてSignUpを選択しましょう。

SignUpページで必要なアカウント情報を入力します。



確認メールが来て、ID・PASSを入力してログインしたら早速ダウンロードができます。
左のダウンロードメニュー選択で以下の画面に飛びます。

GeoIP2Cityが良いでしょう。



ダウンロードしたら、Linuxサーバ上の/usr/share/にGeoIPフォルダを作成して、保存しましょう。

OpenLiteSpeedにGeoIPを設定する。

保存ができたら次はOpenLiteSpeed側の設定です。

先ほどのサーバ設定→一般から設定画面を開き、以下のように入力します。


Environment Variables(環境変数)


HTTP_GEOIP_CITY CITY_DB/city/names/en
HTTP_GEOIP_POSTAL_CODE CITY_DB/postal/code
HTTP_GEOIP_CITY_CONTINENT_CODE CITY_DB/continent/code
HTTP_GEOIP_CITY_COUNTRY_CODE CITY_DB/country/iso_code
HTTP_GEOIP_CITY_COUNTRY_NAME CITY_DB/country/names/en
HTTP_GEOIP_REGION CITY_DB/subdivisions/0/iso_code
HTTP_GEOIP_LATITUDE CITY_DB/location/latitude
HTTP_GEOIP_LONGITUDE CITY_DB/location/longitude

設定後はOpenLiteSpeedを再起動しましょう。

はい、これで何が変わったか?

OpenLiteSpeedのサーバの環境変数に上記が追加されて利用可能になります。
以下のようにphp_info()で簡単に確認ができます。



または以下のコードを何かのphpファイルに含めても確認できると思います。


<?php
        echo '<pre>'.$_SERVER['HTTP_GEOIP_CITY_COUNTRY_CODE'];
        echo '<pre>'.$_SERVER['HTTP_GEOIP_CITY_COUNTRY_NAME'];
        echo '<pre>'.$_SERVER['HTTP_REGION_NAME'];
        echo '<pre>'.$_SERVER['HTTP_GEOIP_CITY'];
        echo '<pre>'.$_SERVER['HTTP_GEOIP_POSTAL_CODE'];
?>

これでphp側の処理などで地域別に振り分けていくような利用イメージが湧いたかと思います。

ただ、この地域IPデータベースの更新作業を手動で毎回行うのは面倒ですよね。

以下では自動で更新する方法を紹介します。

GeoIPデータベースを自動更新できるようにする

「Create new license key」でライセンスキーを発行します。



以下より自動更新アプリをダウンロードします。

https://github.com/maxmind/geoipupdate/releases

Ubuntuの場合は、debファイルが使えますね。

以下コマンドでダウンロード、インストールします。


$ curl -O https://github.com/maxmind/geoipupdate/releases/download/v4.8.0/geoipupdate_4.8.0_linux_amd64.deb
$ sudo dpkg -i geoipupdate_4.8.0_linux_amd64.deb

これで「geoipupdate」というコマンドが利用可能になります。

パスは/usr/bin/geoipupdateとなりますので、これを自動実行するように設定します。

以下のように週2回更新するよう設定します。(※日、木の2時10分)

10 2 * * 0,4 /usr/local/bin/geoipupdate

はい、今回はOpenLiteSpeedにGeoIPを設定する方法について紹介しました。

少しでもマーケティングのイメージが湧きましたでしょうかね。

というわけで、以上となります、何かの役に立てれば幸いです。

それでは!!