Archive for the '备忘录' Category
一直都不太喜欢Analog,个人觉得awstats要来人性化很强大的多,参考了dreamhost给出的安装说明,算是比较成功地安装上了。
操作步骤如何,
下载:http://awstats.sourceforge.net/files/awstats-6.5.tar.gz 并上传到根目录(home/username下)。
上SSH解压,命令如下
-
tar xfzv awstats-6.5.tar.gz
重命名,目录如下
-
mv awstats-6.5 awstats
-
cd awstats
建立新目录data,命令
-
mkdir data
-
chmod -R 755 data
移动目录,把/home/yourusername/awstats/wwwroot/cgi-bin/ 到 /home/yourusername/awstats/,ssh命令我没成功,直接用ftp移动。
到相关网站目录下建statistics文件夹,命令
-
cd domain.com
-
mkdir statistics
移动文件夹
-
cp /home/yourusername/awstats/wwwroot/icon /home/yourusername/domainname.com/statistics/icon
-
cp /home/yourusername/awstats/wwwroot/css /home/yourusername/domainname.com/statistics/css
-
cp /home/yourusername/awstats/wwwroot/js /home/yourusername/domainname.com/statistics/js
以上步骤其实都可以在ftp里完成,如果操作不成功可以尝试在FTP。
配置
找到awstats.model.conf,一般在awstats/cgi-bin/目录下,重命名为awstats.example.com.conf
-
cp awstats.model.conf awstats.example.com.conf
编辑这个文件,建议在本机用编辑器编辑,推荐的vi,我还没搞懂。
在最末尾加上
-
LogFile="/home/yourusername/logs/example.com/http/access.log.0"
-
SiteDomain="example.com"
-
HostAliases="www.example.com"
-
DNSLookup=0
-
DirData="/home/yourusername/awstats/data/"
-
DirIcons="icon"
-
SaveDatabaseFilesWithPermissionsForEveryone=0
-
DefaultFile="index.php index.html"
查看所有的pl文件属性是否设置为755了,否则不能运行
-
ls -o
看看程序是否正常工作
-
perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl -config=example.com -update \
-
-awstatsprog=/home/yourusername/awstats/awstats.pl -dir=/home/yourusername/example.com/statistics/
查看下网站statistics目录下是否有统计文件生成。
然后需要设置一个cron让程序自动运行,这个步骤我还操作不太熟练,不知道配置是否正确了,命令如下
-
crontab -e
Ctrl+R 写入以下代码
-
0 3 * * * perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl -config=example.com -update
-
-awstatsprog=/home/yourusername/awstats/awstats.pl -dir=/home/yourusername/example.com/statistics/
Ctrl+O 写入,Ctrl+X退出。
注:所有代码必须在一行。
同时可以可以到dreamhost的后台给statistics加上查看密码。
车东也有一篇关于awstats安装的文章,可以作为参考。
Technorati Tags: awstats
搬迁到dreamhost一个头疼的问题就是导入数据。
下面介绍一个快速恢复数据的的方法,当然是恢复的快,前期准备工作也需要段时间准备,特别是数据大的朋友。
首先把数据库的字符集改好,命令为
-
ALTER DATABASE `数据库名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
然后上传sql数据到空间根目录。
用telnet登录,执行导入命令,
-
mysql -u 数据库用户名 -p -h 数据库主机 数据库名 --default-character-set=utf8 </home/用户名/数据.sql
然后输入密码即可。
此时打开blog,出现的都是乱码,还需进行以下操作,修改wp-includes/wp-db.php,大概是43行处。
-
//add the code below
-
$this->query("SET NAMES 'utf8' ");
上传并覆盖原文件即可。
如果不想修改,必须在phpmyadmin中逐个复制导入数据,数据大的话,比较麻烦。
插入字段的命令
-
ALTER TABLE `表名` ADD `字段名` varchar(20) DEFAULT 'NULL' NOT NULL ;
数据导入命令
-
mysql -h yourdbdomain.yourdomain.com -u username -p password yourdb <outfile.sql
数据库导出命令
-
mysqldump -u 用户名 -p 数据库名> 导出的文件名
使用旧式的IBM,硬盘只有6G,系统盘就分了2.6G,所有不得不精简系统。
首先可以用超级兔子将Documents and Settings中的缓存文件清楚干净。安装尽可能少的软件,不常用的全部不考虑。然后开始清理系统的cache,C盘根目录下的所有成蓝色的升级卸载文件夹都删除。C盘Driver Cache目录中所有的驱动备份全删除。C:\WINDOWS\SoftwareDistribution\Download下所有下载的升级文件全删除。打开受系统保护的隐藏文件,C:\WINDOWS\system32\dllcache下所有的dll文件全删除。
如此一来,至少可以取出3-4G的缓存、备份文件,不然2G多的C盘根本装不下。当然系统盘足够可以不考虑精简。
升级了Mysql以后,小结了wordpress使用的一些注意事项。
首先,没有特殊需要尽量把4.0以下的mysql升级至4.1以上,操作下来,还是相当麻烦的。字符集校对对中文字符来说不是件好事,数据库大的话导入相当费劲,对此鄙视一下Mysql。海豚说可以本地建个4.0的数据库然后升级至4.1,有兴趣的可以试下。
其次,尽量不要装太多插件,虽说wordpress的插件系统比较好用,但装了太多插件后读取数据库就会慢些,就算反安装,大部分的数据库还是残留着。原版的wordpress数据库表全是用小写的,但部分插件使用数据的时候,部分表使用了大写,在4.1版本的mysql中是区分大小写的,有可能导致数据导入出错。我已经把多余的数据表全删除了,能不用的插件全放弃了,博客还是暂时以内容为主。
再次,升级数据库后发现,wordpress数据表的一些字段改过了,原先想直接安装wordpress,清空数据后再导入原先的数据,但部分数据表怎么也导不进去,仔细查询后方知,是字段顺序换过了,导致数据无法导入,所以导入数据的时候务必使用自己的数据库。
p.s.操作数据库的时候发现,有些被屏蔽的spam还是保留在数据库当中未被删除,同时wordpress的留言管理似乎不那么理想,无法列出所有的留言。
一直搞不懂trackback是什么意思,虽然已经会用了,但追根究底没有坏处:roll:。
TrackBack 初看起来很难理解, 不过理解之后就不会有问题了.
基本上它的构想如下:1. 某个 Blog A 上有你感兴趣主题, 你想在自己的 Blog B 上发一个相关的主题, 并且希望发表的内容和回复自动发到 Blog A 上.
2. 这时你就可以复制 A 上面相关的 TrackBack 链接, 输入到你的 Blog B 中的那个主题的 TrackBack URL 框中.
3. 之后你的主题和后面所有回复的摘要都会自动发往 Blog A 的那个主题中.说白了, 就是一个跨站点的留言系统. (希望算是比较正确的描述 [sweat] )
TrackBack 的实现有两个重点:
1. 作为 Blog 服务端时(也就是 Blog A), 需要能接收到各个使用了 TrackBack 连接的 Blog 发送到自己这里的信息并发回反馈.
需要解析发来的数据, 不过这个很容易实现.
2. 作为客户端时(Blog B), 需要在有新的回复时通过指定的链接发出内容摘要给服务端.
目前官方文档定义了两种方式:
1) 通过 QueryString (正在逐步废除)
2) 通过 Post Form 格式 (通过 HTTP Header 模拟的 Form Post)
PHP 可以通过 fopen 实现. ASP 可以通过 ServerXMLHTTP 实现(老的 XMLHTTP 性能和功能不理想). PERL 的请参考 MovableType.
其它的就是 TrackBack List RSS 和 AutoDiscovery. 前者我实现了, 后者没有打算, 虽然还算简单.
Trackback List 没多大用处, 只是用 XML 列出所有发到此 URL 的所有 Trackback 罢了.
AutoDiscovery 其实就是在页面里面隐藏一段代码, 给 Trackback 客户端自动寻找到 Trackback URL 而已(有人说 AutoDiscovery 会毁了 TrackBack 的实用性, 我深以为然, 因为这会给 spam robot 可乘之机).


