OpenLiteSpeedのGeoIP DBを使ってみる
今日はWEBサーバとマーケティング関連のネタです。
筆者は本ブログで何度か紹介していますが、OpenLiteSpeedは高速なWEBサーバです。
このOpenLiteSpeedをUbuntuLinux上に環境構築して稼働させています。
このOpenLiteSpeedの設定画面には「MaxMind GeoIPDB」という箇所があります。
はい、こちらです。
何か設定が必要そうですが、何を設定したら良いやら?ですよね。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/openlitespeedgeoip-1024x115.png)
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/openlitespeedgeoip2-1024x647.png)
そもそもMaxMindとは?GeoIPとはなんぞや?
そもそもMaxMindとはなんぞや?という方もいるでしょう。
それとGeoIPとは?
まず、GeoIPはIPアドレスから地域を割り出すこと、
そしてこの地域IPデータベースを扱っているのが「MaxMind」社となります。
とはいえ専用線ではない限り、IPアドレスは固定ではなく一定期間使用しないと切り替わりますね。
そこで、定期的にIPアドレスのデータベースは最新化されています。
というわけでGeoIPについてイメージできたでしょうか。
それでは今回はこちらを設定して、是非ともOpenLiteSpeedを使いこなしていきましょう。
その前に、OpenLiteSpeedに導入するとどんないいことがあるの?
と思う方も多いでしょう。
はい、WEBサーバにアクセスした方のIPアドレスから地域がサーバの環境変数から取得可能になります。
つまり導入するとWEBにアクセスした時点で地域がわかるようになります。
え?なんか怖いなぁ、特定されたらヤダ!!
いえいえ、そんな怖いために使うのではありません。
アクセス元に対する広告やマーケティングが可能に!
これによって、アクセス元の地域別にメッセージや広告等や、オススメページを表示させるという、
アクセス元に対するマーケティングが可能になるのです。
例えば、チェーン店など各地に支店のあるWEBサイトに訪問した場合、
自動的にその地方のお店の紹介をするとかですね。
東北の方がアクセスしたら東北に近い店の情報を表示したり、こんなものが欲しいよね?とか
そういう広告配信の元になる基礎情報となるわけです。
というわけで、GeoIPのメリットがご理解いただけたでしょうか。
それでは、本題に行きましょう!!
まずはMaxMind社のWEBサイトに行きましょう。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb1-754x1024.png)
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb2.png)
上記のようにProductsメニューからGeoIPLiteFreeGeolocationDataを選択します。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb3.png)
そしてSignUpを選択しましょう。
SignUpページで必要なアカウント情報を入力します。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb4.png)
確認メールが来て、ID・PASSを入力してログインしたら早速ダウンロードができます。
左のダウンロードメニュー選択で以下の画面に飛びます。
GeoIP2Cityが良いでしょう。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb6.png)
ダウンロードしたら、Linuxサーバ上の/usr/share/にGeoIPフォルダを作成して、保存しましょう。
OpenLiteSpeedにGeoIPを設定する。
保存ができたら次はOpenLiteSpeed側の設定です。
先ほどのサーバ設定→一般から設定画面を開き、以下のように入力します。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/openlitespeedgeoip3.png)
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()で簡単に確認ができます。
![](https://osmaniax.1banzaka.com/wp-content/uploads/2021/11/openlitespeedgeoip4-1024x536.png)
または以下のコードを何かの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://osmaniax.1banzaka.com/wp-content/uploads/2021/11/maxmindweb5.png)
以下より自動更新アプリをダウンロードします。
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を設定する方法について紹介しました。
少しでもマーケティングのイメージが湧きましたでしょうかね。
というわけで、以上となります、何かの役に立てれば幸いです。
それでは!!