折腾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路径与twhirlEchofon(原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同步等。
  • 集成了对移动设备提供友好界面的插件。
  • 其他等等详见上面的发布说明。

Update:StatusNet现在已转为GNU social项目开发,原来的链接和指导都已失效。

OpenMicroBlogging

折腾StatusNet(原laconica),搭建个人微博平台》有61个想法

  1. 飘风 文章作者

    能否说明一下你安装的版本和问题的具体症状?

  2. snake

    换了个空间,什么问题也解决了…

    还是用0.8.2版本稳定点.现在研究拓展功能,附件不能用。

  3. 飘风 文章作者

    @snake
    唉,StatusNet的要求的确不简单,有啥最新收获,不要忘了回来分享一下,并祝折腾愉快!

  4. 飘风 文章作者

    暂时没发现比较大的交流论坛站点,在国内的应用还不是很广泛,出现问题参考官方的文档慢慢折腾了,慢慢摸索后还是能解决问题的,StatusNet对服务器组件要求比较高。

  5. 爱好者

    tidy 扩展不装行不行?或者装 0.8.2之前的 在升级到最新版?

  6. 飘风 文章作者

    我没有安装过0.8.2,不知道到底行不行,打算0.9正式版发布后,再开始折腾!

  7. Wally

    楼主你好,我也是搭建了StatusNet平台,可是如何设置管理员呢?进行诸如删除用户和发言的操作。还有我在进行用户注册时不填Email地址可以进行注册,但是一旦填了就出现数据库的错误:Database error :An important error occured, probably related to email setup. Check logfiles for more info.. 是不是邮件配置的问题,请教怎么解决?
    我在网上也有查找这些解决方式,都没有具体的操作,麻烦你了!

  8. 飘风 文章作者

    抱歉,最近比较忙,没怎么上线,首先可以确定的是,目前StatusNet没有“管理后台”,这是官方的说明,开发者正在完善(未测试0.9是否有此功能)。所以对用户等的管理,除了直接操作数据库外,我也不知道有没其他方法。
    对于出现的邮件问题,你安装的StatusNet版本号是多少?应该是一个已解决的BUG,见: http://status.net/trac/ticket/1710 , 服务器缺少sendmail的缘故,StatusNet对服务器的要求比较高。
    我安装成功后,也没有折腾太多,打算等0.9正式版发布后,时间充裕的情况下再来看看。

评论已关闭。