在 Ubuntu Server 7.10 上安装 wordpress, shopex 和 discuz 的一些要点及问题记录

安装好Ubuntu 7.10 Server后,我在上面安装了 wordpress 2.2.1 带中文包,shopex V4.7.2 和 discuz 5.5 ,这里记录一些碰到的技术要点和疑问备忘。

1、修改 mysql 5.0.45的默认字符集,我准备统一使用 utf8 编码,所以改了服务器端和客户连接的默认字符集为 utf8。方法为:

在[client]下添加:
default-character-set=utf8

在[mysqld]下添加:
default-character-set=utf8

在控制台下用 mysql -hlocalhost -uroot -p 进入数据库后,status显示:

Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
当数据库的字符集是utf8是, 在[client]下添加:default-character-set=utf8,并且本地控制台的locale为utf8的,才能在控制台中正常显示中文。

但在wordpress中,使用默认的latin1字符集,它创建的数据表是用utf8编码,但是数据库的编码是latin1,好像也不影响使用?不知道Server characterset和Db characterset 对mysql数据库的实际应用上有没有什么影响?即只是数据库表用utf8编码,status显示上面的4个characterset是默认的latin1对数据库表使用的utf8编码有没有什么影响?

2、服务器时间设置

ubuntu server 默认使用 UTC 时间,比CST (中国标准时间)慢(重庆时区是慢8小时),如果安装的时候没有使用CST时间,可以这样改变:

sudo tzselect

然后按照提示选择地区(如亚洲),国家(如中国)国内地区(如四川), 然后在你的家目录下的.profile中添加一行TZ变量,如:

TZ='Asia/Chongqing'; export TZ

使改变永久生效。

在 wordpress 中需要在“设置”的“日期和时间”中选择时区,我这里选择“本 blog 的时区:

小时 (您所在的时区,比如北京时间就填 8。)”3、启用 mod_rewrite 模块,使 wordpress和 shopex可以使用URL伪静态化。sudo a2enmod rewrite

这里要注意在控制台w3m下面开启wordpress的 伪静态化不能生效,必须在图形界面的全功能浏览器下面进行!我在这上面折腾了好久,最后安装了一个X,在X下用firefox设置才发现问题;

然后,sudo vim /etc/apache2/sites-enabled/000-default下面<Directory />和<Directory /var/www/>中的“AllowOverride None”改为“AllowOverride All",其它的部分没有改(如<Directory "/usr/lib/cgi-bin">),在我的应用中使用正常。

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
#RedirectMatch ^/$ /apache2-default/
</Directory>

然后:sudo /etc/init.d/apache2 restart 重启 apache2生效。

4、启动压缩传输功能:

sudo a2enmod deflate

重启 apache2生效。

5、启用目录默认文件功能:

如:输入 http://www.mydomain.com/ 实际上使用的是 http://www.mydomain.com/index.php 文件。

a2enmod dir
vim /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>

DirectoryIndex index.php index.htm index.html index.cgi index.pl index.xhtml

</IfModule>
或者:

vim /etc/apache2/httpd.conf ,输入:

<IfModule mod_dir.c>

DirectoryIndex index.php index.htm index.html index.cgi index.pl index.xhtml

</IfModule>

也行。

6、使用 shopex 需要使用 Zend Optimizer 才能用
参见:在ubuntu环境中安装zend optimizer3.3.0

7、使用 shopex的上传图片自动生成略缩图功能和添加水印需要增加gd库

sudo apt-get install php5-gd

重启apache2 生效。

查看gd库生效没有可以调用一个写有一句phpinfo()的页面查看相关信息。

如名称为:phpinfo.php ,内容如下:

<?php phpinfo(); ?>

gd 库生效了会在其中显示相关信息,如:

gd

GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
... ...

等内容。

8、另外,还要注意一些目录的权限问题,在上面程序的安装说明中有。

还有,把wordpress的uploads 的所有者和组改为apache2的 www-data 就可以上传文件了,要不然把这个目录的权限改为777也行,个人感觉前者好像更好点?

9、另外,wordpress 和 discuz的邮件发送碰到一点问题: ubuntu server 下discuz 和 wordpress 程序不能用sendmail 正常发送非本地用户邮件的疑问 。解决了再补充一下。

linux删除菜单项和Google adsense优化、繁体支援论坛及博客、作弊代价(links for 2007-09-24)

WordPress留言本插件(links for 2007-09-16)

wordpress SEO、误点adsense、Nicky's blog、重庆工程职业技术学院( links for 2007-09-15)

MINIX 3操作系统、WesleyBlog(links for 2007-09-13)

在主体内容不丰富的博客上使用google adsense的区段定位造成投放相关性很差的广告?

大概是2007年8月30日,我在查看google adsense优化建议时,看到一个google adsense区段定位的技术,于是尝试了一下。结果,大概在2~3天以后的一周时间内,google adsense在我的博客上投放的广告的相关性变得极差,大多数是投放的相关性极差的英文广告。使得点击率差得离谱。我猜测是在博客上运用“区段定位”惹的祸,于是,在2007年9月9日去掉了区段定位标记,以观后效。

在上述运用区段定位的一周时间里,本站投放的广告很多是像下面这样的:

由于可能误用google adsense区段定位被投放相关性差的广告

这里简单的说一下google adsense区段定位的技术,就是在你想强调的内容的前后加上标记<!-- google_ad_section_start -->和<!-- google_ad_section_end -->,把你想忽略的内容前后加上标记<!-- google_ad_section_start(weight=ignore) -->和<!-- google_ad_section_end -->。并且,在一个网页上,您可以使用区段定位提出任意数个建议。抓取工具最多可能需要两周能发现你作的改动(我的博客好像2~3天就见效了?)。我在文档列表页(index.php)的列表前后加了重点内容标记,在日记页面(single.php)的日记部分和评论部分分别加了两处重点内容标记。但是,下面这一句话可能就是我没有把握好的地方:为了正常实施此功能,您需要在区段定位标记中包括大量的内容。包括不足的内容会造成投放相关性不高的广告或公益广告 (PSA)。

虽然,我还没有完全确定这次展示相关性差的广告就铁定是区段定位造成的,如果,我去掉了区段定位一周时间内,广告的相关性有了明显的提高。那么,我可以得出下面的几点推论:

1、如果我上面的猜测正确的话,正如我在不要排斥广告这篇日记中认为的那样,以搜索技术为基础的相关性广告的投放确实是一个对:“广告发布商,google,adsense参与者,用户”四者都有益的;虽然,普通的博客想靠adsense糊口基本上是不可能的。

2、同样,如果猜测正确的话,那么我可以说,普通的博客挂google adsense广告不要使用区段定位技术。因为,一般的博客写的文章都比较短,都没有特意的去注意一些“关键词密度”之类的。所以,你写的内容就有可能不能驱动google为你投放你心目中相关性较高的广告,从而造成浏览者对在你网页上展示的广告不感兴趣而不会点击。

3、如果我的猜测正确的话,也证明了那些想通过过滤低价广告而想在网站上展示高价广告的做法是对收益无效的。原因有三:

1)、低价广告太多了,你过滤得完吗?

2)、你以为google是傻子吗?不接受他给你的酸桔子,他就能送你一个红苹果?

3)、就算是你如愿以偿,google在你的网页上展示了高价的广告(一般是英文广告),可是,你的浏览者会感兴趣点击吗?(作弊除外,不过听说google对这种行为的惩罚极为严厉 🙁 )

所以,与其花时间去过滤广告,还不如多花点时间把内容做丰富、做好,看的人多,google也会展示相关的、对浏览者有用有兴趣的广告,我想,这才有可能使你的网页为你带来多一点的收益。

4、我在网上曾看到有的朋友对wordpress作了“理想的SEO”,其中就好像有加入区段定位技术。我觉得应该慎重使用。如果发现使用了之后,造成广告的相关性没有提高,反而明显降低,那么,估计你就该取消你的“google adsense 区段定位”了。

关于取消区段定位后,本博客google adsense广告相关性的变化会在稍后的时间里补充,也许会有更改的地方。希望有经验的朋友能够指点一二。谢谢。

最后,祝天下的老师们节日快乐,天天快乐 🙂

在博客添加与朋友更好交流的通道:del.icio.us 和在线阅读器订阅

受文章不用SEO取得成功的10个步骤的启发:

6、添加社会媒体应用服务
你可以增加一些类似del.icio.us或Stumple Upon的书签收藏服务。。。

在博客上添加了del.icio.us网摘的 link rolls (链接列表)、tagrolls(标签列表)和 daily blog posting(网摘每日博客提交) 和 在线阅读器订阅。

下面简单的说一下我使用这两个功能的步骤。

一、 del.icio.us

1、在del.icio.us上申请一个帐号,在您的浏览器中安装相应的插件,如:firefox的插件:del.icio.us/help/firefox/extension ,IE的插件:del.icio.us/help/ie/extension

2、link rolls和tagrolls的使用。

link rolls用来把您的网摘在网页上分享给大家。

登录您的帐户,在右上角的 settings中的link rolls进行相应的设置,拷贝相应的代码到您要显示网摘列表的网页。

这里有一个技巧,因为del.icio.us的服务可能拖慢您的网页,可以把这个代码写在一个单独的页面上,再在要显示的地方用<iframe>标签嵌入代码。我的代码如下:

<html>
<head>
<title>my del.icio.us</title>
<base target="_parent">
</head>

<body bgcolor="#FFFFFF">
<div style="font-size: 13px">
<script type="text/javascript" src="http://del.icio.us/feeds/js/learndiary?tags;count=15;title=my%20del.icio.us;icon;name;showadd" mce_src="http://del.icio.us/feeds/js/learndiary?tags;count=15;title=my%20del.icio.us;icon;name;showadd"></script>
<noscript><a href="http://del.icio.us/learndiary" mce_href="http://del.icio.us/learndiary">my del.icio.us</a></noscript>
</div>
</body>

</html>

其中的<base target="_parent">一定要加上,不然窗口就在<iframe>框架内打开,原因参见:CodeAve.com/HTML - Base Target。改成target="_blank"新开一个窗口。

然后在需要显示link rolls的地方用<iframe>调用上面的页面:

<IFRAME border="0" marginWidth="0" marginHeight="0" src="/my-includes/delicious.htm" frameBorder="0" width="630" height="400" scrolling="no" ></IFRAME>  

tagrolls是把您在delicious中网摘的标签列在网页,用法类似link rolls。我把这个标签列表放在页面标签云中,跟我的博客上的标签云放在一起。

3、daily blog posting的使用。

daily blog posting是把您的网摘每日自动提交到您的博客上成为一篇日记。支持的博客程序: Movable Type, Typepad, WordPress等等。我的是wordpress。

在settings的daily blog posting中add a new thingy,参数含义如下:(摘改自:在blogbus中如何使用delicious的“daily blog posting”功能?

job_name填写你blog名字就可以了,实际上随便填;
out_name;out_pass是你blog的用户名和密码;
out_url填写你在bus的blog的xmlrpc地址,类似于http://www.learndiary.com/xmlrpc.php;
out_time是GMT时间,GMT时间在中国大陆因为是8时区,所以我们的本地时间减去8就是了,如我填的是20,意思是本地时间早上4点提交;
out_blog_id如果你在delicious只输出一个blog的话填1,空着也可以;
out_cat_id可以不填,是你输出的分类编号;然后就等着del.icio.us每天设定的时间朝您的博客自动发送您的网摘列表吧。不过,从已经发过的几篇自动提交的日记来看,基本上是4:20左右发过来的,从del.icio.us中daily blog posting的log记录来看,应该是del.icio.us系统延迟的原因。使用的示例:links for 2007-09-01

二、在线阅读器订阅:
可以供对我的博客感兴趣的朋友用各种RSS在线阅读器订阅。
我试验了一下Feedburner,发现服务不太稳定,原因可以参考一下月光博客的这篇发布RSS Feeds的方法再思考,但大多数朋友好像都使用的这个,就保留了Feedburner的feed服务。哦,如果您的feedburner出现乱码,参看一下这篇文章:FeedBurner乱码解决方法

不知怎么一回事,用wordpress自带的feed地址在有的在线阅读器也有些工作不正常。

最后,我试用了Feedsky,感觉不错,它在一个feed地址的页面集成了常用在线阅读器的订阅,并且可以用这个地址作为本地RSS阅读器的订阅地址。见下截图:

Feedsky服务截图

于是,我的订阅服务是几种都摆在侧边栏底部,如下:

订阅

其中后面两条是订阅我的del.icio.us的网摘和网摘标签的。在您的del.icio.us页面有相应的链接。前者就在您的bookmarks的底部,后者忘了地方。

垃圾评论太多了,Akismet插件也应接不暇

spam太多了,Akismet插件也应接不暇。

刚开始使用Akismet插件的时候,我还庆幸“使用后感觉不错,今天就截获10多条垃圾评论,无一错杀和漏网 🙂”,可现在,我对Akismet能否挺得住表示怀疑了。

除开我自己的评论,有效的评论率可能1~2%,绝不部分都是老外发的spam,每天都有10条左右,也许是Akismet网站太忙了(好像是全世界使用这个插件的每条评论都要先到它的网站报到接受检查),有些明显的spam(像包括几十个链接这种)也被漏报了。

不过,我设置的是评论用户的第一条评论都要检查一下,以后同一用户的评论就不必检查了。所以,没有一条丑陋的spam得以在我的公开页面漏面。

这个wordpress博客使用有1个月了吧,大概就有200个spam。除开我自己的和我邀请的,真正是来访网友的评论也就大概3条。

还有一次,Akismet把我登录后写的一条带一个链接的评论给当成spam挡住了。

像我这样的博客尚且如此多的垃圾评论,那些稍微有点名的博客一天的垃圾评论不知道又是多少呢 🙂 ,我在当心Akismet能否挺得住全世界这么多wordpress博客中的垃圾评论的轰炸 🙁

那种用发垃圾评论宣传网站的方式好像早已经列入搜索引擎打击的对象,Google黑板报明确的给出了答案:远离自动产生的链接。这篇文章也在google中国官方的谷歌中文网站管理员博客于8/15/2007 08:20:00 上午由博客主人: “谷海一粟”再次重复,相当于这个问题在google中国两大官方网站都加以强调了。难道,他们就没有真正的评估一下得失吗?

诚然,你假设发了10000条垃圾评论,得以公开漏面的假设1000条,而用户点击你的链接恐怕就少得可怜,因为大家都已经有免疫力了;就拿合法的广告来说,一般的点击率也就1%(我的google广告更低),你垃圾评论的点击率估计也就0.1%,也就是发了10000条垃圾评论,最后只有1个链接到达你的站。而你公开漏面的1000条垃圾评论,搜索引擎就不会惩罚你的这些链接吗?据我的经验,一个网站的流量大部分来自搜索引擎。而这些,你算过损失吗?而且,不包括你发垃圾评论的电费、网费、电脑磨损费等等。还有,不包括你和你网站的社会形象问题。

还有,像我这样使用wordpress之类的系统,因为这类系统大多在评论的链接中自动加入了类似“rel="nofollow"”之类的标记,这是告诉搜索引擎遇到这个超级链接就停止,不要把它当作是一个有效的投票,发了也白发。

建议这方面的SEO专家做一个“关于垃圾评论损益的可行性研究报告”,针对各种网站(包括只想赚钱的垃圾站、想N年赚钱的站、公益站、门户站、产品站、博客、论坛等等)的。我想,把这个报告弄好,发表出来,不知道应该有多红 🙂

另外,建议世界主要的搜索引擎联合开发一个像Akismet这类的巨型spam链接数据库并开发相应的功能调用接口,各种网站管理系统(cms、bbs、blog等)都可以开发挂接到这个数据库的插件,让这类垃圾链接失去存在的空间了。

ps: 我是不是对SEO感兴趣了呢 ❓

wordpress+盘古,不错的blog系统

使用wordpress+盘古的blog系统可能有半月了吧。总的来说,感觉二者的组合是好用的blog系统,不错的blog系统。

wordpress的blog程序的强大我最有感触的几点是:
1)、模板、插件应有尽有;
2)、功能完善,定制容易,如果自己不满意某个地方,您尽可以在它的代码随意修改;
3)、权限设置、私人日记、受密码保护日记的功能很贴合我的需要;

盘古的虚拟空间我最有感触的几点是:
1)、功能完备,使用方便,所有的网站管理功能(域名绑定、数据库建立和管理、文件管理、备份、访问统计等等)基本上都可以在他们的cPanel控制面板动动鼠标就搞定;

2)、售后服务比较迅速,我提在他们的在线问答上的问题能及时响应;

3)、提供的.htaccess支持使我的新老URL都能顺利访问,并且有利于搜索引擎优化

我还感到比较满意的一点是:二者在我的linux控制台下基本上都能方便的使用,我原来还想,wordpress的功能这么完备,在文字模式的linux控制台下不知能不能写日记啊?可现在,我目前发现除了文件的上传功能我在linux控制台下的w3m浏览器不支持IFRAME而不能使用外,其它所有功能都工作得很棒。呵呵,这篇日记就是我在linux控制台下写的。而盘古的cPanel本来就是工作在他们的linux下的,在我的linux控制台下使用起来当然是流畅极了:)。一句广告语:wordpress + 盘古,powered by linux,it's OK!

当然,世间之事怎么能完美?!在半月内,我也碰到过两三次网站短时间不能访问的情况,但这是正常之极,我也不以为怪。况且,盘古的系统也很便宜,100块一年的,像我这样的博客足足有余了。当然,如果您的博客红得像“老徐”的博客,那就另当别论了:)

一句话:wordpress+盘古,不错的blog系统!