如何在dreamhost安装awstats

一直都不太喜欢Analog,个人觉得awstats要来人性化很强大的多,参考了dreamhost给出的安装说明,算是比较成功地安装上了。

操作步骤如何,

下载:http://awstats.sourceforge.net/files/awstats-6.5.tar.gz 并上传到根目录(home/username下)。
上SSH解压,命令如下

  1. tar xfzv awstats-6.5.tar.gz

重命名,目录如下

  1. mv awstats-6.5 awstats
  2. cd awstats

建立新目录data,命令

  1. mkdir data
  2. chmod -R 755 data

移动目录,把/home/yourusername/awstats/wwwroot/cgi-bin/ 到 /home/yourusername/awstats/,ssh命令我没成功,直接用ftp移动。
到相关网站目录下建statistics文件夹,命令

  1. cd domain.com
  2. mkdir statistics

移动文件夹

  1. cp /home/yourusername/awstats/wwwroot/icon /home/yourusername/domainname.com/statistics/icon
  2. cp /home/yourusername/awstats/wwwroot/css /home/yourusername/domainname.com/statistics/css
  3. cp /home/yourusername/awstats/wwwroot/js /home/yourusername/domainname.com/statistics/js

以上步骤其实都可以在ftp里完成,如果操作不成功可以尝试在FTP。

配置
找到awstats.model.conf,一般在awstats/cgi-bin/目录下,重命名为awstats.example.com.conf

  1. cp awstats.model.conf awstats.example.com.conf

编辑这个文件,建议在本机用编辑器编辑,推荐的vi,我还没搞懂。
在最末尾加上

  1. LogFile="/home/yourusername/logs/example.com/http/access.log.0"
  2. SiteDomain="example.com"
  3. HostAliases="www.example.com"
  4. DNSLookup=0
  5. DirData="/home/yourusername/awstats/data/"
  6. DirIcons="icon"
  7. SaveDatabaseFilesWithPermissionsForEveryone=0
  8. DefaultFile="index.php index.html"

查看所有的pl文件属性是否设置为755了,否则不能运行

  1. ls -o

看看程序是否正常工作

  1. perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl -config=example.com -update \
  2. -awstatsprog=/home/yourusername/awstats/awstats.pl -dir=/home/yourusername/example.com/statistics/

查看下网站statistics目录下是否有统计文件生成。

然后需要设置一个cron让程序自动运行,这个步骤我还操作不太熟练,不知道配置是否正确了,命令如下

  1. crontab -e

Ctrl+R 写入以下代码

  1. 0 3 * * * perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl -config=example.com -update
  2. -awstatsprog=/home/yourusername/awstats/awstats.pl -dir=/home/yourusername/example.com/statistics/

Ctrl+O 写入,Ctrl+X退出。
:所有代码必须在一行。

同时可以可以到dreamhost的后台给statistics加上查看密码。

车东也有一篇关于awstats安装的文章,可以作为参考。

awstats

Dreamhost 快速恢复数据

搬迁到dreamhost一个头疼的问题就是导入数据。

下面介绍一个快速恢复数据的的方法,当然是恢复的快,前期准备工作也需要段时间准备,特别是数据大的朋友。

首先把数据库的字符集改好,命令为

  1. ALTER DATABASE `数据库名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

然后上传sql数据到空间根目录。

用telnet登录,执行导入命令,
mysql -u 数据库用户名 -p -h 数据库主机 数据库名 –default-character-set=utf8 < /home/用户名/数据.sql[/sql] 然后输入密码即可。 此时打开blog,出现的都是乱码,还需进行以下操作,修改wp-includes/wp-db.php,大概是43行处。 [php]$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//add the code below
$this->query(“SET NAMES ‘utf8’ “);[/php]上传并覆盖原文件即可。

如果不想修改,必须在phpmyadmin中逐个复制导入数据,数据大的话,比较麻烦。

dreamhost,wordpress,恢复

Mysql 命令备忘录

插入字段的命令

  1. ALTER TABLE `表名` ADD `字段名` varchar(20) DEFAULT 'NULL' NOT NULL ;

数据导入命令

  1. mysql -h yourdbdomain.yourdomain.com -u username -p password yourdb < outfile.sql&#91;/sql&#93;
  2.  
  3. 数据库导出命令
  4. &#91;sql&#93;mysqldump -u 用户名 -p 数据库名 > 导出的文件名

备忘,mysql

系统精简实录

使用旧式的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的留言管理似乎不那么理想,无法列出所有的留言。

升级,wordpress,mysql

Apache中配置perl

以前在apache中配置perl老会出现500的错误。其实是程序中perl的路径没指好。
一般perl程序在文件的开头都有perl路径的定义
#!c:\usr\bin\perl
这一定要修改成自己安装perl的目录方能运行cgi的程序。

除此之外,apache中的配置文件要修改以下内容,

AddHandler cgi-script .cgi前面的“#”去掉,然后在后面加上 “.pl”

apache,perl

TrackBack

一直搞不懂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 可乘之机).

来源:http://www.myie2.com/sic/blog/article.asp?id=9