Bazen sitemize giren ziyaretçilerin ülke, bölge, şehir, ISP bilgilerini öğrenmek isteriz. Bunu çoğu zaman hazır scriptlerimizin hazır eklentileri ile gerçekleştirebilsekte özel kodladığımız scriptlerimiz için bu bilgileri elde etmek ek uğraşlar gerektirir.
Bu makalede yer alan geoip kurulumunu tüm VDS paketlerinde gerçekleştirebilirsiniz!
Biz bu makalemizde MaxMind e ait GeoIP yi centos sunucumuza php modülü olarak kuracağız. Bu sayede php üzerinde geoip için kendi uygulamalarımızı geliştirebiliriz.
Aşağıdaki komutları sıra ile yürütüyoruz ;
1 2 3 4 5 |
mkdir /usr/share/GeoIP && cd /usr/share/GeoIP wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz gunzip GeoIP.dat.gz gunzip GeoLiteCity.dat.gz |
Biz php 5.4 e extension olarak ekleyeceğimizden aşağıdaki komutları yürütüyoruz ;
1 2 3 4 5 |
yum -y update yum -y install php54u-devel php54u-pear yum -y install geoip geoip-devel pecl channel-update pecl.php.net pecl install geoip |
pecl ile kurulumu gerçekleştirdiğimizde şöyle bir ekran görmeliyiz ;
* Aşağıdaki ekrana göre geoip extensionumuzun kurulum yolu /usr/local/lib/php/extensions/no-debug-non-zts-20100525/geoip.so
php.ini ye eklememiz gereken ise değer ise extension=geoip.so
php.ini nin nerede olduğunu bilmiyor isek yolunu öğreniyoruz ;
1 |
php -i | grep php.ini |
aşağıdaki şekilde php.ini yolu belitilmelidir
php.ini yi nano editör ile açıyoruz ;
1 |
nano -w /usr/local/lib/php.ini |
ve en alt satıra ekliyoruz ;
1 |
extension = geoip.so |
kaydedip çıkıyoruz ve httpd (var ise nginx) restart ediyoruz ;
1 |
service httpd restart && service nginx restart |
geoip modülümüzün aktif olup olmadığını öğreniyoruz ;
1 |
php -i | grep geoip |
görmemiz gereken aşağıdaki gibi olmalıdır. Eğer enabled ise ve versiyon mevcut ise modül başarıyla eklenmiş demektir ;
geoip modülümüzün .ini yapılandırma dosyası üzerinden özel dizin yolu belirleyebiliriz (opsiyonel) ;
1 2 |
nano -w /usr/local/lib/php.conf.d/geoip.ini geoip.custom_directory = /usr/share/GeoIP/ |
gibi… Başarılı uygulamalar geliştirmeniz dileği ile 🙂