apache多站点配置及piwik的部署

来源:互联网 发布:龙芯3a3000知乎 编辑:程序博客网 时间:2024/04/30 02:22
在上篇文章(piwik安装过程:http://blog.csdn.net/gudaoqianfu/article/details/7255864)中已经讲述了piwik的安装过程。
本文将讲述piwik在apache多站点中的部署。
实验环境:windows xp,virtualbox上ubuntu11.10虚拟机

一、apache多站点配置
安装apache:sudo apt-get install apache2
启动apache并测试:http://127.0.0.1,成功。

1、使用多域名
自定义两个域名:www.mysite1.com和www.mysite2.com
①修改虚拟机hosts
添加:
127.0.0.1    www.mysite1.com
127.0.0.1    www.mysite2.com
②apache安装目录(/etc/apache2)下,配置sites-available/default文件
安全起见,先备份default文件。
修改default文件:
删除原有内容,添加下列内容:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost    
        DocumentRoot /var/www/mysite1/
        ServerName www.mysite1.com
        ErrorLog ${APACHE_LOG_DIR}/mysite1/error.log
        CustomLog ${APACHE_LOG_DIR}/mysite1/access.log combined
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/mysite2/
        ServerName www.mysite2.com
        ErrorLog ${APACHE_LOG_DIR}/mysite2/error.log
        CustomLog ${APACHE_LOG_DIR}/mysite2/access.log combined
</VirtualHost>
③在原网站根目录(/var/www)下创建网站
创建mysite1和mysite2目录,并分别放入index.html。
在apache日志目录(/var/log/apache2/)下创建mysite1/access.log、mysite1/error.log、mysite2/access.log、mysite2/error.log。
④重启apache服务
sudo apachectl restart
注:若出现提示:apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName,可在httpd.conf文件中加入ServerName localhost,以后重启便正常。
⑤测试两个站点
站点mysite1根目录为/var/www/mysite1/,日志在${APACHE_LOG_DIR}/mysite1/下。
站点mysite1根目录为/var/www/mysite2/,日志在${APACHE_LOG_DIR}/mysite2/下。
虚拟机中访问http://www.mysite1.com/和http://www.mysite2.com/,成功,日志记录正确。
但由于两个站点端口均为默认端口80,故在windows访问http://192.168.32.2/(虚拟机ip)时只能访问mysite1(sites-available/default文件中mysite1占用80端口)。
故需另开端口。

2、使用多端口
①apache安装目录(/etc/apache2)下,配置ports.conf文件
使用新端口1000
在文件末尾添加:
NameVirtualHost *:1000
Listen 1000
②重新配置sites-available/default文件
80端口改为1000端口:
<VirtualHost *:1000>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/mysite2/
        ServerName www.mysite2.com
        ErrorLog ${APACHE_LOG_DIR}/mysite2/error.log
        CustomLog ${APACHE_LOG_DIR}/mysite2/access.log combined
</VirtualHost>
③重启apache服务
④测试两个站点
现在mysite1使用80端口,mysite2使用1000端口。
虚拟机中访问mysite1(http://localhost:80/)和mysite2(http://localhost:1000/),成功。
在windows访问http://192.168.32.2:80/和http://192.168.32.2:1000/,成功。


二、piwik配置多站点
1、使用piwik统计mysite1站点
按照《piwik安装过程》的方法安装配置piwik,实现对mysite1的统计。

2、新增mysite2
在设置 → 网站中增加一个新网站,mysite2:

注:网站管理中至少保留一个网站,由于我新增mysite2之后,把原先id为1的mysite1网站删除了,所以再新增mysite1,新id为3,同时需要改动mysite1/index.html的追踪代码。
查看mysite2的追踪程序代码:
<!-- Piwik --> 
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://192.168.32.2/piwik/" : "http://192.168.32.2/piwik/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://192.168.32.2/piwik/piwik.php?idsite=2" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->

其中,http://192.168.32.2/piwik/为piwik配置根目录。
代码中idsite为2,即网站id。以后新增网站id便递增。
将此段代码贴到mysite2/index.html的尾部,放在</body>之前。

测试mysite2的统计:

测试成功,并且两个站点的统计是独立的。

三、一些设想
由追踪程序代码设想实际中网站在多服务器部署的情况下piwik的部署结构。
①可在其中一台服务器中部署piwik,在所要统计的网页中添加追踪代码。同时在其他服务器上所要统计的网页中也添加追踪代码,保证代码指向piwik所在服务器即可。
②进一步,结合apache多站点配置的方法,便可实现一台piwik服务器统计多台服务器多个站点的访问情况。
③再之,可使用多台piwik服务器,将多台服务器多个站点的访问统计数据保存到一个数据库中。



原创粉丝点击