折腾StatusNet(原laconica),搭建个人微博平台
自从开始嘀咕,就喜欢上了微博,可某市发生了那点事后,国内微博集体“维护”了,没使用Twitter,就考虑到早晚会被墙在外面,觉得选择国内的服务比较稳定一点,这下玩笑开大了,饭fou、做sha、嘀gu,叽wai等几个站点相继“维护”,考虑到blogger被封后,发现了WorePress这个伟大的博客软件,那微博是否有相应的软件呢?这个时候看到了月光博客的这篇文章:http://www.williamlong.info/archives/1875.html,介绍了几个流行的开源微博程序。
考虑到虚拟主机上,最方便的还是PHP+MySQL的组合,锁定StatusNet,随着了解的深入,就越来越喜欢这个平台。因为微博的特性,如果不同站点微博用户间无法相互“订阅”、“跟随”,其意义就大打折扣了,StatusNet通过支持OpenMicroBlogging来实现不同 StatusNet-base 站点用户的相互“订阅”,是一个开放平台,
目前采用 StatusNet 最大的微博站点是http://identi.ca/ ,在http://status.net/wiki/ListOfServers列出了采用StatusNet搭建微博平台的网站列表.
现在开始我的折腾历程,从官网http://status.net下载最新的软件后,上传到空间statusnet目录下,运行http://example.net/statusnet/install.php ,即可完成安装(需要先为StatusNet建立好数据库),输入数据库信息和站点名等,确定后会生成一个config.php文件,不过内容较少,最好自己修改源码里的config.php.sample。
StatusNet并没有admin管理帐号和页面,所有StatusNet的配置都是通过config.php完成,可以设定是否允许用户自由注册、站点主题、xmpp信息、是否开启SMS等信息,这种方式对用户体验而言,的确不太友好,好在config.php.sample比较简明,注释清晰。
这是我在折腾时碰到的问题:
1,微博空间名字是中文,显示为乱码,原来是在配置http://example.net/statusnet/install.php 时,如果站点名输入中文,则config.php的编码为gb2312,StatusNet无法正确识别,将config.php转为UTF-8编码后,中文便能正确显示,这的确是StatusNet的一个不够“智能”的体现。
2,不同站定用户的相互订阅问题,开始没太明白 “Profile URL”,其实就是StatusNet每个用户的主页,比如“http://identi.ca/getea ”,在一个StatusNet站点上点击“Subscribe”,“User nickname”为想订阅对象的用户名,比如想订阅http://identi.ca/getea,其用户名为getea,“Profile URL”就为自己StatusNet站点的个人主页,比如“http://example.net/statusnet/goday ”,哎,开始自己弄混了,以为全是自己StatusNet站点的信息,也是因为没认真看说明和帮助文档。
下面是还未解决的问题:
1,无法用我站点上用户的Profile URL去订阅其他StatusNet站点的用户,提示信息为“Couldn’t get a request token.”,折腾了半天config.php,也未能解决,不知道是不是虚拟主机不支持某些PHP函数,找个时间再好好折腾一下。
2,不同站点间的用户无法通过 “@”发送消息,不清楚是我设置的问题,还是目前本来就不支持。
下面再谈谈StatusNet的可扩展性:
StatusNet采用了类Twitter的 API,这使得StatusNet获得了丰富的第三方软件支持,在官方wiki有详细的描述,包括PC端软件、手机软件、SMS、IM、E-Mail等,还可以把消息同步到Twitter(在配置文件config.php中添加““$config['twitter']['enabled'] = true;”配置项,用户登录StatusNet后,可以在“Connect”下看到“Twitter”标签,即可绑定Twitter帐号)。http://status.net/wiki/Apps列举了兼容StatusNet的第三方软件。
StatusNet API路径与twhirl和 Echofon(原TwitterFox)配置为StatusNet客服端
- StatusNet的API路径实际是你安装目录再加”api”目录路径,比如这里安装在“http://example.net/statusnet”下面,你的API路径就是“http://example.net/statusnet/api”。
- twhirl配置,选择“laconi.ca”账户类型,输入“账户名@StatusNet安装路径”,比如“test@example.net/statusnet”,记住,这里不能加“api”路径,twhirl会自动加上”api“路径。
- Echofon配置,在Echofon插件安装目录下找到“nsTwitterFox.js”文件,如果不知道Firefox的插件安装路径,就直接搜 索“nsTwitterFox.js”这个文件,打开这个文件,将“TWITTER_API_URL”这个变量的值换成你的API地址,比如这里 的“http://example.net/statusnet/api/”,需要注意的时,这里需要加”api“目录路径,而且要带上“/”,保存,重启Firefox后,就可以使用你的StatusNet账号登陆了。
我使用了基于AIR跨平台的 twhirl l来测试,安装前需要先安装AIR,打开后的界面如下图所示:

选择laconi.ca类型,后面输入 “用户名@StatusNet站点地址 ”,比如“ getea@identi.ca ”,点击“+”后添加到上面的列表,选中刚才添加的帐号,-> “Connet”,输入密码,就登录到下面的窗口了:

在这个控制窗口可以完成发送消息,收藏消息等操作,支持快捷键,很容易使用。
更多StatusNet详细信息请访问http://status.net/和http://status.net/wiki获取。
Update: 2010.3.5
StatusNet刚刚发布了0.9.0正式版,具体说明见:StatusNet 0.9.0 Released,部分改善如下:
- 基于Web的管理页面。
- 在0.8.x版本中的部分核心功能,现在以插件的形式集成,比如OpenID、Twitter同步等。
- 集成了对移动设备提供友好界面的插件。
- 其他等等详见上面的发布说明。
OpenMicroBlogging

statusnet对服务太苛刻了,我现在用得是0.8.0,不敢用0.8.2,因为需要tidy拓展,国内的服务器商很吝啬,什么都不肯干,只能用0.8.0. 最近打算尝试api,出现了部分config的内容加入后,主页变空白的情况。不知道怎么解决,还在继续学习,先试试连接twiiter,然后再试试其他,向博主学习。附,最近被国内的主机商折腾的累了,听说MT主机不错,不知道博客怎么看?
api是在statusnet的目录下安装什么东西,还是要修改什么文件?
The database for utalk isn’t responding correctly, so the site won’t work properly. The site admins probably know about the problem, but you can contact them at to make sure. Otherwise, wait a few minutes and try again.
这个是我设置了config后,在绑定twiiter的出现得问题,您看是什么问题。
还有文件也不能上传。
@YUJEU
同学我看你已经研究出怎么用api来发信息了,你研究出怎么和twiiter连接了吗?你用的国外的服务器?
@andy
StatusNet的要求的确比较苛刻,国内虚拟主机服务商一般也不会因为部分客服的要求,而来增加服务器的功能的。我用的是国外的主机,关键不喜欢国内的备案等管制,我觉得这些要求的目的似乎不是为了杜绝互联网的垃圾~~~,MT的虚拟主机在业内名誉应该是相当的高吧,非常的稳定,可惜就是价格有点贵,不过一个账号开几个网站是完全没问题的;
我也算是一名初学者,目前还在摸索中,很多也是“尝试性”的去配置,有机会共同探讨吧,由于目前的时间不是很充沛,所以现在折腾的不多;
和Twitter的绑定以及API的使用见正文中API的描述,API路径实际是通过Rewrite功能实现的,对于你配置出现的问题我也不清楚具体的原因(数据库的问题是不是没有给当前用户所有权限?),可能还是某些组件缺失导致的吧,有条件你可以本地用XAMPP调试(最好也是在Linux下),找出问题。
求教。我成功安装了。为什么用google浏览器访问就上面显示一段
This page contains the following errors:
error on line 198 at column 12: Opening and ending tag mismatch: html line 0 and noscript
Below is a rendering of the page up to the first error.
然后下面正常显示页面呢???
然后用IE7浏览就不会报错呢?
我怀疑是tidy的问题,但不知道怎么解决,望指教!
@snake
你用的什么版本的StatusNet?有用过Firefox或者Opera的浏览器测试吗?我的StatusNet 0.8.1在Linux下的Chrome访问是正常的,看描述似乎应该是javascript的兼容性报错,具体对照你的文件参考一下,应该会有结果。
@飘风
我用的是0.8.2 ,又用Firefox测试了下,确实有问题,而且不能显示页面
了。错误信息意思跟Chrome一样,
XML Parsing Error: mismatched tag. Expected: .
Line Number 208, Column 3:
–^ tag不匹配?只能IE访问的话,很不爽.
不知道跟我的空间强制插入广告有没有关系,
另一种思路是关闭tidy模块的检测功能!
貌似0.8.2开始多了tidy这个东西,不知道怎么去了…
唉,继续折腾………
@snake
这个肯定是你空间广告的原因了,StatusNet本身不会有这个问题,可能插入的广告脚本只能支持IE,找一个没有广告的免费空间再尝试一下吧!
确认了广告问题,换了个空间,问题又来了,其他都正常,但是我发现发送消息后是不能直接显示出来的,要按刷新才出现。。。。是不是哪里没设置呢?
我看别人的是动态显示的。
换了0.9.0版本重装完,空白,什么也没有……..
@snake
是不需要设置的,你是在Windows还是在Linux主机上安装?而且最好全新安装,如果不能正常使用,一般都是缺少某些组件,而且在Linux下的稳定性相比在Windows下要好些。
tidy拓展
我的就是在这一步卡住了.都不知道怎么回事
能否说明一下你安装的版本和问题的具体症状?
换了个空间,什么问题也解决了…
还是用0.8.2版本稳定点.现在研究拓展功能,附件不能用。
@snake
唉,StatusNet的要求的确不简单,有啥最新收获,不要忘了回来分享一下,并祝折腾愉快!
这个软件就中文交流的地方吗.出了问题都不知道去哪儿解决.
暂时没发现比较大的交流论坛站点,在国内的应用还不是很广泛,出现问题参考官方的文档慢慢折腾了,慢慢摸索后还是能解决问题的,StatusNet对服务器组件要求比较高。
tidy 扩展不装行不行?或者装 0.8.2之前的 在升级到最新版?
我没有安装过0.8.2,不知道到底行不行,打算0.9正式版发布后,再开始折腾!
楼主你好,我也是搭建了StatusNet平台,可是如何设置管理员呢?进行诸如删除用户和发言的操作。还有我在进行用户注册时不填Email地址可以进行注册,但是一旦填了就出现数据库的错误:Database error :An important error occured, probably related to email setup. Check logfiles for more info.. 是不是邮件配置的问题,请教怎么解决?
我在网上也有查找这些解决方式,都没有具体的操作,麻烦你了!
抱歉,最近比较忙,没怎么上线,首先可以确定的是,目前StatusNet没有“管理后台”,这是官方的说明,开发者正在完善(未测试0.9是否有此功能)。所以对用户等的管理,除了直接操作数据库外,我也不知道有没其他方法。
对于出现的邮件问题,你安装的StatusNet版本号是多少?应该是一个已解决的BUG,见: http://status.net/trac/ticket/1710 , 服务器缺少sendmail的缘故,StatusNet对服务器的要求比较高。
我安装成功后,也没有折腾太多,打算等0.9正式版发布后,时间充裕的情况下再来看看。
我用的DreamHost提供的Status.net一键安装和官方的单用户子域名,可以订阅其它节点用户的更新和通过@回复。
原来如此啊 不过最后一点还是有点疑惑…..
这个微薄还没有听过呢 好多人都用新浪的腾讯的
看起来有点复杂!
新手飘过,学习了。
帮忙指导下我的网站www.shengu.org