サーバー設定 · 1 min read · Jan 02, 2026

CentOS 6.3 における Apache2 用 mod_geoip のインストール

CentOS 6.3 における Apache2 用 mod_geoip のインストール

バージョン 1.0
著者: Falko Timme
Twitter でフォローしてください

このガイドでは、CentOS 6.3 システムで Apache2 と mod_geoip を設定する方法を説明します。mod_geoip はクライアントのエンドユーザーの IP アドレスを調べます。これにより、国に基づいてユーザーをリダイレクトまたはブロックすることができます。この技術は、地理ターゲティングを可能にするために OpenX(以前は OpenAds または phpAdsNew として知られていました)広告サーバーでも使用できます。

これがあなたにとって機能するという保証はありません!

1 前提条件

CentOS 6.3 システムが稼働しており、Apache2 + PHP が動作していることを前提としています。例えば、このチュートリアルに示されているように: CentOS 6.3 における PHP5 と MySQL サポートを持つ Apache2 のインストール。

2 mod_geoip のインストール

mod_geoip は公式の CentOS リポジトリにはないため、EPEL リポジトリを有効にする必要があります:

rpm --import https://fedoraproject.org/static/0608B895.txt  
 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm  
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities

/etc/yum.repos.d/epel.repo を編集します…

vi /etc/yum.repos.d/epel.repo

… そして [epel] セクションに priority=10 の行を追加します:

| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

mod_geoip をインストールするには、次のコマンドを実行します:

yum install mod_geoip

その後、GeoIP データベース (GeoIP.dat) は /usr/share/GeoIP ディレクトリに見つかります。IP アドレスの地理的割り当ては時間とともに変わる可能性があるため、最新の GeoIP.dat を今すぐダウンロードすることをお勧めします:

cd /usr/share/GeoIP/  
mv GeoIP.dat GeoIP.dat_orig  
wget -N -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz  
gunzip GeoIP.dat.gz

次に Apache を再起動します:

/etc/init.d/httpd restart

これで完了です!

3 簡単なテスト

mod_geoip が正しく動作しているか確認するために、ウェブスペースの一つ(例: /var/www/html)に小さな PHP ファイルを作成します:

vi /var/www/html/geoiptest.php

| |

そのファイルをブラウザで呼び出すと、GEOIP_COUNTRY_CODE、GEOIP_CONTINENT_CODE、GEOIP_COUNTRY_NAME の値を含む SERVER 配列が表示されるはずです(ローカルではなく、パブリック IP アドレスからファイルを呼び出していることを確認してください)。

Array  
 (  
     [GEOIP_CONTINENT_CODE] => EU  
     [GEOIP_COUNTRY_CODE] => DE  
     [GEOIP_COUNTRY_NAME] => Germany  
     [HTTP_HOST] => 84.143.142.69  
     [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1  
     [HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5  
     [HTTP_ACCEPT_LANGUAGE] => en-us,en;q=0.5  
     [HTTP_ACCEPT_ENCODING] => gzip,deflate  
     [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7  
     [HTTP_KEEP_ALIVE] => 300  
     [HTTP_CONNECTION] => keep-alive  
     [PATH] => /sbin:/usr/sbin:/bin:/usr/bin  
     [SERVER_SIGNATURE] => 
Apache/2.2.15 (CentOS) Server at www.example.org Port 80
    [SERVER_SOFTWARE] => Apache/2.2.15 (CentOS)     [SERVER_NAME] => 84.143.142.69     [SERVER_ADDR] => 192.168.0.100     [SERVER_PORT] => 80     [REMOTE_ADDR] => 84.143.142.69     [DOCUMENT_ROOT] => /var/www/html     [SERVER_ADMIN] => root@localhost     [SCRIPT_FILENAME] => /var/www/html/geoiptest.php     [REMOTE_PORT] => 57421     [GATEWAY_INTERFACE] => CGI/1.1     [SERVER_PROTOCOL] => HTTP/1.1     [REQUEST_METHOD] => GET     [QUERY_STRING] =>     [REQUEST_URI] => /geoiptest.php     [SCRIPT_NAME] => /geoiptest.php     [PHP_SELF] => /geoiptest.php     [REQUEST_TIME] => 1344547179 )

Apache2 + mod_geoip を OpenX 広告サーバーで使用する場合は、設定 > メイン設定 > 地理ターゲティング設定の下で MaxMind mod_apache GeoIP を選択してください:

4 使用例

mod_geoip を使用して、国に基づいてユーザーをリダイレクトまたはブロック/許可することができます。ここにいくつかの便利な例があります: http://www.maxmind.com/app/mod_geoip

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。