开源文件实验室关闭

”开源文化试验室“是我于2009年09月29日基于一个临时的构想:”弄个开源文化实验室玩玩“而从简搭建的,并于2010年12月10日作了进一步简化,现在决定彻底关闭”开源文化试验室“。因其间也有数位朋友参与,特此感谢并致歉,发布此则信息也算一个通知。此通知置顶一月。若有任何未尽事宜,请发邮件至:dashing.meng(AT)gmail(DOT)com。谢谢。

手工升级 Ubuntu Dapper Server 到 Hardy

我的博客学习日记这两年一直都是架在一台赛扬 1.3G + Ubuntu Dapper (6.06)的服务器上,因为安装更新一个程序才发现所有源取消了(试了官方和mirrors.163.com 的),dapper server 的安全更新支持于前一段时间结束(服务器版本5年)。所以将其升级为 Ubuntu Hardy (8.04)。下面记录一些关键之处。 Continue reading "手工升级 Ubuntu Dapper Server 到 Hardy"

调查访问学习日记博客速度

朋友,您好。感谢您访问“学习日记”博客。为了能把本博客运行得更顺畅,特向各位调查您访问本博客的速度如何,具体请您在本调查的评论中提供以下信息:

1、地区?如:四川
2、网络类型?如电信、铁通、网通、教育网、大陆以外某个网,等等
3、首次完全打开首页( http://www.learndiary.com/ )大概多少秒?比较准确的测试是首先清除浏览器的缓存(如:firefox 里面清除最近历史记录选择全部清除如果你不介意的话),然后看着秒表计时(难为各位了 🙂 );
4、整个博客综合速度感观评价(包括:非常快、快、一般、慢、非常慢)?具体的测试方法就是随便点开几个页面,从总体对比互联网上大多数网站的综合速度感觉。

例如:四川,铁通,7秒,一般

另外,本博客的评论需要人工检查才会通过。谢谢。

Ubuntu 6.06下 Apache 转 Nginx

原来一直用动态IP(Oray.comDnspod.com )在一台老机上(赛扬1.2G)使用 Ubuntu 6.06 + LAMP 运行 Uchome 和 Doku Wiki ,因为流量在200~300个PV,而且好像 Uchome 的缓存设计可能比较好,所以运行一年多也没管。前几天网站换回自己原来的个人的 WordPress 博客,用 Apache2 简直就维持不下去了。听说,Nginx 服务器适合低配置机器,于是,这几天把 WEB 服务器换成了 Nginx + PHP5-CGI。下面简要的小结一下。
Continue reading "Ubuntu 6.06下 Apache 转 Nginx"

开源文化实验室正式运行,下一步做什么?

从决定弄个开源文化实验室玩玩的2009年9月29日开始,到今天的12月23日,弄了近三个月时间,中间也走了一些弯路(是误入岐途还是勇于探索?),耽误了一些时间,但总算把原来想像中的开源文化实验室的框架基本搭起了。开源文化实验室也可以算是正式运行了。 Continue reading "开源文化实验室正式运行,下一步做什么?"

Apache虚拟主机对网站目录或特定文件进行访问控制的小结

这个问题的学习起因于前几天一个叫Mike的马来西亚的ip连续几天往我的博客里灌垃圾评论。一天大概10条,每条大概5屏那么多内容。我用的Akismet反垃圾评论插件还是需要人工核实一下看错杀没有,而且,几乎一半的垃圾评论都会漏掉。我的博客垃圾评论不多,一天就20条左右。一般的短的垃圾评论一分钟就处理了。可那个Mike的垃圾评论太长了。于是,我只好封了他的ip了。几天过去了,再没见他的垃圾评论了。下面说一下我在这个问题上的一些心得小结。

我用的虚拟主机是盘古的linux+cpanel主机,在cpanel控制面板有一个功能叫“IP Deny Manager”,在里面把你要禁止访问你的网站的ip加进去就行了。如果要封一个IP段,把IP段的开始部分填上。如封1.2.3.*这个IP段的所有IP,就填1.2.3.。如果要封来自一个网站的访问,就填上这个网站的域名,系统自动把域名解析成IP再填进禁止列表。如果不作进一步的深研,你要禁止一个IP也就到此为止了。但是我还朝前走了几步。

那么cpanel控制面板是怎么实现对IP的禁止的呢?答案是它把配置信息添加进了网站根目录的.htaccess文件中。假如我禁止了两个IP,1.2.3.4,1.2.3.5,那么cpanel在.htaccess文件的最后添加了下面一段内容:

<Files 403.shtml>
order allow,deny
allow from all
</Files>

deny from 1.2.3.4
deny from 1.2.3.5

相应基础知识请查看我的网摘在apache下实现网站目录的访问控制(links for 2007-10-07)。这里要特别提一下<Files>片断的意思,上面这个片断的意思是允许任何人(包括后面被禁止了的IP)都可以访问403.shtml这个403出错文件。这个403.shtml你可以在cpanel的相应功能中编辑,可以返回给被禁止IP的用户。我的内容是:

Sorry, your IP is forbidden. If you aren't a spams spreader, please contact me with this email: mdx-xx#tom.com(change # to @ for email). Thanks.

被我误禁止IP的朋友可以用其中的邮件和我联系。

另外,同理,如果你想对特定文件名的文件进行访问控制,如禁止IP 1.2.3.4 访问文件test.html,可以再在前面的<Files>...</Files>加上一个片断如下:

<Files test.html>
order allow,deny
allow from all
deny from 1.2.3.4
</Files>

意思是除了IP 1.2.3.4 外,所有人都可以访问系统中名为test.html的文件,片断中间的order指明allow和deny起作用的顺序,如上面,因为“order allow,deny”中deny在allow后面,所以deny就会排除掉allow中允许的IP 1.2.3.4 了。详情见上提的网摘。这里还要特别注意的是,写在这个根目录.htaccess的文件名的设置会对各级目录中相同的文件起作用!例如,在根目录下有个子目录中包含了名为test.html的文件,那么这个文件同样是除了IP 1.2.3.4 不能访问外其余人都可以访问。

写在子目录中的.htaccess文件中的访问控制配置以此类推。

实际上,cpanel的一些配置管理就是通过操作根目录下的.htaccess文件进行的。如:转向设置。所以,如果你同时用手工在对这个文件进行操作的话,在cpanel的操作结束后,最好检查一下你的这个文件。以防止冲突。

Apache的配置功能非常灵活和强大,上面的这点知识只是一点皮毛。

下面是两点存疑:
1、我在上面网摘中的文章中看到可以把域名直接写在.htaccess文件中,从而禁止对应域名的IP。但是我试了一下,手工把域名加进禁止列表如“deny from adomain.com”,并不能实现对这个域名所在IP的禁止。我是通过一个代理服务网站来做测试的。不知道这个是什么原因?是cpanel的虚拟主机对这个直接写域名的方式不允许吗?

2、如何在顶级目录的.htaccess中实现对特定目录的访问控制?如实现对/test/subdir目录的访问控制?我知道可以在/test/subdir目录放一个.htaccess文件的实现方法,但是在根目录下的.htaccess文件中怎么实现呢?我也知道一个叫<Directory>的片断应该可以实现这个的,但是没有进一步去学习了,存疑于此。

如果我的日记中有什么错漏的话,请朋友提示一下。谢谢。

祝贺大家中秋节快乐!

记几则朋友的中秋节手机短信,也以此送给朋友们:

1、

鲜花,或雅或艳,总栽在盆里;月亮,或圆或缺,总挂在天上;情谊,或远或近,总握在手中;朋友,见或不见,总在心中。祝您及家人国庆中秋快乐!

2、

装一袋阳光两把海风,自制了几斤祝福,托人到美国买了些快乐,法国买了两瓶浪漫,从心灵的深处切下几许关怀,作为礼物送给你,祝中秋节快乐。

3、

万里长城永不倒,向你问声早上好!春风已过万门关,祝你工资翻一番!每逢佳节倍思亲,每月都能拿奖金!桂林山水甲天下,存折塞满枕头下!

学习日记(http://www.learndiary.com)是2004年中秋节上线的,已经满3周年了。也顺便祝贺一下 🙂

在博客添加与朋友更好交流的通道: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的底部,后者忘了地方。