在一幅地图上绘制出你的网站的访客
Submitted by editor on Wed, 06/11/2008 - 09:50.
in
在一幅地图上绘制出你的网站的访客
作者:Ben Martin
翻译:17LAMP。NET社区 建欣
ApacheMap 软件可以绘制出每一个从Google地图接到的点击你网站的位置。这个应用软件把从Apache 日志中的IP地址通过使用hostip.info 转换成经度和纬度信息。
主IP依赖于使用者提交的信息,什么样的地理地址应该于与IP地址相联系。这会出现问题,因为一些IP地址不能够被分解成地理信息。实际上,当我访问hosttip.info 时,我正在使用的IP地址没有被识别,但是像geoiptool.com这样的网站提供一个完全基于我的IP地址的关于我的位置的合理猜测。无论如何,从IP地址得出的地理地址应当被仔细研究。
ApacheMap不是为Ubuntu, openSUSE, 或者Fedora打包的软件。在这篇文章中,我将在一台64位的Fedora 8机器上安装和使用0.5b版本。需要注意的是 apache-geo-map-0-5b.tar.gz解压文件不会自己释放到一个子目录中。在 apache-geo-map-0-5b.tar.gz的 apache-geo-map.pl脚本依赖于 perl-libwww-perl和 perl-YAML包,所以这些需要安装。如果没有安装 perl-libwww-perl包,当你试图执行apache-geo-map.pl时 你会得到缺少HTTP/Request/Common.pm 文件的错误报告。如果 perl-YAML包没有安装,你会看到一个缺少 YAML.pm的抱怨。
如下面所示可以安装这个软件,我把解压文件释放到了一个在Web根目录下的一个新的子目录里,典型安装为/var/www/html。我使用包含的Perl脚本来创建一个数据文件, data.xml,来自 Apache登录日志中的IP地址。我打算让我的经常的用户可以执行这个脚本并且更新这个数据文件,所以我赋予我自己和我的用户执行和写这个脚本的权限。我把配置文件以描述性的名字移动到了/etc目录下,并且移动剩下的混杂的文件到/usr/local/share目录下。
# cd /var/www/html
# mkdir apache-geo-map
# cd apache-geo-map
# tar xzvf /.../apache-geo-map-0-5b.tar.gz
# chown -R root.apache .
# mv apache-geo-map.pl /usr/local/sbin/
# chown ben.apache apache-geo-map.pl
# mv ./apache-geo-map.pl /usr/local/bin
# mv default.conf /etc/apache-geo-map.conf
# mkdir /usr/local/share/apache-geo-map
# mv README CHANGELOG gpl.txt /usr/local/share/apache-geo-map/
# chown ben.apache data.xml
# chown ben .
/etc/apache-geo-map.conf这个配置文件是一个简单的关键值对的列表,每一个都占据它自己的一行。默认的设置在一个Debian系统中会工作的很好,大概 ApacheMap的作者是使用Debian的并且为那个发行版设置了默认设置。对于其它的Linux发行版你可能不得不改变一些配置文件中的路径。如果还有疑惑,明显的配置总是最好的选择。要记住下面列出的在配置文件中的三个片段不应该被改变。在 data_dir后面的斜线是 ApacheMap所需要的,用来把 data_dir和 data_file恰当的结合起来。
# vi /etc/apache-geo-map.conf
---
apache_log: /var/log/httpd/access_log
data_dir: /var/www/html/apache-geo-map/
data_file: data.xml
default_icon_color: blue
new_icon_color: yellow
上面的配置假设用户ben已经阅读过了位于/var/log/httpd.目录下的 Apache日志文件。下面的这个命令会用来自你当前Apache 日志文件中的当地的所有IP地址更新 data.xml文件。记住 apache-geo-map.pl在有任何 HTTP代理服务器的情况下都不会工作,为了让它个工作,你必须能够直接从网上得到信息。
apache-geo-map.pl -c /etc/apache-geo-map.conf
为了检测 ApacheMap和生成屏幕截图,我使用了下面的一个日志文件的片断。
66.35.250.151 - - [12/May/2008:11:49:46 +1000] "GET / HTTP/1.1" 403 3918 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.8) Gecko/20071030 Fedora/..."
18.7.22.83 - - [12/May/2008:11:49:46 +1000] "GET / HTTP/1.1" 403 3918 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.8) Gecko/20071030 Fedora/..."
我发现我可以在Firefox 浏览器中通过装载 http://localhost/apache-geo-map/apachemap.html 查看地图。
最后的一步ApacheMap 设置是为了获得一个 Google地图API Key 并且更新src属性,方法是在 apachemap.html顶端用你获得的 API key替换 key=
总结
ApacheMap可以让你很快的获得一个你的网站访问者位置的图像。地理位置信息的值依赖于你的网站内容的受欢迎程度。如果你网站有很高的点击率并且对于大体的人口范围有兴趣,那么这个软件将可能展示所有地方的标记并提供一些有用的信息。另一方面,如果你网站有一个特别的目标,能够查看一张显示点击率密度的地图可以让你做一些有目的的商业行动从而吸引更多的对你提供的内容感兴趣的用户。
- editor's blog
- Login or register to post comments

